Skip to main content
QUICK REVIEW

[論文レビュー] A Sidetrack-Based Algorithm for Finding the k Shortest Simple Paths in a Directed Graph

Denis Kurz, Petra Mutzel|arXiv (Cornell University)|Jan 12, 2016
Data Management and Algorithms参考文献 1被引用数 6
ひとこと要約

この論文は、有向グラフにおけるk個の最短単純パスを求めるための、新しいサイドトラックベースのアルゴリズムを提示する。単一の最短パス木を活用し、効率的なパス列挙により、良好な条件下では各パスあたりほぼ線形時間で処理を達成する。この手法は、ランダムおよび道路網グラフにおいて、既存のアルゴリズムと比較して最大10倍の高速化を達成し、実行時間の分散が著しく低く、予測可能な性能を示す。

ABSTRACT

We present an algorithm for the k shortest simple path problem on weighted directed graphs (kSSP) that is based on Eppstein's algorithm for a similar problem in which paths are allowed to contain cycles. In contrast to most other algorithms for kSSP, ours is not based on Yen's algorithm and does not solve replacement path problems. Its worst-case running time is on par with state-of-the-art algorithms for kSSP. Using our algorithm, one may find O(m) simple paths with a single shortest path tree computation and O(n + m) additional time per path in well-behaved cases, where n is the number of nodes and m is the number of edges. Our computational results show that on random graphs and large road networks, these well-behaved cases are quite common and our algorithm is faster than existing algorithms by an order of magnitude. Further, the running time is far better predictable due to very small dispersion.

研究の動機と目的

  • 有向で重み付きのグラフにおけるk個の最短単純パス(k SSP)問題に対して、より効率的かつ予測可能なアルゴリズムの開発を目的とする。
  • 最悪ケースにおいて高いオーバーヘッドを生じるYenのアルゴリズムや代替パス計算に依存しないこと。
  • 正しさとパスの単純性を維持しながら、最短パス木の計算回数とDijkstraの呼び出し回数を削減すること。
  • 良好な条件下では各パスあたりほぼ線形時間の処理を達成し、予測可能で分散の小さい実行時間を実現すること。
  • さまざまなグラフ密度や実世界の道路網において、NC や SB-r といった既存のアルゴリズムを上回る速度と頑健性を実現すること。

提案手法

  • アルゴリズムはソースから1つの最短パス(SP)木を構築し、それをサイドトラックベースのアプローチでパス列挙をガイドする。
  • 2つのバリアントを導入する:SB-r(各パスごとにSP木を再計算)とSB-o(SP木を再利用してパス列挙を最適化)。
  • Eppsteinのものに類似したパスグラフデータ構造を用いるが、単純パスのみを生成することを保証するように適応している。
  • ターゲットからの逆順のSP木に基づくノード分類(赤、黄、緑)を用いて、パスの単純性を効率的にチェックする。
  • Dijkstraの探索を(例:黄色ノードなど)関連するノードに制限することで、各パスあたりの計算時間を削減する。
  • 良好な条件下では、1回のSP木計算の後、追加でO(m+n)の時間でO(m)個の単純パスを達成する。

実験結果

リサーチクエスチョン

  • RQ1Yenベースや代替パス手法と比較して、サイドトラックベースのアルゴリズムは、k SSP計算をより高速かつ予測可能に達成できるか?
  • RQ2複数のパスにわたって1つのSP木を再利用することで、再計算のオーバーヘッドを考慮しても、合計計算時間を短縮できるか?
  • RQ3実世界の道路網において、グラフの密度とサイズが増加するに従い、このアルゴリズムの性能はどのようにスケーリングするか?
  • RQ4既存の手法と比較して、このアルゴリズムはDijkstraの呼び出し回数とノードのポール回数をどの程度削減できるか?
  • RQ5このアルゴリズムは、実行時間の分散を低く保つことができるか、これによりより良い性能予測が可能になるか?

主な発見

  • SB-oは、最大の道路網(フロリダ)においてNCの12倍速く、中央値の実行時間がNCの90百分位点を著しく下回る。
  • SB-oはNCと比較してDijkstraの呼び出し回数を桁違いに削減し、平均で中央値のポール回数が10倍も低い。
  • SB-oの90百分位(Q.9)の実行時間は、常に中央値の1.87倍以内に収まるが、NCは大規模なグラフにおいて比が6を超える。
  • ニューヨークではSB-oがNCの4倍速く、フロリダでは12倍速く、グラフ密度の増加に伴う性能劣化は最小限である。
  • SP木の効率的利用とノード分類による探索空間の制限のおかげで、実行時間は非常に予測可能で、分散が小さい。
  • スパarsなグラフではSB-oはSB-rの2倍速く、両者ともすべてのテスト対象のグラフサイズと密度において、NCを速度と頑健性の両面で上回る。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。