我正在对图节点使用prompt
中的clingo
运行数据记录规则,以检查共享相同直接祖先的节点,如下所示:
jupyter notebook
这给了我两个simetric对
ancestor(A,B).
ancestor(A,C).
sibs(X,Y) = ancestor(Z,X), ancestor(Z,Y), X!=Y.
如何限制同胞的产生仅具有这两个结果之一?
答案 0 :(得分:1)
设法找出问题所在。为了确保您不会同时返回两个结果,请更改此值:
sibs(X,Y) = ancestor(Z,X), ancestor(Z,Y), X!=Y.
对此:
sibs(X,Y) = ancestor(Z,X), ancestor(Z,Y), X<Y.