0

我是 prolog 的新手,想得到一些建议。

我有一些事实:

male(tom).
male(james).
male(john).
female(elly).
female(joanne).
female(evonne).
brother(john,tom).
brother(john,joanne).
sister(elly,joanne).
parent_of(evonne,john).
parent_of(james,john).

parent_of是否可以在不使用sisterand的情况下定义规则brother

4

1 回答 1

0

首先你应该有一些parent_of事实作为亲子关系的核心。然后您可以通过将某人作为孩子或父母附加到其中一个事实来扩展这种关系。siblings/2因此,如果要附加孩子,则需要使用规则,如果要附加父母,则需要使用规则couples/2

%如果你想通过“兄弟姐妹”关系附加一个孩子
parent_of_rule(X, Y) :-
        parent_of(X, Z),
        兄弟姐妹(Z,Y)。
%如果你想通过“夫妻”关系附加父母
parent_of_rule(X, Y) :-
        parent_of(Z, Y),
        夫妇(X,Z)。

我认为parent_of_rule不使用第三方关系就不可能制定规则。

于 2013-04-06T06:25:32.787 回答