0

AIコースの問題を解決しており、PythonでBFSアルゴリズムを使用してグラフ検索を実装する必要があります。私の実装は実際に解決策を見つけますが、それはあまりにも多くのノードを拡張します。答えは269ノードを拡張する必要があると言っていますが、私は275を取得しました。

訪問したノードを追跡するために、辞書を使用します。キーは展開された状態であり、値は1です。ノードのサクセサを取得したら、それらがディクショナリに存在するかどうかを確認します。はいの場合、私はこの後継者を無視します。そうでない場合は、フリンジ(キュー)にプッシュします。このプロセスにより、すでにアクセスしたノードの拡張が妨げられると思いましたが、そうではないようです。

誰かが私にこれについてのヒントを与えることができますか?私が欲しいのは何がうまくいかないかについての考えだけなので、コードは必要ありません。

前もって感謝します。

4

1 に答える 1

2

進むべき情報はそれほど多くありませんが、次のことがあなたの問題だと思います。ノードがフリンジキューに追加されたらすぐに、訪問先ディクショナリにノードを追加する必要があります。それらにアクセスするまで(つまり、フリンジキューの先頭に到達するまで)待つと、同じノードがフリンジキューに2回存在する可能性があります。

また、訪問した辞書に開始ノードを追加することを忘れないでください。

于 2012-10-07T00:38:18.187 に答える