最短路問題とは? わかりやすく解説

Weblio 辞書 > 学問 > OR事典 > 最短路問題の意味・解説 

最短路問題

読み方さいたんろもんだい
【英】:shortest path problem

概要

有向グラフの各長さ付与されネットワークにおいて, 指定され2点間の有向道の中最短長さをもつもの(最短路)を見出す組合せ最適化問題. ナップサック問題, PERT等様々な問題が最短路問題とも関係し, さらに, ネットワークフロー問題配送計画等のより複雑な問題の子問題として出現することも多い. ダイクストラ法ベルマン・フォード法等を用いて解くことができる. 無向グラフに対して同様に定義される.

詳説

 有向グラフG=(V,A)\, の各a\in A\, 長さl(a)\in \mathbf{R}\, 付与されているネットワークN=(G=(V,A),l)\, 与えられているとする. 有向グラフG\, 任意の2点s,t\in V\, に対して, 点s\, 始点とし点t\, 終点とする有向道P\, 長さl(P)\, P\, 上の長さ総和, \textstyle l(P)={\sum}_{a\in P}l(a)\, , と定める. 始点s\, から終点t\, への有向道P\, のなかで, その長さ最小にするもの(が存在すれば, それ)を点s\, から点t\, への最短路(shortest path)といい, 最短路を求め問題最短路問題 (shortest path problem) という. 与えられネットワークにおいて負の長さの有向閉路(負閉路と呼ぶ)が存在する場合には一般に最短路は存在しなくなる. ただし,負閉路を持つネットワーク上でも,初等的な(点を繰り返さない)道で最短なものを求め問題考えることもあるが,一般的には解くことが難し問題となる.

 最短路問題は組合せ最適化問題の中での最も基本的かつ重要な問題一つである. 例えば, ナップサック問題, PERT, 巡回セールスマン問題など様々な組合せ最適化問題が最短路問題とも関係し, 最短路問題において得られ知識はそれらの組合せ最適化問題解法にも影響与えている. また, 交通計画通信ネットワーク分野などでは最短路問題を利用し解析必要な基本データ算出している. さらに, ネットワークフロー問題, 配送計画問題ネットワークデザインなどのより複雑な問題対すアルゴリズムにおいて,子問題として最短路問題を解くことがしばしば要求され, その応用広範囲におよぶ ([2]).

 最短路問題に対して様々なアルゴリズム提案されている ([1, 6]). それらのアルゴリズムは, それが適用できるネットワーク種類から大きく二つ分類できる. 一つは, 負の長さ存在して適用できるアルゴリズムで, もう一つは, 負の長さ存在しない時にのみ適用できるアルゴリズムである.

 前者タイプアルゴリズムとしては, L. R. Ford [5] とR. E. Bellman [3] によって独立示されベルマン・フォード法(Bellman-Ford algorithm)(フォード・ベルマン法ともいう)が良く知られている. この方法では, p(s)=0, p(v)=+\infty\, (v\in V)\, なる点のラベルp\, 用意して, (u,v)\, に対してl(u,v)+p(u)<p(v)\, ならばp(v)\leftarrow l(u,v)+p(u)\, とおく.ここで,すべてのに対して1回ずつこの操作を行うことを基本操作としてラベル減少起る限り高々|V|\, 基本操作繰り返す基本操作|V|\, 繰り返され場合には負閉路検出されるそうでない場合には, 終了時得られラベルp\, によって,l(u,v)+p(u)-p(v)=0\, 満たす全体からなるG\, 部分グラフ中の点s\, から各点v\, への有向道が最短路を与える.なお,ベルマン・フォード法変種隣接2点間の距離行列べき乗同等見做される行列演算によって理解されるアルゴリズムとして,べき乗法(power method)も知られている. これらは{\rm O}(|V||A|)\, 時間アルゴリズムである.

 一方, すべての長さ非負時に,より高速最短路を見出すタイプ代表的なアルゴリズムとして, E. W. Dijkstra [4] によって提案されダイクストラ法 (Dijkstra's algorithm) が知られている.この方法では,出発点s\, からの(最短)距離が小さい順に最短路および(最短)距離が確定していく.初期ラベルP\, ベルマン・フォード法と同じで, アルゴリズム実行中に最短路が確定した点集合W\, とすると,p(v)\, (v\in W)\, は点s\, から点v\, への(最短)距離に等しく, l(u,v)+p(u)-p(v)=0\, である(u,v)\, 通ってW\, 内において点s\, から点v\, へ行く有向道が点s\, から点v\, への最短路である.W\, 内で最後に(最短)距離が確定した点をu\, として, l(u,v)+p(u)<p(v)\, なる各点v\in V-W\, 対しp(v)\leftarrow l(u,v)+p(u)\, とおき,V-W\, 中でラベル最小な点v\, を見つけてW\leftarrow W\cup\{v\}\, とおく.初期にはW=\{s\}\, である.ダイクストラ法{\rm O}(|A|+|V|\log|V|)\, 時間アルゴリズムとして実現可能である.

 ベルマン・フォード法ダイクストラ法など現在提案されている最短路問題に対すアルゴリズム本質的に始点s\, から全点までの最短路を同時に求める. 全点間の最短路を求めたい場合には, 1点から全点への最短路を求めアルゴリズム繰り返し適用し求めればよい.この場合, 負の長さ存在する場合には1点からの最短路問題を1回解いてすべての長さ非負等価変換することが可能であり, 基本的にダイクストラ法|V|\, 適用する手間で解くことができる.なお,全点間最短路問題の{\rm O}(|V|^3)\, 時間アルゴリズムであるワーシャル・フロイド法 (Warshall-Floyd algorithm) も知られている.

 最短路問題は有向グラフ上で定義されているが, 無向グラフ上の最短路問題を考えたい場合には, 各をそれと同じ長さ互いに逆向きの有向置き換えることにより, 有向グラフ場合帰着することができる.ただし,負の長さ存在する場合は, この帰着によって負閉路含まれるので, 通常の最短路問題には帰着されない


参考文献

[1] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, Network Flows: Theory, Algorithms, and Applications, Prentice Hall, New Jersey, 1993.

[2] R. K. Ahuja, T. L. Magnanti and J. B. Orlin, "Applications of Network Optimization," in Network Models, M. O, Ball, T. L. Magnanti, C. L. Monma and G. L. Nemhauser, eds., North-Holland, 1995.

[3] R. E. Bellman, "On a routing problem," Quarterly of Applied Mathematics, 16 (1958), 87-90.

[4] E. W. Dijkstra, "A note on two problems in connexion with graphs," Numerische Mathematik, 1 (1959), 268-271.

[5] L. R. Ford, Jr., "Network Flow Theory," Report P-923, Rand Corp., Santa Monica,1956.

[6] 久保田村松井 (編) 『応用数理計画ハンドブック』,朝倉書店,2002.

[7] アルゴリズムデータベース http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「最短路問題」の関連用語

最短路問題のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



最短路問題のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本オペレーションズ・リサーチ学会日本オペレーションズ・リサーチ学会
Copyright (C) 2024 (社)日本オペレーションズ・リサーチ学会 All rights reserved.

©2024 GRAS Group, Inc.RSS