Skip to main content
QUICK REVIEW

[論文レビュー] Practical and theoretical improvements for bipartite matching using the pseudoflow algorithm

Bala Chandran, Dorit S. Hochbaum|arXiv (Cornell University)|May 9, 2011
Complexity and Algorithms in Graphs参考文献 5被引用数 6
ひとこと要約

本稿では、二部マッチングに特化した疑似フロー法の変種であるマッチング-疑似フロー法を導入し、評価している。理論的時間計算量は O(min{n₁κ, m} + √κ min{κ², m}) であり、特に大規模かつ密なグラフにおいて、効率的なグローバルリレーリングとレイヤー構造の構築により、最先端のプッシュ・レレイおよびDinicベースの実装を凌駆する実装性能を達成している。

ABSTRACT

We show that the pseudoflow algorithm for maximum flow is particularly efficient for the bipartite matching problem both in theory and in practice. We develop several implementations of the pseudoflow algorithm for bipartite matching, and compare them over a wide set of benchmark instances to state-of-the-art implementations of push-relabel and augmenting path algorithms that are specifically designed to solve these problems. The experiments show that the pseudoflow variants are in most cases faster than the other algorithms. We also show that one particular implementation---the matching pseudoflow algorithm---is theoretically efficient. For a graph with $n$ nodes, $m$ arcs, $n_1$ the size of the smaller set in the bipartition, and the maximum matching value $κ\leq n_1$, the algorithm's complexity given input in the form of adjacency lists is $O(\min{n_1κ,m} + \sqrtκ\min{κ^2,m})$. Similar algorithmic ideas are shown to work for an adaptation of Hopcroft and Karp's bipartite matching algorithm with the same complexity. Using boolean operations on words of size $λ$, the complexity of the pseudoflow algorithm is further improved to $O(\min{n_1κ, \frac{n_1n_2}λ, m} + κ^2 + \frac{κ^{2.5}}λ)$. This run time is faster than for previous algorithms such as Cheriyan and Mehlhorn's algorithm of complexity $O(\frac{n^{2.5}}λ)$.

研究の動機と目的

  • 疑似フロー法の効率的で二部マッチングに特化した実装の開発と評価。
  • マッチング-疑似フロー法が、二部マッチングにおいて最高の理論的時間計算量を達成することの証明。
  • 多様なベンチマークインスタンス上で、疑似フロー法の変種と最先端のプッシュ・レレイおよびDinicベースのアルゴリズムの性能を比較。
  • グローバルリレーリングおよびラベル選択戦略(最高ラベル対最低ラベル)が実装効率に与える影響の調査。

提案手法

  • マッチング-疑似フロー法は、単位容量を持つ二部グラフに適応された、汎用疑似フロー法の特殊化実装として導出される。
  • 過剰フローを持つ最低ラベルまでのレイヤー構造のみを構築することで、ブロッキングフロー計算を効率化する。
  • 活性ノードの階層的構造を維持するために、グローバルリレーリングと動的ラベル更新を用いる。
  • 隣接リスト入力を仮定した理論的時間計算量の解析により、O(min{n₁κ, m} + √κ min{κ², m}) の時間計算量が得られる。
  • λビットワードにおけるワード単位のブール演算を用いることで、時間計算量はさらに改善され、O(min{m, n₁κ, n₁n₂/λ} + κ² + κ².⁵/λ) となる。
  • この手法は、Hopcroft-Karpおよびプッシュ・レレイアルゴリズムへの応用にも拡張され、同じ改善された時間計算量の境界が達成される。

実験結果

リサーチクエスチョン

  • RQ1疑似フロー法を二部マッチングに効果的に特化させることで、実装上、既存の最先端アルゴリズムを凌駆できるか?
  • RQ2提案されたマッチング-疑似フロー法の二部マッチングにおける理論的時間計算量は何か?
  • RQ3グローバルリレーリングおよびラベル選択戦略(最高 vs 最低)の使用が、実装上の性能に与える影響は何か?
  • RQ4マッチング-疑似フロー法の知見を、Hopcroft-Karp やプッシュ・レレイといった既存のアルゴリズムの改善に応用できるか?
  • RQ5マッチング-疑似フロー法で理論的に効率的なグローバルリレーリング手順が、実装上も性能向上をもたらすか?

主な発見

  • マッチング-疑似フロー法は、二部マッチングにおいて、O(min{n₁κ, m} + √κ min{κ², m}) の最高の理論的時間計算量を達成している。
  • ベンチマークインスタンス上では、Dinicのアルゴリズムを上回り、2つのインスタンスファミリーではほぼ最速の性能を示している。
  • 疑似フロー法の「pseudo lo free」変種が全体的に最も速く、7つのインスタンスクラスのうち6つでCherkasskyらのプッシュ・レレイ実装を上回っている。
  • マッチング-疑似フロー法は、Dinicのアルゴリズムよりもはるかに多くのグローバルリレーリング操作を実行しており、これが優れた性能の要因となっている。
  • ワード単位のブール演算の使用により、時間計算量は O(min{m, n₁κ, n₁n₂/λ} + κ² + κ².⁵/λ) に低下し、CheriyanとMehlhornの O(n².⁵/λ) の境界を改善している。
  • 結果から、注意深く実装されたDinicベースのアルゴリズム(マッチング-疑似フロー法)は、実装上非常に効率的であることが示され、Dinicのアルゴリズムは実用的でないという従来の仮定に反する。

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

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

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

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