resolve(K, K, _) :- writeln('finished'). %goal state
resolve(CurrentState, GoalState, Path) :-
suc(_, CurrentState, NextState, GoalState),
append(Path, [CurrentState], NextPath),
resolve(NextState, GoalState, NewPath).
私は現在このアルゴリズムを持っており、正常に動作します。私はこのように実行しています:
resolve(0, 10, Path).
Path
の値は
Path = []
これは起こるべきことではありません。パスには、アルゴリズムが通過した一連の「状態」が含まれている必要があります。何が問題なのですか?