使用Eclipse prolog并假设我有一个变量X和X必须小于已知的数字N.为此我可以写:
X #< N
因此,每当X被实例化为大于N的数字时,上面的暂停谓词就会失败。
但是,如果我的计数器C从0开始,在搜索期间会增加,如果超过N则会失败?
例如,如果我想跟踪从域中选择值的次数,并且约束永远不会超过N次,该怎么办?我不能这样做,因为Counter C被实例化为0并使用其他变量进行递增(C1是C + 1)。
我必须用纯prolog做吗?像这样:
pred(X, N):- X1 is X+1, X1<N, pred(X1, N)
答案 0 :(得分:1)
OP在这里。我找到了我要找的东西。它是一个基数约束,并在eclipse prolog的ic全局库中实现。