我需要定义一个谓词 acyclic/1 ,它将一个图作为输入并确定该图是否是非循环的。所以根据我的理解
graph1(a,b).
graph1(b,c).
graph1(c,a).
将返回 no 和
graph2(a,b).
graph2(b,c).
将返回是
我做了一个谓词来确定图中的 2 个节点是否连接,如果连接,它们将返回是。
isConnected(X,Y) :- a(X,Z), isConnected(Z,Y).
有没有办法可以使用它来确定图形是否是非循环的?
我不想使用任何预定义的谓词。