0
這是使用Prolog的我的第一次,我想知道是否有人能夠給我一些建議。我的邏輯:Prolog的父母關係規則
male(jerry).
male(stuart).
male(warren).
male(peter).
female(kather).
female(maryalice).
female(ann).
brother(jerry,stuart).
brother(jerry,kather).
brother(peter, warren).
sister(ann, maryalice).
sister(kather,jerry).
parent_of(warren,jerry).
parent_of(maryalice,jerry).
這是一個家庭作業的一部分,我們只能使用上述事實。爲了知道沃倫和瑪麗愛麗絲也是斯圖爾特和凱瑟的父母,需要實施一些規則。我所做的是:
parent_of(X,Y) :- brother(Z,Y), parent_of(X,Z).
parent_of(X,Y) :- brother(Y,Z), parent_of(X,Z).
parent_of(X,Y) :- sister(Z,Y), parent_of(X,Z).
parent_of(X,Y) :- sister(Y,Z), parent_of(X,Z).
查詢parent_of(X,Y)在序言中使用上述規則和事實都讓我與X =沃倫,Y =斯圖爾特和X的遞歸值無限循環= maryalice,Y =斯圖爾特。
任何意見將不勝感激。謝謝!
非常感謝您的幫助!如果可以,我會使用不同的查詢,但我特別要求查詢parent_of .. – arkanitez