中文

正则二分图中O(n log n)时间内的完美匹配

数据结构与算法 2010-11-15 v3 离散数学

摘要

本文研究了在具有 m=ndm=nd 条边的 2n2n 个节点的 dd 正则二分图中寻找完美匹配这一经典问题。一般二分图的最优算法(归功于 Hopcroft 和 Karp)需要 O(mn)O(m\sqrt{n}) 时间。然而,在正则二分图中,已知可以在 O(m)O(m) 时间内计算匹配(归功于 Cole、Ost 和 Schirra)。在 Goel、Kapralov 和 Khanna 最近的一系列工作中,O(m)O(m) 时间算法首先被改进为 O~(min{m,n2.5/d})\tilde O(\min\{m, n^{2.5}/d\}),然后改进为 O~(min{m,n2/d})\tilde O(\min\{m, n^2/d\})。还证明了后者在所有以非自适应均匀采样作为第一步来缩小图规模的算法中,在多项式对数因子意义下是最优的。本文给出了一种随机算法,能在 dd 正则图中找到完美匹配,运行时间为 O(nlogn)O(n\log n)(期望时间和高概率时间均如此)。该算法在修改后的图上执行适当截断的随机游走,以逐步寻找增广路径。我们的算法可视为使用了自适应均匀采样,因此能够绕过先前工作中非自适应均匀采样的局限性。我们还通过证明任何确定性算法都有 Ω(nd)\Omega(nd) 的下界,表明随机化对于获得 o(nd)o(nd) 时间算法至关重要。我们的技术还给出了一种算法,能在期望时间 O(nlog2n)O(n\log^2 n) 内(预处理时间 O(m)O(m))在双随机矩阵的支撑集上依次找到匹配;这为寻找双随机矩阵的 Birkhoff-von Neumann 分解提供了一种简单的 O(m+mnlog2n)O(m+mn\log^2 n) 时间算法。

关键词

引用

@article{arxiv.0909.3346,
  title  = {Perfect Matchings in O(n \log n) Time in Regular Bipartite Graphs},
  author = {Ashish Goel and Michael Kapralov and Sanjeev Khanna},
  journal= {arXiv preprint arXiv:0909.3346},
  year   = {2010}
}

备注

10 pages