Salut j'ai ce problème que je ne peux pas résoudre. Je suis une recrue Prolog et j'ai vu une tonne de ces exemples d'arbres généalogiques, mais aucun ne semble résoudre mon problème.Boucles non bouclées boucles
Dire que j'ai
son(X, Y) :-
\+daughter(X, Y),
father(Y, X).
father(Y, X) :-
male(X),
son(X, Y).
et je l'appelle l'un d'entre eux, il va et vient entre les conditions parce que chacun satisferait le précédent, ce qui entraîne donc une erreur de pile locale.
La plupart semblent recommander la suppression de l'une des définitions, mais je dois répondre aux requêtes père et fils. S'il vous plaît, aidez, cela semble si simple, mais je ne peux pas le comprendre. Comment puis-je me casser après une boucle une fois?
TIA
merci! très utile –