1

ロボットが深さ優先探索アルゴリズムを使用して迷路を横断し、ターゲットに到達する Java でロボット迷路を作成しています。これはループのない迷路では問題なく機能しますが、ループが導入されるとアルゴリズムは失敗します。ルーピーな迷路で深さ優先検索を機能させる方法はありますか? もしそうなら、どうやってそれを行うのですか?

この迷路には 2 つの個別の実装があります。1 つは各ジャンクションを記録して配列に格納し、もう 1 つはスタックを使用して新しいジャンクションをプッシュし、そのジャンクションの探索が終了したらポップします。これらの実装のいずれかを使用したソリューションは許容されます。

4

1 に答える 1

4

訪問したノードをマークしそれらを「追加の」壁として扱う必要があります。

そうすれば、検索ループを回避できます。ただし、最短パスは見つかりません。

詳細については、ダイクストラのアルゴリズムを参照してください。さらに高度な指示付きバージョンについては、A* 検索を参照してください。難しい迷路では、それはあなたに多くの利益をもたらすべきではありません. A* はオープン エリアの方が興味深いです。

于 2012-12-03T09:20:10.233 に答える