2013-02-24 9 views
5

私は、ロボットが迷路の中にいて、そこをナビゲートしなければならない仮想ロボット(ComputerCraft mod for MinecraftのTurtles)を使ってプロジェクトを進めています。世界は既にタイルに分割されています(それぞれの2Dカルテシアングラフ、それぞれにブール値の可/不可値があります)。トンネルを構築しているロボットは、移動中にそれらをマップします。遠隔操作による経路探知

さらに、ロボットがそれらの間をすばやく移動する必要がある領域には、テレポータ「ショートカット」が散在しています。

質問は次のとおりです。ロボットを目的地まで誘導するにはどうすればよいですか?テレポーターを必要とする領域をシステムがどのように特定していますか? A *は最も有名なアルゴリズムですが、アプリケーションに適したアルゴリズムがありますか?私はpathfindingアルゴリズムの経験がほとんどないので、理解するために基本的な用語に分解しなければならないかもしれないことに留意してください。助言がありますか?

+3

なぜ*最初に試してみて、それがどのように実行されるのか見てみませんか? –

+0

私は確かに可能ですが、ハックなしでテレフォンターのような "ショートカット"を取っていないと思います。アルゴリズムの仕組みをもう少し詳しく見ていく必要があります。 – Schilcote

+0

何のハックですか?私はA *が長さゼロの辺でうまくいくと思う。私は興味がある。 –

答えて

2

A *を使用する場合の唯一の問題は、問題のadmissible heuristicを見つけることです。幸いにも、これはすでにhereと答えられています。

テレポーターが必要な領域をシステムがどのように特定しますか?

これは、カメの実際の移動先によって異なります。彼が常に同じスタート/エンドポイントに移動している場合、その答えは簡単です:開始時にテレポートを追加して終了します。より複雑な設定では、これはNPハードであると私は推測します。もし真実ならば、global-optimization strategiesを調べなければなりません。(またはランダムな位置をとり、最良のものを取ってください)

関連する問題