私の本には、幅優先検索用の次の疑似コードがあります。
function breadth_first_search:
begin
open := [Start]
closed := [];
while open != [] do
begin
remove leftmost state from open, call it X;
if X is a goal then return SUCCESS
else begin
generate children of X;
put X on closed;
discard children of X if already on open or closed;
put remaining children on right end of open;
end
end
return FAIL;
end
これらの疑似コードの指示に従って、同様のアルゴリズムを自分で実装しました。私の質問は、ソリューション パスを維持するように変更する最も簡単な方法は何ですか?
解決策にたどり着くことができるということを単純に知ることは、解決策にたどり着くまでの遷移のリストを持つことほど役に立ちません。