Prolog图表表示缺少事实
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prolog图表表示缺少事实相关的知识,希望对你有一定的参考价值。
我在Prolog中有一个带边的图形。我将图表表示为一组序言事实。例如s(a,b,2).
= b是a的继承者。以下是此图表的prolog事实。
事实:
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”只有2个分支“e”和“g”。有人可以向我解释一下吗?谢谢
答案
我们可以例如以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).
部分失踪了。
以上是关于Prolog图表表示缺少事实的主要内容,如果未能解决你的问题,请参考以下文章