Skip to main content
QUICK REVIEW

[論文レビュー] A Combinatorial Cut-Toggling Algorithm for Solving Laplacian Linear Systems

Henzinger, Monika, Daniel A. Spielman|arXiv (Cornell University)|Nov 13, 2013
Matrix Theory and Algorithms参考文献 35被引用数 7
ひとこと要約

本論文は、ほぼ線形作業量と多対数的深さを達成する最初の並列アルゴリズムを、対称的かつ対角優勢(SDD)線形方程式系を解くために提示する。スペクトル的グラフスパーシフィケーションを用いて構築されたスパースな近似逆行列チェーンを導入し、繰り返しの行列-ベクトル乗算により効率的な解法を可能にし、ǫ-近似解を O(log n log κ log 1/ǫ) の深さと O((m + n log³κ) log 1/ǫ) の作業量で達成する。

ABSTRACT

Over the last two decades, a significant line of work in theoretical algorithms has made progress in solving linear systems of the form 𝐋𝐱 = 𝐛, where 𝐋 is the Laplacian matrix of a weighted graph with weights w(i,j) > 0 on the edges. The solution 𝐱 of the linear system can be interpreted as the potentials of an electrical flow in which the resistance on edge (i,j) is 1/w(i,j). Kelner, Orrechia, Sidford, and Zhu [Kelner et al., 2013] give a combinatorial, near-linear time algorithm that maintains the Kirchoff Current Law, and gradually enforces the Kirchoff Potential Law by updating flows around cycles (cycle toggling). In this paper, we consider a dual version of the algorithm that maintains the Kirchoff Potential Law, and gradually enforces the Kirchoff Current Law by cut toggling: each iteration updates all potentials on one side of a fundamental cut of a spanning tree by the same amount. We prove that this dual algorithm also runs in a near-linear number of iterations. We show, however, that if we abstract cut toggling as a natural data structure problem, this problem can be reduced to the online vector-matrix-vector problem (OMv), which has been conjectured to be difficult for dynamic algorithms [Henzinger et al., 2015]. The conjecture implies that the data structure does not have an O(n^{1-ε}) time algorithm for any ε > 0, and thus a straightforward implementation of the cut-toggling algorithm requires essentially linear time per iteration. To circumvent the lower bound, we batch update steps, and perform them simultaneously instead of sequentially. An appropriate choice of batching leads to an Õ(m^{1.5}) time cut-toggling algorithm for solving Laplacian systems. Furthermore, we show that if we sparsify the graph and call our algorithm recursively on the Laplacian system implied by batching and sparsifying, we can reduce the running time to O(m^{1 + ε}) for any ε > 0. Thus, the dual cut-toggling algorithm can achieve (almost) the same running time as its primal cycle-toggling counterpart.

研究の動機と目的

  • ほぼ線形作業量と多対数的深さを達成するSDD線形方程式系の並列アルゴリズムの開発。
  • 従来のほぼ線形時間ソルバーが低ストレッチスパニングツリーに依存するのを回避し、代わりにスペクトル的グラフスパーシフィケーションを用いること。
  • 入力行列の逆行列を近似するスパース行列の系列であるスパースな近似逆行列チェーンの構築。
  • チェーン行列の繰り返しの行列-ベクトル乗算により、対称的かつ効率的な解法を可能にする。
  • 任意の所望の精度 ǫ に対して、低ストレッチツリーの仮定に依存せずにほぼ線形作業量と多対数的深さを達成すること。

提案手法

  • SDDM行列 M = D − A に対して、低ストレッチスパニングツリーの代わりにスペクトル的グラフスパーシフィケーションを用いてスパースな近似逆行列チェーンを構築する。
  • OrecchiaとVishnoiのBalCutアルゴリズムを用い、ほぼ線形作業量と多対数的深さでグラフをスパーシフィケーションする。
  • 有効抵抗に基づくエッジのサンプリングを活用し、D − A D⁻¹ A をスパースなサンプリングにより近似する。
  • RudelsonとVershyninの濃度に基づく定理6.2を適用し、有効抵抗に比例する重みで O(n log n / ǫ²) 個のエッジをサンプリングする。
  • 各頂点あたり O(log n) 時間でエッジをサンプリングできるデータ構造を構築し、スパース化された行列の効率的並列構築を可能にする。
  • 条件数を各段階で定数倍減少させるように、再帰的にスパーシフィケーションと行列近似を適用することで、逆行列チェーンを段階的に構築する。

実験結果

リサーチクエスチョン

  • RQ1ほぼ線形作業量と多対数的深さを達成する並列SDD線形方程式系ソルバーを設計可能か?
  • RQ2低ストレッチスパニングツリーに依存せずに、スパースな近似逆行列チェーンを構築可能か?
  • RQ3スペクトル的グラフスパーシフィケーションのみで、SDD行列の安定的かつ効率的な逆行列チェーンを構築可能か?
  • RQ4保証された近似誤差を有するチェーンを用いてSDD方程式系を解く際の作業量と深さの複雑度は何か?
  • RQ5逆行列チェーンの構築を、ほぼ線形作業量と対数的深さを維持しながら効率的に並列化可能か?

主な発見

  • アルゴリズムは、ある定数 c₁, c₂ に対して、O(m logᶜ¹n log³κ) の作業量と O(logᶜ²n log κ) の深さでスパースな近似逆行列チェーンを構築する。
  • 任意の ǫ > 0 に対して、アルゴリズムは Mx = b の ǫ-近似解を O((m + n log³κ) log 1/ǫ) の作業量と O(log n log κ log 1/ǫ) の深さで計算する。
  • スパーシファイアの構築は高確率(≥ 1 − 1/n²)で成功し、逆行列チェーンの構築は確率 1/2 以上で成功する。
  • 低ストレッチスパニングツリーの必要性を回避し、スペクトル的スパーシフィケーションと有効抵抗のサンプリングにのみ依存する。
  • 逆行列チェーンにより、各段階で2回の行列-ベクトル乗算を実行することで、対称的かつ安定した線形方程式系の解法が可能になる。
  • 入力行列の条件数 κ は、深さと作業量に対数的に現れ、解の安定性と収束性におけるその役割を反映している。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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