【问题标题】:How to define a variable domain to be non-continuous range如何将变量域定义为非连续范围
【发布时间】:2013-05-06 08:41:41
【问题描述】:

我从 SICStus Prolog 开始,我想定义一个变量,比如 StartingTimes,以拥有一个由列表 [1, 5, 10] 定义的域

如何在 SICStus Prolog 中进行操作?

我会这样做:

 domain(StartingTimes, 1, 10)
 StartingTimes #= 1 #\/ StartingTimes #= 5 #\/ StartingTimes #= 10

但这太可怕了。必须有一个简单的方法来做到这一点。也许fd_sets

注意:我试图找出它是如何手动完成的,但序言使用了常用词,并且很难使用 google。

【问题讨论】:

    标签: prolog constraint-programming clpfd sicstus-prolog


    【解决方案1】:
    ?- use_module(library(clpfd)). 
    ?- StartingTimes in {1,5,10}.
    

    【讨论】:

    • 谢谢!这就是我一直在寻找的。​​span>
    猜你喜欢
    • 2012-01-15
    • 1970-01-01
    • 2022-11-07
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 2013-01-17
    • 1970-01-01
    相关资源
    最近更新 更多