A*アルゴリズム(読み)えーすたーあるごりずむ

日本大百科全書(ニッポニカ) 「A*アルゴリズム」の意味・わかりやすい解説

A*アルゴリズム
えーすたーあるごりずむ

グラフ上の最短経路を探すアルゴリズムの一つ。たとえば、カーナビゲーションや乗換案内の経路探索などでは、全解探索をすれば最短距離はみつかるが、計算量が膨大になることが多いので、効率的に計算することが求められる。さらに、探索結果が最短距離であることを保証する必要がある。

 古典的には構造化プログラミングの提唱者ダイクストラEdsger Dijkstra(1930―2002)が考案したダイクストラ法があるが、A*はその改良版といえる。ノードnからゴールまでの距離の見積りとしてh(n)というヒューリスティック関数を用いて、探索を効率化する。たとえばカーナビゲーションの場合には、地点nとゴールの間の直線距離ユークリッド距離)などに使える。ヒューリスティック関数の見積りが完全で、h(n)が経路の真の距離を与えてくれる場合は探索なしに解を求めることができ、逆になんの見積りもなく、h(n)がつねに0の場合は最悪でもダイクストラ法と同じになる。

[中島秀之 2019年7月19日]

出典 小学館 日本大百科全書(ニッポニカ)日本大百科全書(ニッポニカ)について 情報 | 凡例

今日のキーワード

お手玉

世界各地で古くから行われている遊戯の一つ。日本では,小豆,米,じゅず玉などを小袋に詰め,5~7個の袋を組として,これらを連続して空中に投げ上げ,落さないように両手または片手で取りさばき,投げ玉の数や継...

お手玉の用語解説を読む

コトバンク for iPhone

コトバンク for Android