在Clingo 5.0.0中,我正在测试一些涉及算术的程序,我不明白为什么下面的程序是不能满足的:
#const v = 1.
a(object1).
a(object2).
b(object3).
value(object1,object2,object3) = "1.5".
value(X,Y,Z) > v, a(X), a(Y), b(Z), X!=Y :- go(X,Y,Z).我期望得到一个包含: a(object1) a(object2) b(object3) go(object1,object2,object3)的答案。
关于克林戈的算术,我可能有点怀念。
发布于 2021-04-14 09:40:41
我担心这里对ASP有很多误解。
value(a,b,c)=1.5)。谓词构成原子,它可以是对的,也可以是假的(包含在一个答案集中)。。
您的问题可能是这样的,但这只是在黑暗中摸索:
#const v = 1.
a(object1).
a(object2).
b(object3).
value(object1,object2,object3,2).
go(X,Y,Z) :- value(X,Y,Z,Value), Value > v, a(X), a(Y), b(Z), X!=Y.最后一条规则是:如果go(object1,object2,object3)为value(object1,object2,object3,2),2 > 1和a(object1)为true,a(object2)为true,b(object3)为true,则为object1 != object2。
https://stackoverflow.com/questions/67072002
复制相似问题