比方说,我有男性人口威廉姆斯和天行者家族的血统作为我的知识基础:序言:如何获得最古老和最年轻的血统
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)'一样,一遍又一遍;你应该小写这些名字或者没有什么有趣的事情会发生。 –
对不起,我已修复大写字母。 –
把名字放在引号内也起作用:“父亲('阿纳金','卢克','天行者')。 –