Domanda

Come definire una regola relativa in Prolog?

Questo è quello che ho ottenuto finora:

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.

Grazie in anticipo!

È stato utile?

Soluzione

Beh, per cominciare, penso che tu debba riscrivere relative (X, Y) come:

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

Da lì abbiamo bisogno di ulteriori informazioni (lo modificherò per aggiungere alla mia risposta se ne avremo di più). Inoltre, puoi darci le tue regole antenate ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top