如何使用prolog查找X和Y之间是否存在边?

时间:2016-12-04 20:55:52

标签: graph prolog

我很难确定两个点X和Y之间是否存在边。我的图如下所示:

edge(a, c, 2). 
edge(b, e, 2).
edge(d, e, 1).
edge(c, d, 2).
edge(a, b, 2). 
edge(a, d, 3).
edge(b, a, 1).
edge(a, a, 2).

我在许多其他场景中做过以下尝试

connected(X,Y):- 
  edge(X,Y,_).
connected(X,Y):-
  edge(X,Z,_),
  connected(Z,Y).

...但是,即使我输入明显不应该返回false的错误数据,一切都会保持原样。以下是一些例子:

188 ?- connected(a,c).
true .

189 ?- connected(a,x).
true .

190 ?- connected(b,x).
true .

我做错了什么?

0 个答案:

没有答案