更好地理解序言

问题描述

我正在尝试了解 Prolog 及其使用的解析算法。我找到了这个例子:

hates(1,2).
hates(2,3).
hates(3,4).
jealous(A,B) :- jealous(A,C),jealous(C,B).
jealous(A,B) :- hates(A,B).

但是当我试图说 jealous(1,4) 时,它会不断溢出并且永远不会产生真,这很奇怪,好像 1 讨厌 2,2 讨厌 3,3 讨厌 4,那么 1 也应该讨厌 4。

>

但是我尝试改变它,所以它是这样的:

hates(1,B).

然后当我说 jealous(1,4) 时它起作用了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)