TL;DR
This paper introduces a polynomial space algorithm for counting perfect matchings in graphs with a runtime comparable to Ryser's bipartite algorithm, significantly improving previous methods and extending to hafnian computation.
Contribution
The authors present a new polynomial space algorithm that counts perfect matchings in $O^*(2^{n/2})$ time, matching Ryser's efficiency for bipartite graphs and generalizing to hafnian computation.
Findings
Achieves $O^*(2^{n/2})$ time complexity for counting perfect matchings
Matches the runtime of Ryser's algorithm for bipartite graphs
Shows limitations for faster algorithms for general set cover counting
Abstract
We show that there is a polynomial space algorithm that counts the number of perfect matchings in an -vertex graph in time. ( suppresses functions polylogarithmic in ).The previously fastest algorithms for the problem was the exponential space time algorithm by Koivisto, and for polynomial space, the 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 element ground set cannot be…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
