Skip to main content
QUICK REVIEW

[論文レビュー] Randomized Speedup of the Bellman-Ford Algorithm

Michael J. Bannister, David Eppstein|arXiv (Cornell University)|Nov 23, 2011
Complexity and Algorithms in Graphs参考文献 13被引用数 4
ひとこと要約

この論文は、各パスの前に頂点をランダムに並び替えることで、Yenの1970年アルゴリズムと比較して緩和ステップの期待値を3分の2に削減する、ベルマン=フォードアルゴリズムの確率的変種を提案する。この手法は高確率で $ mn/3 + o(mn) $ 回の緩和を達成し、高確率の境界を用いた効率的な負のサイクル検出を可能にする。

ABSTRACT

We describe a variant of the Bellman-Ford algorithm for single-source shortest paths in graphs with negative edges but no negative cycles that randomly permutes the vertices and uses this randomized order to process the vertices within each pass of the algorithm. The modification reduces the worst-case expected number of relaxation steps of the algorithm, compared to the previously-best variant by Yen (1970), by a factor of 2/3 with high probability. We also use our high probability bound to add negative cycle detection to the randomized algorithm.

研究の動機と目的

  • 負の辺を含むが負のサイクルを含まないグラフにおけるベルマン=フォードアルゴリズムの最悪ケース期待緩和ステップ数を削減すること。
  • すでに緩和ステップ数を半分に削減したYenの1970年アルゴリズムをさらに改善し、追加の3分の2の高速化を達成するために、頂点のランダムな並び替えを導入すること。
  • 効率的な負のサイクル検出を可能にする高確率実行時間境界を提供すること。
  • 長年にわたる最適化の歴史にもかかわらず、ランダム化が基本的なグラフアルゴリズムにおいて定数倍の高速化をもたらす可能性を示すこと。

提案手法

  • 各パスの開始時に頂点順序をランダムに並び替えて、辺の緩和順序を制御する。
  • Yenの2つのDAG分解法を適用するが、各パス内で頂点をランダムに並び替えた順序で辺を処理する。
  • 集中度の高確率境界を用いて緩和回数の期待値を分析し、最短経路が高確率で経路順に緩和されることを活用する。
  • 負のサイクル検出のため、$ n/3 + 1 + \sqrt{2cn\log n} $ 回の反復後に前駆点グラフ $ G_p $ にサイクルがあるかをチェックする。
  • 各頂点が $ G_p $ に高々1本の出次数を持つことを利用して、各反復で $ O(n) $ 時間で $ G_p $ 上でサイクル検出を実行する。
  • 高確率境界を用いて、密度の高いグラフ用のアルゴリズムを、誤差確率が $ 1/n^{c-1} $ 以下であるモンテカルロアルゴリズムに変換する。

実験結果

リサーチクエスチョン

  • RQ1頂点のランダムな並び替えが、既存の最適化を超えてベルマン=フォードアルゴリズムの期待緩和ステップ数を削減できるか?
  • RQ2ランダム化された変種における期待緩和ステップ数は何か? また、Yenのアルゴリズムと比較してどうなるか?
  • RQ3緩和回数の高確率境界を用いて、負のサイクルを効率的に検出できるか?
  • RQ4ランダム化されたアプローチは、高確率での正しさを保証しつつ、実用的性能を維持または向上させられるか?

主な発見

  • ランダム化ベルマン=フォードアルゴリズムは、期待緩和ステップ数を $ mn/3 + o(mn) $ に削減し、Yenのアルゴリズムと比較して3分の2の高速化を達成する。
  • 密度の高いグラフでは、期待緩和回数は $ n^3/6 + o(n^3) $ 以下であり、最悪ケース期待実行時間において定数倍の改善が得られる。
  • 高確率で、$ n/3 + 1 + \sqrt{2cn\log n} $ 回の反復後にすべての頂点が正しい距離に到達し、正しさの確率が $ 1 - 1/n^{c-1} $ 以上であることが保証される。
  • 負のサイクルは、$ n/3 + 2 + \sqrt{2cn\log n} $ 回の反復後に前駆点グラフ $ G_p $ にサイクルがあるかをチェックすることで、高確率で検出可能である。
  • 誤差確率が $ 1/n^{c-1} $ 以下であるモンテカルロアルゴリズムに変換可能であり、密度の高いグラフにおける負のサイクル検出に適している。
  • Yenの1970年研究以来、ベルマン=フォードアルゴリズムにおける最初の定数倍の高速化であり、基本的グラフアルゴリズムにおけるランダム化の有効性を示している。

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

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

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

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