0

私はunifromコスト検索アルゴリズムを実行しています。ソリューションが実際よりも少し大きくなっています。拡張されたノードの数は実際よりも多くなっています。

私はこのアルゴリズムを使用しました:

初期ノードを取得して優先キューに入れます。P.queue自体がコストに応じてノードを配置します。低コストのノードが最初に来ます。

whileループを使用すると、キューが空になるまで続きます。

キューからノードを削除し、それが目標状態であるかどうかを確認します。そうでない場合は、訪問者リストにあるかどうかを確認してください。訪問済みリストは、すでに展開されているすべてのノードを含むセットです。訪問者リストに含まれていない場合は、コストとアクションとともに後継者を取得します。

このノードまでのコストを計算します。

サクセサのコストが親ノードのコストよりも大きい場合は、それをキューに追加し、このサクセサが親ディレクトリにあるかどうかを確認します。そうでない場合は、パスをバックトラックできるように、彼を明らかにします。

私のアルゴリズムは正しいですか、それとも何か他のものをチェックする必要がありますか?

4

1 に答える 1

2

プライオリティ キューを使用してDijkstraを実装しているようです。しかし、コストは均一なので、BFSで十分でしょう。

于 2010-07-22T18:57:05.317 に答える