比方說,我有男性人口威廉姆斯和天行者家族的血統作爲我的知識基礎:序言:如何獲得最古老和最年輕的血統
father(phil,tom, williams).
father(tom, bob, williams).
father(bob, robert, williams).
father(robert, steve, williams).
father(anakin, luke, skywalker)
father(luke, finn, skywalker)
father(finn, andrew, skywalker)
father(andrew, charles, skywalker)
我可以使用哪些規則知道年紀最大和最小在血統?
例如
?- oldestYoungest(skywalker,X,Y)
應該返回
X = anakin
Y = charles
你有什麼試過?我不得不指出,Prolog變量是以大寫字母開頭的,所以你的知識庫基本上和'父(X,Y,Z)'一樣,一遍又一遍;你應該小寫這些名字或者沒有什麼有趣的事情會發生。 –
對不起,我已修復大寫字母。 –
把名字放在引號內也起作用:「父親('阿納金','盧克','天行者')。 –