FUN 2012: Fun with Algorithms pp 189-197

# Counting Perfect Matchings in Graphs of Degree 3

• Martin Fürer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7288)

## Abstract

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)! 2 n/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 *(2 n/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.4656 m − n ). For graphs of average degree 3 this is O *(1.2106 n ), improving on the previously fastest algorithm of Björklund and Husfeldt. We also present an algorithm running in time O *(1.4205 m − n ) or O *(1.1918 n ) 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.

## Keywords

Bipartite Graph Perfect Matchings Average Degree Regular Graph Edge Incident
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## References

1. [BH08]
Björklund, A., Husfeldt, T.: Exact algorithms for exact satisfiability and number of perfect matchings. Algorithmica 52(2), 226–249 (2008)
2. [Bjö12]
Björklund, A.: Counting perfect matchings as fast as Ryser. In: Proceedings of the Twenty-Third Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2012, pp. 914–921. SIAM (2012)Google Scholar
3. [DJB04]
Dahllöf, V., Jonsson, P., Beigel, R.: Algorithms for four variants of the exact satisfiability problem. Theoretical Computer Science 320(2-3), 373–394 (2004)
4. [Für06]
Fürer, M.: A Faster Algorithm for Finding Maximum Independent Sets in Sparse Graphs. In: Correa, J.R., Hevia, A., Kiwi, M. (eds.) LATIN 2006. LNCS, vol. 3887, pp. 491–501. Springer, Heidelberg (2006)
5. [Kul99]
Kullmann, O.: New methods for 3-SAT decision and worst-case analysis. Theoretical Computer Science 223, 1–72 (1999)
6. [Rys63]
Ryser, H.J.: Combinatorial mathematics. Carus Math. Monographs, No. 14. Math. Assoc. of America, Washington, DC (1963)Google Scholar
7. [Val79]
Valiant, L.G.: The complexity of computing the permanent. Theor. Comput. Sci. 8, 189–201 (1979)