【发布时间】:2016-03-17 02:53:05
【问题描述】:
我正致力于在 prolog 中创建一个家谱。当我拜访姐妹或兄弟时,我遇到了麻烦。我得到的结果是正确的,其中 julie 是 mike 的妹妹,julie 是 amanda 的妹妹,amanda 是 mike 的妹妹,amanda 是 julie 的妹妹。但是会发生什么而不是在那里结束,如果我继续按“n”键,它将再次循环返回结果。为什么会这样?
parent(pete,mike).
parent(pete,julie).
parent(pete,amanda).
parent(mary,mike).
parent(mary,julie).
parent(mary,amanda).
female(mary).
female(julie).
female(amanda).
male(mike).
male(pete).
mother(X,Y):-
parent(X,Y),
female(X).
father(X,Y):-
parent(X,Y),
male(X).
sibling(X,Y):-
parent(Z,X),
parent(Z,Y),
X\=Y.
sister(X,Y):-
sibling(X,Y),
female(X).
brother(X,Y):-
sibling(X,Y),
male(X).
【问题讨论】:
标签: prolog family-tree