Come definire una regola relativa in Prolog?
-
22-07-2019 - |
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!
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