New methods for 3-SAT decision and worst-case analysis
Theoretical Computer Science
Algorithms for four variants of the exact satisfiability problem
Theoretical Computer Science
Exact Algorithms for Exact Satisfiability and Number of Perfect Matchings
Algorithmica - Parameterized and Exact Algorithms
Counting perfect matchings as fast as Ryser
Proceedings of the twenty-third annual ACM-SIAM symposium on Discrete Algorithms
A faster algorithm for finding maximum independent sets in sparse graphs
LATIN'06 Proceedings of the 7th Latin American conference on Theoretical Informatics
Hi-index | 0.00 |
Counting perfect matchings is an interesting and challenging combinatorial task. It has important applications in statistical physics. As the general problem is #P complete, it is usually tackled by randomized heuristics and approximation schemes. The trivial running times for exact algorithms are O*((n−1)!!)=O*(n!!)=O*((n/2)! 2n/2) for general graphs and O*((n/2)!) for bipartite graphs. Ryser's old algorithm uses the inclusion exclusion principle to handle the bipartite case in time O*(2n/2). It is still the fastest known algorithm handling arbitrary bipartite graphs. For graphs with n vertices and m edges, we present a very simple argument for an algorithm running in time O*(1.4656m−n). For graphs of average degree 3 this is O*(1.2106n), improving on the previously fastest algorithm of Björklund and Husfeldt. We also present an algorithm running in time O*(1.4205m−n) or O*(1.1918n) for average degree 3 graphs. The purpose of these simple algorithms is to exhibit the power of the m−n measure. Here, we don't investigate the further improvements possible for larger average degrees by applying the measure-and-conquer method.