最短経路問題

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Luckas-bot (会話 | 投稿記録) による 2011年11月15日 (火) 12:51個人設定で未設定ならUTC)時点の版 (r2.7.1) (ロボットによる 追加: th:ปัญหาวิถีสั้นสุด)であり、現在の版とは大きく異なる場合があります。

グラフ理論における最短経路問題(さいたんけいろもんだい、Shortest path problem)とは、与えられた重み付きグラフの2つのノード間を結ぶエッジの中で、最小の重みを持つ経路を求める問題である。

特定の2つのノード間の最短経路問題を2頂点対最短経路問題と呼ぶ。

特定の1つのノードから他の全ノードとの間の最短経路問題を単一始点最短経路問題と呼ぶ。この問題を解くアルゴリズムとしては、ダイクストラ法ベルマン-フォード法がよく知られている。

グラフ内のあらゆる2ノードの組み合わせについての最短経路問題を全点対最短経路問題と呼ぶ。この問題を解くアルゴリズムとしては、ワーシャル-フロイド法が知られている。

このような分類がされているのは、後者の問題が単に前者の問題を初期条件(ノード)を変えて繰り返し解くのではなく、アルゴリズムの過程で得た情報を利用して計算量を減らすことが可能となるからでもある。

最短経路問題の身近な応用例には、鉄道の経路案内(駅すぱあと駅探NAVITIMEなど)がある。駅をノードとし、駅と駅の所要時間を重みとしたエッジとして、鉄道線路をグラフ化して最短経路を求めている。

類似の問題として、グラフ内の全ノードを通る最短経路を求める巡回セールスマン問題があるが、こちらはNP困難であることが知られている。

現在の理論上最速の単一始点最短路問題(SSSP)を解くアルゴリズムダイクストラ法データ構造