0

如何在 Prolog 中定义相对规则?

这是我到目前为止得到的:

spouce(X,Y) :-
    wife(X,Y).

spouce(X,Y) :-
    husband(X,Y).

relative-by-blood(X,Y) :-
    ancestor(Z,X),
    ancestor(Z,Y).


relative(X,Y) :-
    relative-by-blood(X,Y).

relative(X,Y) :-
    spouce(X,Y).

relative(X,Y) :-
    relative-by-blood(X,Z), %<- not sure what to do here.

提前致谢!

4

1 回答 1

1

好吧,对于初学者,我认为您需要重写relative(X,Y)为:

相对(X,Y):- 相对血型(X,Y);配偶(X,Y)。

从那里我们需要更多信息(如果我们得到更多信息,我将进行编辑以添加到我的答案中)。另外,你能告诉我们你的ancestor规则吗?

于 2009-09-18T15:48:23.760 回答