【发布时间】:2020-06-04 23:47:34
【问题描述】:
您如何定义母亲/父亲/姐妹/兄弟关系,以便断言sister(bart, maggie) 使?- female(maggie) 评估为真?
我正在研究一个玩具家庭关系问题。这就是我所拥有的:
parent(bart, homer).
parent(bart, marge).
parent(lisa, homer).
parent(lisa, marge).
male(homer).
male(bart).
female(marge).
female(lisa).
mother(X,Y) :- female(Y), parent(X,Y).
father(X,Y) :- male(Y), parent(X,Y).
sister(X,Y) :- female(Y), father(X,F), father(Y,F), mother(X,M), mother(Y,M), X/=Y.
我希望能够做到以下几点:
sister(bart, maggie).
?- female(maggie).
% expect yes
即支持“常识”定义,如果您断言 maggie 是 bart 的妹妹,我们知道 maggie 是女性,同时仍然根据我已经拥有的父母/性别断言获得 sister(bart, lisa) 为真。
【问题讨论】:
-
所以写一个规则来支持这个推论。请注意,如果某人既被明确断言为女性又被断言为某人的妹妹,您将有两种方式证明她是女性。
标签: prolog