グラフ理論 における最短経路問題 (さいたんけいろもんだい、英 : shortest path problem )とは、重み付きグラフ の与えられた2つのノード 間を結ぶ経路 の中で、重みが最小の経路 を求める最適化問題 である。
2頂点対最短経路問題
特定の2つのノード間の最短経路問題。一般的に単一始点最短経路問題のアルゴリズムを使用する。
単一始点最短経路問題 (SSSP:Single Source Shortest Path)
特定の1つのノードから他の全ノードとの間の最短経路問題。この問題を解くアルゴリズム としては、ダイクストラ法 やベルマン-フォード法 がよく知られている。
全点対最短経路問題 (APSP : All Pair Shortest Path)
グラフ内のあらゆる2ノードの組み合わせについての最短経路問題。この問題を解くアルゴリズム としては、ワーシャル-フロイド法 が知られている。
このような分類がされているのは、後者の問題が単に前者の問題を初期条件(ノード)を変えて繰り返し解くのではなく、アルゴリズムの過程で得た情報を利用して計算量を減らすことが可能となるからでもある。
アルゴリズム
計算量
作者
幅優先探索
O
(
E
)
{\displaystyle O(E)}
最短経路の距離は部分構造最適性が成立しており、下記漸化式が成立する。証明は『アルゴリズムイントロダクション』(ISBN 978-4764904088 )などを参照。
V
{\displaystyle V}
が頂点、
E
{\displaystyle E}
が辺、
c
(
s
,
v
)
{\displaystyle c(s,v)}
が辺の重み、
d
i
s
t
(
s
,
v
)
{\displaystyle \mathrm {dist} (s,v)}
が最短経路の距離。
s
,
v
,
w
∈
V
{\displaystyle s,v,w\in V}
。
w
≠
s
{\displaystyle w\neq s}
。
d
i
s
t
(
s
,
s
)
=
0
{\displaystyle \mathrm {dist} (s,s)=0}
とおく。
d
i
s
t
(
s
,
w
)
=
min
{
d
i
s
t
(
s
,
v
)
+
c
(
v
,
w
)
∣
(
v
,
w
)
∈
E
}
{\displaystyle \mathrm {dist} (s,w)=\min\{\mathrm {dist} (s,v)+c(v,w)\mid (v,w)\in E\}}
が成立する。
単一始点の場合
c
(
s
,
v
)
=
1
{\displaystyle c(s,v)=1}
なら幅優先探索 が、
c
(
s
,
v
)
≥
0
{\displaystyle c(s,v)\geq 0}
ならダイクストラ法 が、そうでないならベルマン-フォード法 が使える。
辺の重みが非負値の2頂点対最短経路問題で、最短経路の距離の下限値が分かっている場合はA* を使うと、ダイクストラ法 よりも速く求まる。
最短経路問題の身近な応用例には、鉄道の経路案内(駅すぱあと 、駅探 、NAVITIME など)がある。駅をノードとし、駅と駅の所要時間を重みとしたエッジとして、鉄道線路をグラフ化して最短経路を求めている。
最短経路とは逆の問題で、最長単純道 問題もある。最短経路の場合は、最短経路の部分問題もやはり最短経路であるが、最長単純道の場合、部分構造最適性が成立しておらず、貪欲法 などで解くことが出来ない。辺の重みなしであっても、NP完全問題 である。
Ahuja, Ravindra K.; Mehlhorn, Kurt; Orlin, James; Tarjan, Robert E. (April 1990). “Faster algorithms for the shortest path problem” . Journal of the ACM (ACM) 37 (2): 213–223. doi :10.1145/77600.77615 . hdl :1721.1/47994 . http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA194031 .
Bellman, Richard (1958). “On a routing problem”. Quarterly of Applied Mathematics 16 : 87–90. doi :10.1090/qam/102435 . MR 0102435 .
Dantzig, G. B. (January 1960). “On the Shortest Route through a Network”. Management Science 6 (2): 187–190. doi :10.1287/mnsc.6.2.187 .
Leyzorek, M.; Gray, R. S.; Johnson, A. A.; Ladew, W. C.; Meaker, S. R., Jr.; Petry, R. M.; Seitz, R. N. (1957). Investigation of Model Techniques — First Annual Report — 6 June 1956 — 1 July 1957 — A Study of Model Techniques for Communication Systems . Cleveland, Ohio: Case Institute of Technology