数年ぶりにA*アルゴリズムを実装したので、まとめなおしておきます。何回かじっくり読むとようやく理解が出来てきました。基本的にそんなに難しくないアルゴリズムです。 概要 「A*アルゴリズム」は、A-Star(エースター)と読み、パス探索アルゴリズムの一つです。 ノードネットワーク上にスタート地点とゴール地点を結ぶパスが存在すれば、最悪でもそのパスの存在を確認できるアルゴリズムです(見落とすことがない)。 内容はシンプルな再帰計算で、コスト計算の部分にヒューリスティックと呼ばれるパラメータがあり、その算出アルゴリズムを変更することにより、各種アプリの状況に応じた高速化と最適化が望めます。 2007-07-16 修正 「A* - Wikipedia」の擬似コードを見ていたら、自分の書いたコードでは最適なルートを計算しない可能性があることが分かりましたので修正しました。下記のC++的擬似コード内で
![A*アルゴリズムまとめ - octech](https://cdn-ak-scissors.b.st-hatena.com/image/square/a15539aa380d144f660939d2ca42505305906998/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Foctech%2F20070712%2F20070712192452.jpg)