Question

Comment définir une règle relative dans Prolog?

Voici ce que j'ai obtenu jusqu'à présent:

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.

Merci d'avance!

Était-ce utile?

La solution

Eh bien, pour commencer, je pense que vous devez réécrire relatif (X, Y) comme:

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

À partir de là, nous avons besoin de plus d’informations (je les éditerai pour les ajouter à ma réponse si nous en obtenons plus). De plus, pouvez-vous nous donner vos règles ancêtre ?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top