我刚刚开始学习PROLOG,我被赋予了在家谱中创建阿姨/叔叔关系的任务。阿姨可以使用姐妹关系创建,但是,必须在没有它的情况下创建叔叔关系。
目前的谓词是:男性,女性,父母 &安培;到目前为止创建的规则是:父亲,母亲,祖父,祖母,姐姐
这是我到目前为止所拥有的:
sister(Sister,Individual):-
female(Sister),
parent(X,Sister),
parent(X,Individual),
Sister \= Individual.
aunt(Aunt, Individual):- sister(Aunt, X), parent(X, Individual).
如何在不使用兄弟的情况下创建叔叔关系?我理解父母(父母(个人))==父母(叔叔),但考虑到我目前的关系,我该怎么说呢?
提前感谢您的帮助!
答案 0 :(得分:2)
我不认为自己是Prolog最好的,但我相信这会奏效。请评论任何可能不正确的内容,我会解决它!
我们知道以下内容:
因此,我们可以按如下方式定义规则:
uncle(Uncle, Individual) :-
male(Uncle), % The uncle must be male.
parent(X, Individual), % Assume there's some parent of the individual, X.
parent(Y, Uncle), % Assume there's some parent of the uncle, Y.
parent(Y, X). % Y must be the parent of X.