Prolog图表示缺少事实

时间:2018-08-27 19:03:42

标签: prolog

我在Prolog中有一个带有边的图。我将图表示为一组序言事实。哪里s(a,b,2). = b是a的后继者。这是我在这张图中的序言部分。

Graph rep

事实:

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”。有人可以向我解释一下吗?谢谢

1 个答案:

答案 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).部分丢失。