私はunifromコスト検索アルゴリズムを実行しています。ソリューションが実際よりも少し大きくなっています。拡張されたノードの数は実際よりも多くなっています。
私はこのアルゴリズムを使用しました:
初期ノードを取得して優先キューに入れます。P.queue自体がコストに応じてノードを配置します。低コストのノードが最初に来ます。
whileループを使用すると、キューが空になるまで続きます。
キューからノードを削除し、それが目標状態であるかどうかを確認します。そうでない場合は、訪問者リストにあるかどうかを確認してください。訪問済みリストは、すでに展開されているすべてのノードを含むセットです。訪問者リストに含まれていない場合は、コストとアクションとともに後継者を取得します。
このノードまでのコストを計算します。
サクセサのコストが親ノードのコストよりも大きい場合は、それをキューに追加し、このサクセサが親ディレクトリにあるかどうかを確認します。そうでない場合は、パスをバックトラックできるように、彼を明らかにします。
私のアルゴリズムは正しいですか、それとも何か他のものをチェックする必要がありますか?