0
我试图定义的“我的朋友的朋友就是我的朋友”,在序言中的规则,我有以下代码:序言陷入无限循环
friends(john,jake).
friends(mike,hans).
friends(hans,robert).
friends(robert,angela).
mutual_friendship(X,Y):-
friends(X,Y);
friends(Y,X).
friendship(X,Y):-
mutual_friendship(X,Y),!;
mutual_friendship(Y,Z), friendship(Z,X).
而且它确实是非常好,它能够通过汉斯和罗伯特发现迈克和安吉拉之间的友谊,问题是当我试图找到约翰和安吉拉之间的友谊时,例如,谁没有联系,但程序陷入无限循环。
我明白你在说什么,但鉴于已定义的朋友,想必这条规则将匹配任何人?有些事情不正确。 – 2013-05-12 16:18:38
但你现在可以做友谊(迈克,安吉拉)。 ? – 2013-05-12 17:22:31
答案更新 – 2013-05-12 22:01:55