如何在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.
提前致谢!
答案 0 :(得分:1)
嗯,对于初学者,我认为您需要将relative(X,Y)
重写为:
relative(X,Y) :- relative-by-blood(X,Y) ; spouce(X,Y).
从那里我们需要更多信息(如果我们得到更多,我会编辑添加到我的答案)。另外,您能否提供ancestor
规则?