Skip to main content
QUICK REVIEW

[論文レビュー] Incremental Cycle Detection, Topological Ordering, and Strong Component Maintenance

Bernhard Haeupler, Telikepalli Kavitha|NOT FOUND REPOSITORY (Indian Institute of Science Bangalore)|May 12, 2011
Computational Geometry and Mesh Generation参考文献 35被引用数 6
ひとこと要約

本稿では、弧が追加される過程で有向グラフのトポロジカル順序を維持し、サイクルを検出するための2つのインクリメンタルアルゴリズムを提示する。最初のアルゴリズムは、m個の弧の追加に対してO(m^{3/2})時間で実行され、スパarselyなグラフに対しては従来の境界を対数的要因で改善する。一方、2番目のアルゴリズムは、密度の高いグラフに対してO(n^{5/2})時間で実行され、従来の境界を多項式的要因で改善する。両アルゴリズムは、同じ時間計算量で強連結成分も維持する。

ABSTRACT

We present two on-line algorithms for maintaining a topological order of a directed $n$-vertex acyclic graph as arcs are added, and detecting a cycle when one is created. Our first algorithm handles $m$ arc additions in $O(m^{3/2})$ time. For sparse graphs ($m/n = O(1)$), this bound improves the best previous bound by a logarithmic factor, and is tight to within a constant factor among algorithms satisfying a natural {\em locality} property. Our second algorithm handles an arbitrary sequence of arc additions in $O(n^{5/2})$ time. For sufficiently dense graphs, this bound improves the best previous bound by a polynomial factor. Our bound may be far from tight: we show that the algorithm can take $Ω(n^2 2^{\sqrt{2\lg n}})$ time by relating its performance to a generalization of the $k$-levels problem of combinatorial geometry. A completely different algorithm running in $Θ(n^2 \log n)$ time was given recently by Bender, Fineman, and Gilbert. We extend both of our algorithms to the maintenance of strong components, without affecting the asymptotic time bounds.

研究の動機と目的

  • 弧が段階的に追加される過程で、有向無閉路グラフにおけるトポロジカル順序を効率的にオンラインで維持するためのアルゴリズムの開発。
  • 弧の挿入中に、サイクルが生成された瞬間にそれを検出すること。
  • 時間計算量の漸近的増加を増大させることなく、強連結成分の維持にアルゴリズムを拡張すること。
  • 特にスパarselyおよび密度の高いグラフに対して、インクリメンタルトポロジカル順序付けおよびサイクル検出の既存の時間境界を改善すること。

提案手法

  • ヒープを避けるために、動的閾値sを用いて前向きおよび後向きの頂点走査を誘導する「ソフトスレッショルドサーチ」という技術を導入。
  • 探索空間を制限し、高コストなヒープ操作を減らすために、アクティブおよびパッシブな頂点集合(F_A, F_P, B_A, B_P)を維持。
  • 閾値sを用いて頂点を分割:F_Pに属する頂点はsより大きい、B_Pに属する頂点はsより小さい。アクティブな頂点は両側に存在してもよい。
  • アクティブ集合F_AまたはB_Aが空になった場合、sはF_Pから選択され、s ≦ の頂点が再アクティブ化される。
  • 二段階の探索を実行:wから前向きに、vから後ろ向きに探索し、弧の走査は頂点の比較と閾値の更新によって誘導。
  • ヒープ操作を完全に回避し、動的分割と閾値化によってO(log n)の削除操作をO(1)の更新に置き換える。

実験結果

リサーチクエスチョン

  • RQ1スパarselyなグラフに対して、インクリメンタルトポロジカル順序付けおよびサイクル検出をO(m^{3/2})時間で維持できるか?
  • RQ2新しいデータ構造を用いることで、密度の高いグラフに対して時間計算量をO(n^{5/2})に改善できるか?
  • RQ3同じ漸近的境界を強連結成分の維持に拡張できるか?
  • RQ4正しさと効率性を保ちながら、頂点誘導探索におけるヒープ操作を完全に排除できるか?

主な発見

  • 最初のアルゴリズムは、m個の弧の追加に対して合計O(m^{3/2})時間で実行され、スパarselyなグラフに対しては従来の最良境界を対数的要因で改善する。
  • 2番目のアルゴリズムはO(n^{5/2})時間で実行され、十分に密度の高いグラフに対しては従来の境界を多項式的要因で改善する。
  • アルゴリズムの性能はΩ(n²2^{√(2 lg n)})で下限され、最悪ケースではタイトではない可能性がある。
  • 両アルゴリズムは、同じ時間計算量で強連結成分を維持し、成分の追跡を要する問題への適用範囲を拡張する。
  • ソフトスレッショルドサーチ技術により、ヒープの必要がなくなり、O(log n)の操作がO(1)の更新に置き換えられ、改善された境界が達成可能になる。

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

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

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

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