关系中的无限循环?

时间:2016-03-13 22:33:57

标签: prolog

我将举一个简单的例子来说明我的问题。

假设我有一个像这样的简单知识库:

connected(scotland,england).
connected(england, wales).

现在我想查询英格兰是否与苏格兰相连,因为谓词应该是真的,反之亦然,所以我添加这条规则:

connected(X, Y) :- connected(Y,X).

并且已连接(英格兰,苏格兰)返回True。

然而,像connected(a,b)之类的查询会在无限循环中编程。我不确定如何修改我的规则。

0 个答案:

没有答案