我正在尝试构建一个列表,列出数据库中两个人的所有朋友。我遇到的问题是我陷入无限循环。这就是我到目前为止所做的。
is_friends(From,To):- friend(From,To).
is_friends(From,To):- friend(From,Z), is_friends(Z,To).
这是我正在使用的数据库,
friend(christian,margaret).
friend(christian,jas).
friend(christian,todd).
friend(christian,ji).
friend(christian,geener).
friend(todd,christian).
friend(todd,susan).
friend(susan,todd).
friend(jas,christian).
friend(jas,geener).
friend(jas,clark).
friend(geener,christian).
friend(geener,jas).
friend(geener,ji).
friend(clark,pat).
friend(pat,mike).
friend(pat,clark).
friend(margaret,christian).
friend(ji,christian).
friend(ji,geener).
我想我想知道有没有办法让prolog记住我已经检查了一个数据库并可以转到下一个数据库?
这就是我的输出应该是什么样的
is_friends(From, To).
L = [christian, jas, clark).