2

考虑以下规则:

pyDatalog.create_atoms('X')
pyDatalog.create_atoms('Y')

pyDatalog.create_atoms('a')
pyDatalog.create_atoms('b')

b(X,1) <= (X<0)
b(X,Y) <= (X==1) & (Y>0)
a(X,Y) <= b(X,Y) & (X>0)

以及找到满足的约束的问题:a(X,1)

问题是:您可以使用 pyDatalog 来提出列表 [(X==1)] 吗?或 [(X>0), (X==1)]?

谢谢,

4

1 回答 1

2

不幸的是,至少在当前版本中不是:-)

pyDatalog 可以解决离散约束问题,而不是像您描述的那样的一般约束问题。pyDatalog 只能返回值,不能返回 X>0 之类的条件。

注意:您可以将前 4 个语句组合成一个语句:

pyDatalog.create_atoms('X, Y, a, b')
于 2013-05-02T21:44:20.473 回答