我在Prolog中有一个带有边的图。我将图表示为一组序言事实。哪里s(a,b,2).
= b是a的后继者。这是我在这张图中的序言部分。
事实:
s(a,b,2).
s(a,c,1).
s(b,e,4).
s(b,g,2).
s(c,d,1).
s(c,x,3).
s(x,g,1).
goal(g).
我在这里错过了一个事实吗? s(e,g,1).
g在哪里是e的后继者?还是在该节点上进行搜索,因为“ b”只有两个分支“ e”和“ g”。有人可以向我解释一下吗?谢谢
答案 0 :(得分:1)
例如,我们可以以breadth-first [Wiki]的方式枚举该图,从而确定边为:
s(a, b, 2).
s(a, c, 1).
s(b, e, 4).
s(b, g, 2),
s(c, d, 1).
s(c, x, 3).
s(e, g, 1).
s(x, g, 1).
goal(g).
如果我们看原始的源代码。 s(e, g, 1).
部分丢失。