Counting Perfect Matchings in Graphs of Degree 3

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


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.


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BH08]
    Björklund, A., Husfeldt, T.: Exact algorithms for exact satisfiability and number of perfect matchings. Algorithmica 52(2), 226–249 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  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)MathSciNetzbMATHCrossRefGoogle Scholar
  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)CrossRefGoogle Scholar
  5. [Kul99]
    Kullmann, O.: New methods for 3-SAT decision and worst-case analysis. Theoretical Computer Science 223, 1–72 (1999)MathSciNetzbMATHCrossRefGoogle Scholar
  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)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Martin Fürer
    • 1
  1. 1.Department of Computer Science and EngineeringPennsylvania State UniversityUniversity ParkUSA

Personalised recommendations