arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1107.4466cs.DS
收藏

像Ryser一样快速计算完美匹配

Counting Perfect Matchings as Fast as Ryser

Andreas Björklund

摘要:

我们表明,有一个多项式空间算法,计数完美匹配的$n$ -顶点图在$O^*(2^{n/2})\subset O(1.415^n)$时间的数量。($O^*(f(n))$在$f(n)$中抑制函数的多对数性)。以前解决这个问题的最快算法是Koivisto的指数空间$O^*(((1+\sqrt{5})/2)^n) \subset O(1.619^n)$时间算法,而对于多项式空间,则是Nederlof的$O(1.942^n)$时间算法。我们的新算法的运行时间相匹配的多项式因子,Ryser的1963年算法的二分图。我们提出了我们的算法在更一般的设置中计算的任意环上,类似于Ryser的算法永久计算的Escherichian。我们也给出了一个简单的参数,为什么一般精确集覆盖计数问题的一个稍微superpolynomial大小的家庭的一个$n$元素地面集的子集不能解决在$O^*(2^{(1-ε_1)n})$时间的任何$ε_1>0$,除非有$O^*(2^{(1-ε_2)n})$时间算法计算一个$n\times n$ 0/1矩阵永久,对于一些$ε_2>0$只依赖于$ε_1$。

英文摘要:

We show that there is a polynomial space algorithm that counts the number of perfect matchings in an $n$-vertex graph in $O^*(2^{n/2})\subset O(1.415^n)$ time. ($O^*(f(n))$ suppresses functions polylogarithmic in $f(n)$).The previously fastest algorithms for the problem was the exponential space $O^*(((1+\sqrt{5})/2)^n) \subset O(1.619^n)$ time algorithm by Koivisto, and for polynomial space, the $O(1.942^n)$ time algorithm by Nederlof. Our new algorithm's runtime matches up to polynomial factors that of Ryser's 1963 algorithm for bipartite graphs. We present our algorithm in the more general setting of computing the hafnian over an arbitrary ring, analogously to Ryser's algorithm for permanent computation. We also give a simple argument why the general exact set cover counting problem over a slightly superpolynomial sized family of subsets of an $n$ element ground set cannot be solved in $O^*(2^{(1-ε_1)n})$ time for any $ε_1>0$ unless there are $O^*(2^{(1-ε_2)n})$ time algorithms for computing an $n\times n$ 0/1 matrix permanent, for some $ε_2>0$ depending only on $ε_1$.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑