Exact Algorithms for Exact Satisfiability and Number of Perfect Matchings

  • Andreas Björklund
  • Thore Husfeldt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4051)


We present exact algorithms with exponential running times for variants of n-element set cover problems, based on divide-and-conquer and on inclusion–exclusion characterisations.

We show that the Exact Satisfiability problem of size l with m clauses can be solved in time 2 m l O(1) and polynomial space. The same bounds hold for counting the number of solutions. As a special case, we can count the number of perfect matchings in an n-vertex graph in time 2 n n O(1) and polynomial space. We also show how to count the number of perfect matchings in time O(1.732 n ) and exponential space.

Using the same techniques we show how to compute Chromatic Number of an n-vertex graph in time O(2.4423 n ) and polynomial space, or time O(2.3236 n ) and exponential space.


Perfect Matchings Chromatic Number Exact Algorithm Hamiltonian Cycle Colour Class 
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. 1.
    Angelsmark, O., Thapper, J.: Partitioning based algorithms for some colouring problems. In: Hnich, B., Carlsson, M., Fages, F., Rossi, F. (eds.) CSCLP 2005. LNCS (LNAI), vol. 3978, pp. 44–58. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Bax, E.T.: Inclusion and exclusion algorithm for the Hamiltonian Path problem. Inf. Process. Lett. 47(4), 203–207 (1993)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Björklund, A., Husfeldt, T.: Inclusion–exclusion based algorithms for graph colouring. Technical Report TR06-44, Elect. Coll. Comput. Compl. (2006)Google Scholar
  4. 4.
    Byskov, J.M.: Enumerating maximal independent sets with applications to graph colouring. Operations Research Letters 32, 547–556 (2004)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Byskov, J.M.: Exact algorithms for graph colouring and exact satisfiability. PhD thesis, University of Aarhus (2004)Google Scholar
  6. 6.
    Chien, S.: A determinant-based algorithm for counting perfect matchings in a general graph. In: Proc. 15th SODA, pp. 728–735 (2004)Google Scholar
  7. 7.
    Christofides, N.: An algorithm for the chromatic number of a graph. Computer J. 14, 38–39 (1971)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Coppersmith, D., Winograd, S.: Matrix multiplication via arithmetic progressions. J. Symb. Comput. 9(3), 251–280 (1990)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5(7), 394–397 (1962)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Eppstein, D.: Small maximal independent sets and faster exact graph coloring. J. Graph Algorithms and Applications 7(2), 131–140 (2003)MATHMathSciNetGoogle Scholar
  11. 11.
    Feder, T., Motwani, R.: Worst-case time bounds for coloring and satisfiability problems. J. Algorithms 45(2), 192–201 (2002)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Feige, U., Kilian, J.: Exponential time algorithms for computing the bandwidth of a graph. Manuscript, cited in [24]Google Scholar
  13. 13.
    Gurevich, Y., Shelah, S.: Expected computation time for Hamiltonian path problem. SIAM Journal on Computing 16(3), 486–502 (1987)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Hujter, M., Tuza, Z.: On the number of maximal independent sets in triangle-free graphs. SIAM J. Discrete Mathematics 6(2), 284–288 (1993)MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Jerrum, M., Sinclair, A., Vigoda, E.: A polynomial-time approximation algorithm for the permanent of a matrix with non-negative entries. In: Proc. 33rd STOC, pp. 712–721 (2001)Google Scholar
  16. 16.
    Lawler, E.L.: A note on the complexity of the chromatic number problem. Information Processing Letters 5(3), 66–67 (1976)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Madsen, B.A.: An algorithm for exact satisfiability analysed with the number of clauses as parameter. Information Processing Letters 97(1), 28–30 (2006)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Moon, J.W., Moser, L.: On cliques in graphs. In: Israel J. Math. (1965)Google Scholar
  19. 19.
    Porschen, S.: On some weighted satisfiability and graph problems. In: Vojtáš, P., Bieliková, M., Charron-Bost, B., Sýkora, O. (eds.) SOFSEM 2005. LNCS, vol. 3381, pp. 278–287. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Ryser, H.J.: Combinatorial Mathematics. Carus Math. Monographs, vol. 14. Math. Assoc. America (1963)Google Scholar
  21. 21.
    Tsukiyama, S., Ide, M., Ariyoshi, H., Shirakawa, I.: A new algorithm for generating all the maximal independent sets. SIAM J. Comput. 6(3), 505–517 (1977)MATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Valiant, L.G.: The complexity of computing the permanent. Theoretical Computer Science 8, 189–201 (1979)MATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Williams, R.: A new algorithm for optimal constraint satisfaction and its implications. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, pp. 1227–1237. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  24. 24.
    Woeginger, G.J.: Exact algorithms for NP-hard problems: a survey. In: Combinatorial optimization: Eureka, you shrink!, pp. 185–207. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  25. 25.
    Woeginger, G.J.: Space and time complexity of exact algorithms: Some open problems. In: Downey, R.G., Fellows, M.R., Dehne, F. (eds.) IWPEC 2004. LNCS, vol. 3162, pp. 281–290. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Andreas Björklund
    • 1
  • Thore Husfeldt
    • 1
  1. 1.Department of Computer ScienceLund UniversityLundSweden

Personalised recommendations