我将举一个简单的例子来说明我的问题。
假设我有一个像这样的简单知识库:
connected(scotland,england).
connected(england, wales).
现在我想查询英格兰是否与苏格兰相连,因为谓词应该是真的,反之亦然,所以我添加这条规则:
connected(X, Y) :- connected(Y,X).
并且已连接(英格兰,苏格兰)返回True。
然而,像connected(a,b)之类的查询会在无限循环中编程。我不确定如何修改我的规则。