我们得到一个图表,其中包含以下事实:
edge(a,b) edge(a,c) edge(b,a) edge(c,d) edge(d,d) edge(d,e) edge(e,f) edge(f,g) edge(g,e)
我们被要求定义一个规则,cycle(X)确定是否存在从节点开始的循环X.
cycle(X)
X
我真的迷失了如何做到这一点,我试图遍历节点并检查下一个节点是否会再次成为起始节点,但我似乎无法让它工作
directed-graph prolog
directed-graph ×1
prolog ×1