Advertisement

Constraints

, Volume 14, Issue 3, pp 392–413 | Cite as

Solution counting algorithms for constraint-centered search heuristics

  • Alessandro Zanarini
  • Gilles Pesant
Article

Abstract

Constraints have played a central role in cp because they capture key substructures of a problem and efficiently exploit them to boost inference. This paper intends to do the same thing for search, proposing constraint-centered heuristics which guide the exploration of the search space toward areas that are likely to contain a high number of solutions. We first propose new search heuristics based on solution counting information at the level of individual constraints. We then describe efficient algorithms to evaluate the number of solutions of two important families of constraints: occurrence counting constraints, such as alldifferent, and sequencing constraints, such as regular. In both cases we take advantage of existing filtering algorithms to speed up the evaluation. Experimental results on benchmark problems show the effectiveness of our approach.

Keywords

Solution counting Heuristic search Regular constraint Alldifferent constraint 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Barvinok, A. (1999). Polynomial time algorithms to approximate permanents and mixed discriminants within a simply exponential factor. Random Structures and Algorithms, 14, 29–61.MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Beck, J. C. (2007). Solution-guided multi-point constructive search for job shop scheduling. Journal of Artificial Intelligence Research, 29, 49–77.MATHGoogle Scholar
  3. 3.
    Chien, S., Rasmussen, L., & Sinclair, A. (2002). Clifford algebras and approximating the permanent. In Proceedings of the thirty-fourth annual ACM symposium on theory of computing (STOC 2002) (pp. 222–231). New York: ACM.Google Scholar
  4. 4.
    Fürer, M., & Kasiviswanathan, S. P. (2004). An almost linear time approximation algorithm for the permanent of a random (0-1) matrix. In Proceedings of the twenty-fourth international conference on foundations of software technology and theoretical computer science (FSTTCS 2004) (Vol. 3258, pp. 54–61). New York: Springer.Google Scholar
  5. 5.
    Gomes, C. (2003). Complete randomized backtrack search. In M. Milano (Ed.), Constraint and integer programming: Toward a unified methodology (pp. 233–283). Deventer: Kluwer.Google Scholar
  6. 6.
    Gomes, C., & Shmoys, D. (2002). Completing quasigroups or Latin squares: A structured graph coloring problem. In Proceedings of computational symposium on graph coloring and generalizations (COLOR 2002) (pp. 22–39).Google Scholar
  7. 7.
    Gogate, V., & Dechter, R. (2007). Approximate counting by sampling the backtrack-free search space. In Proceedings of the twenty-second national conference on artificial intelligence (AAAI 2007) (pp. 198–203). Menlo Park: AAAI.Google Scholar
  8. 8.
    Gomes, C. P., Sabharwal, A., & Selman, B. (2006). Model counting: A new strategy for obtaining good bounds. In Proceedings of the twenty-first national conference on artificial intelligence (AAAI 2006) (pp. 54–61).Google Scholar
  9. 9.
    Hsu, E. I., Kitching, M., Bacchus, F., & McIlraith, S. A. (2007). Using EM to find likely assignments for solving CSP’s. In Proceedings of the twenty-second national conference on artificial intelligence (AAAI 2007) (pp. 224–230). Menlo Park: AAAI.Google Scholar
  10. 10.
    Huber, M. (2006). Exact sampling from perfect matchings of dense regular bipartite graphs. Algorithmica, 44(3), 183–193.MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Jerrum, M., Sinclair, A., & Vigoda, E. (2001). A polynomial-time approximation algorithm for the permanent of a matrix with non-negative entries. In Proceedings of the thirty-third annual ACM symposium on theory of computing (STOC 2001) (pp. 712–721). New York: ACM.CrossRefGoogle Scholar
  12. 12.
    Linial, N., Samorodnitsky, A., & Wigderson, A. (2000). A deterministic strongly polynomial algorithm for matrix scaling and approximate permanents. Combinatorica, 20(4), 545–568.MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Kask, K., Dechter, R., & Gogate, V. (2004). Counting-based look-ahead schemes for constraint satisfaction. In Proceedings of the tenth international conference on principles and practice of constraint programming (CP 2004) (Vol. 3258, pp. 317–331). New York: Springer.Google Scholar
  14. 14.
    Patel, J., & Chinneck, J. W. (2006). Active-constraint variable ordering for faster feasibility of mixed integer linear programs. Mathematical Programming, 110(3), 445–474.CrossRefMathSciNetGoogle Scholar
  15. 15.
    Pesant, G. (2004). A regular language membership constraint for finite sequences of variables. In Proceedings of the tenth international conference on principles and practice of constraint programming (CP 2004) (Vol. 3258, pp. 482–495). New York: Springer.Google Scholar
  16. 16.
    Pesant, G. (2005). Counting solutions of CSPs: A structural approach. In Proceedings of the nineteenth international joint conference on artificial intelligence (IJCAI 2005) (pp. 260–265).Google Scholar
  17. 17.
    Pesant, G., & Quimper, C.-G. (2008). Counting solutions of Knapsack constraints. In Proceedings of the fifth international conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CPAIOR 2008) (pp. 203–217).Google Scholar
  18. 18.
    Rasmussen, L. E. (1994). Approximating the permanent: A simple approach. Random Structures and Algorithms, 5(2), 349–361.MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Refalo, P. (2004). Impact-based search strategies for constraint programming. In Proceedings of the tenth international conference on principles and practice of constraint programming (CP 2004) (Vol. 3258, pp. 557–571). New York: Springer.Google Scholar
  20. 20.
    Régin, J.-C. (1994). A filtering algorithm for constraints of difference in CSPs. In Procedings of the twelfth national conference on artificial intelligence (AAAI 1994) (pp. 362–367). Menlo Park: AAAI.Google Scholar
  21. 21.
    Ryser, H. J. (1963). Combinatorial mathematics. Carus Mathematical Monographs No. 14. New York: Wiley.Google Scholar
  22. 22.
    Sellmann, M., & Ansotegui C. (2006). Disco - Novo - GoGo: Integrating local search and complete search with restarts. In Twenty-first national conference on artificial intelligence (AAAI 2006) (pp. 1051–1056). Menlo Park: AAAI.Google Scholar
  23. 23.
    Valiant, L. G. (1979). The complexity of computing the permanent. Theoretical Computer Science, 8(2), 189–201.MATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Zanarini, A., & Pesant, G. (2007). Solution counting algorithms for constraint-centered search heuristics. In Proceedings of the thirteenth international conference on principles and practice of constraint programming (CP 2007) (Vol. 4741, pp. 743–757). New York: Springer.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.Department of Computer and Software EngineeringÉcole Polytechnique de MontréalMontrealCanada

Personalised recommendations