A*アルゴリズムで遊ぶ

遊んでみました。A*アルゴリズムってのはいわゆる最短経路探索アルゴリズムの一つでゲームプログラミングとかではよく利用されているとか何とか。某Gemsにも載ってたような気がします。他に有名な経路探索といえばダイクストラですが、A*の方が名前がかっこいいですよねぇ(ぇ。

で、何かAIの研究ページとかに載ってることもあるんですが何故でしょうか。誰か教えて。

  パターン1:まずは普通に

まあこんな感じで検索してくれるわけです。アルゴリズムが知りたい変態さんはソースを凝視するかGoogle先生に聞きましょう。
これがなかなか優秀なアルゴリズムで非常に柔軟性が高いです。例えば緑色の「毒の沼地」を追加してみました。

  パターン2:毒の沼地

ちゃんと沼地を避けてくれました。非常に優秀です。また、毒が不可避の場合もちゃんと良い経路を見つけてくれます。

  パターン3:毒の沼地・2

沼地を通ったほうが著しく近くなる場合はそっちを選ぶこともあります。

  パターン4:毒の沼地・3

パラメータを一部変えるだけで猛毒の沼地を作ることも出来ます。この場合は毒を避けていきます。

  パターン5:猛毒の沼地

ということでA*萌えー、と。結構どうしようもない結論ですね、ははは。
最後にエディタでも置いておきます。1分くらい遊んでね!

  えでぃた

青のスタート地点とオレンジのゴールを置いて右クリックで検索。あとは直感。