Prolog에서 상대 규칙을 정의하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1445338

  •  22-07-2019
  •  | 
  •  

문제

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.

미리 감사드립니다!

도움이 되었습니까?

해결책

글쎄, 우선, 나는 당신이 다시 작성해야한다고 생각합니다 relative(X,Y) 처럼:

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

거기에서 더 많은 정보가 필요합니다 (더 많은 정보를 얻으면 대답에 추가하기 위해 편집 할 것입니다). 또한, 당신은 우리에게 당신에게 줄 수 있습니까? ancestor 규칙?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top