Как определить относительное правило в Прологе?

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

  •  22-07-2019
  •  | 
  •  

Вопрос

Как определить относительное правило в Прологе?

Это то, что я получил до сих пор:

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.

Заранее спасибо!

Это было полезно?

Решение

Ну, во-первых, я думаю, что вам нужно переписать относительный (X, Y) как:

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

Оттуда нам нужно больше информации (я отредактирую, чтобы добавить в мой ответ, если мы получим больше). Кроме того, можете ли вы дать нам свои правила предка ?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top