resolve(K, K, _) :- writeln('finished'). %goal state
resolve(CurrentState, GoalState, Path) :-
suc(_, CurrentState, NextState, GoalState),
append(Path, [CurrentState], NextPath),
resolve(NextState, GoalState, NewPath).
J'ai actuellement cet algorithme, et il fonctionne comme il se doit. Je courais comme ceci:"Retour" une liste d'un prédicat dans Prolog
resolve(0, 10, Path).
Je sais avec certitude que l'algorithme fonctionne comme il se doit, il arrive à l'état de but, bien que la valeur de l » Path
est
Path = []
qui n'est pas Que devrait-il se passer? Chemin doit contenir la séquence des "états" dans lesquels mon algorithme a passé. Quel pourrait être le problème?