我在回覆列表時遇到了麻煩,我將如何返回與某個人相關的每個人的列表。因此,如果我說親屬(A,B),A就是一個人,B是與該人有關的所有人的名單。我可以編寫任何其他必要的規則來協助完成此操作。這是我到目前爲止。用Prolog找到所有親戚
man(joe).
man(tim).
man(milan).
man(matt).
man(eugene).
woman(mary).
woman(emily).
woman(lily).
woman(rosie).
woman(chris).
parent(milan, mary).
parent(tim, milan).
parent(mary, lily).
parent(mary, joe).
parent(mary, matt).
parent(chris, rosie).
parent(eugene, mary).
parent(eugene, chris).
cousins(A, B) :- parent(C, A), parent(D, B), parent(E, C), parent(E, D), not(parent(C, B)), not(parent(D, A)), A \=B.
paternalgrandfather(A, C) :- man(A), man(B), parent(B, C), parent(A, B).
sibling(A, B) :- parent(C, A), parent(C, B), A \= B.
有人可以指導我如何去做這件事嗎?謝謝。
您需要一個遞歸函數,該函數附加到遞歸中的結果。 – keyser