最短路問題とは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|動画|文献|商品|全文検索
Weblio 辞書 > 学問 > OR事典 > 最短路問題の意味・解説 

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は、下記のURLからアクセスしてください。
http://m.weblio.jp/
» モバイルで「最短路問題」を見る
_ _   


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

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

©2012 Weblio RSS