Constraints

, Volume 20, Issue 2, pp 235–273

A method for detecting symmetries in constraint models and its generalisation

  • Christopher Mears
  • Maria Garcia de la Banda
  • Mark Wallace
  • Bart Demoen
Article

Abstract

The symmetries that appear in many constraint problems can be used to significantly speed up the search for solutions to these problems. While the accurate detection of symmetries in instances of a given constraint problem is possible, current methods tend to be impractical for real-sized instances. On the other hand, methods capable of detecting properties for a problem model – and thus all its instances – are efficient but not accurate enough. This paper presents a new method for inferring symmetries in constraint satisfaction models that combines the high accuracy of instance-based methods with the efficiency of model-based methods; the key insight is that symmetries detected for small instances of the model can be generalised to the model itself. Experimental evaluation shows that this approach is able to find all symmetries in almost all the benchmark problems used. The generality of our method is then illustrated by showing how it can be applied to infer other properties.

Keywords

Symmetry Program analysis Model properties Symmetry detection 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alpuente, M. (Ed.) (2011). Logic-Based Program Synthesis and Transformation - 20th International Symposium, LOPSTR 2010, Hagenberg, Austria, July 23-25, 2010, Revised Selected Papers, Lecture Notes in Computer Science (Vol. 6564). Springer.Google Scholar
  2. 2.
    Benhamou, B. (1994). Study of symmetry in constraint satisfaction problems. In PPCP’94: Second International Workshop on Principles and Practice of Constraint Programming (pp. 246–254).Google Scholar
  3. 3.
    Charnley, J., Colton, S,. Miguel, I. (2006). Automatic generation of implied constraints. In G. Brewka, S. Coradeschi, A. Perini, and P. Traverso, (Eds.), ECAI, Frontiers in Artificial Intelligence and Applications (Vol. 141, pp. 73–77). IOS Press.Google Scholar
  4. 4.
    Chu, G., Garcia de la Banda, M., Stuckey. P.J. (2010). Automatically exploiting subproblem equivalence in constraint programming. In A. Lodi, M. Milano, P. Toth (Eds.), CPAIOR, Lecture Notes in Computer Science (Vol. 141, pp 71–86). Springer.Google Scholar
  5. 5.
    Cohen, D.A., Jeavons, P., Jefferson, C., Petrie, K.E, Smith, B.M. (2006). Symmetry definitions for constraint satisfaction problems. Constraints, 11(2-3), 115–137.CrossRefMATHMathSciNetGoogle Scholar
  6. 6.
    Colton, S, & Sorge, V. (2008). Automated parameterisation of finite algebras. In Workshop on Empirical Successful Automated Reasoning in Mathematics.Google Scholar
  7. 7.
    Cousot, P., & Cousot, R. (1977). Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In R.M. Graham, M.A. Harrison, R. Sethi (Eds.), POPL, (pp. 238–252. ACM).Google Scholar
  8. 8.
    Crawford, J.M., Ginsberg, M.L., Luks, E.M., Roy, A. (1996). In L.C. Aiello, J. Doyle, S.C. Shapiro (Eds.), KR (pp. 148–159). Morgan Kaufmann.Google Scholar
  9. 9.
    Darga, P.T., Liffiton, M.H., Sakallah, K.A., Markov, I.L. (2004). Exploiting structure in symmetry detection for CNF. In S. Malik, L. Fix, A.B. Kahng (Eds.), DAC (pp. 530–534). ACM.Google Scholar
  10. 10.
    Fahle, T., Schamberger, S., Sellmann, M. (2001). Symmetry breaking. In T. Walsh (Ed.), CP, Lecture Notes in Computer Science (Vol. 2239, pp. 93–107). Springer.Google Scholar
  11. 11.
    Freuder, E.C. (1991). Eliminating interchangeable values in constraint satisfaction problems. In T.L. Dean & K. McKeown (Eds.), AAAI (pp. 227–233). AAAI Press / The MIT Press.Google Scholar
  12. 12.
    Garcia de la Banda, M., & Stuckey, P.J. (2007). Dynamic programming to minimize the maximum number of open stacks. INFORMS Journal on Computing, 19(4), 607–617.CrossRefMATHMathSciNetGoogle Scholar
  13. 13.
    Garcia de la Banda, M.J., Harvey, W., Marriott, K., Stuckey, P.J., Demoen, B. (2005). Checking modes of HAL programs. TPLP, 5(6), 623–668.MATHGoogle Scholar
  14. 14.
    Gent, I.P., & Smith, B.M. (2000). Symmetry breaking in constraint programming. In W. Horn (Ed.), ECAI (pp. 599–603). IOS Press.Google Scholar
  15. 15.
    Gent, I.P., & Walsh, T. (1999). CSPLib: a benchmark library for constraints. Technical report, Technical report APES-09-1999-1999. Available from http://www.csplib.org/.
  16. 16.
    Lau, K.F., & Dill, K.A. (1989). A lattice statistical mechanics model of the conformational and sequence spaces of proteins. Macromolecules, 22(10), 3986–3997.CrossRefGoogle Scholar
  17. 17.
    Law, Y.C., Lee, J.H.M., Walsh, T., Yip, J.Y.K. (2007). Breaking symmetry of interchangeable variables and values. In Principles and Practice of Constraint Programming - CP 2007.Google Scholar
  18. 18.
    Mancini, T., & Cadoli, M. (2005). Detecting and breaking symmetries by reasoning on problem specifications. In J.-D. Zucker L. Saitta (Eds.), Abstraction, Reformulation and Approximation, 6th International Symposium, SARA 2005, Airth Castle, Scotland, UK, July 26-29, 2005, Proceedings, Lecture Notes in Computer Science (Vol. 3607. pp 165–181). Springer.Google Scholar
  19. 19.
    Marriott, K., & Stuckey, P.J. (1993). The 3 R’s of optimizing constraint logic programs: refinement, removal and reordering. In M.S. Van Deusen & B. Lang (Eds.), POPL, (pp. 334–344). ACM Press.Google Scholar
  20. 20.
    Mears, C., Garcia de la Banda, M., Demoen, B., Wallace, M. (2008). Lightweight dynamic symmetry breaking. In Eighth International Workshop on Symmetry in Constraint Satisfaction Problems, SymCon’08.Google Scholar
  21. 21.
    Mears, C., Garcia de la Banda, M., Wallace, M. (2009). On implementing symmetry detection. Constraints, 14(4), 443–477.CrossRefMATHMathSciNetGoogle Scholar
  22. 22.
    Mears, C., Garcia de la Banda, M., Wallace, M. (2011). Eliciting sub-problem equivalence candidates for CP models. Technical Report 2011/266, Caulfield School of Information Technology, Monash University.Google Scholar
  23. 23.
    Mears, C., Garcia de la Banda, M., Wallace, M., Demoen, B. (2008). A novel approach for detecting symmetries in CSP models. In L. Perron & M.A. Trick, (Eds.), CPAIOR, Lecture Notes in Computer Science (Vol. 5015, pp. 158–172). Springer.Google Scholar
  24. 24.
    Mears, C., Niven, T., Jackson, M., Wallace, M. (2011). Proving symmetries by model transformation. In J. Ho-Man Lee, (Ed.), CP, Lecture Notes in Computer Science (Vol. 6876, pp 591–605). Springer.Google Scholar
  25. 25.
    Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G. (2007). MiniZinc: towards a standard CP modelling language. In C. Bessiere, (Ed.), CP, Lecture Notes in Computer Science (Vol. 4741, pp. 529–543). Springer.Google Scholar
  26. 26.
    Puget, J.-F., (2002). Symmetry breaking revisited. In P Van Hentenryck (Ed.), CP, Lecture Notes in Computer Science (Vol. 2470, pp. 446–461). Springer.Google Scholar
  27. 27.
    Puget, J.-F. (2005). Automatic detection of variable and value symmetries. In P. van Beek (Ed.), Principles and Practice of Constraint Programming - CP 2005, 11th International Conference, CP 2005, Sitges, Spain, October 1-5, 2005, Proceedings, Lecture Notes in Computer Science (Vol. 3709, pp. 475–489). Springer.Google Scholar
  28. 28.
    Ramachandran, V., Van Hentenryck, P., Cortesi, A. (2000). Abstract domains for reordering CLP(R lin) programs. Journal of Logic Programming, 42(3), 217–256.Google Scholar
  29. 29.
    Ramani, A., & Markov, I.L. (2004). Automatically exploiting symmetries in constraint programming. In B. Faltings, A. Petcu, F. Fages, F. Rossi (Eds.), CSCLP, Lecture Notes in Computer Science (Vol. 3419, pp. 98–112). Springer.Google Scholar
  30. 30.
    Roy, P., & Pachet, F. (1998). Using symmetry of global constraints to speed up the resolution of constraint satisfaction problems. In ECAI98 Workshop on Non-binary Constraints (pp. 27–33).Google Scholar
  31. 31.
    Smith, B.M. (2005). Caching search states in permutation problems. In P van Beek (Ed.), Principles and Practice of Constraint Programming - CP 2005, 11th International Conference, CP 2005, Sitges, Spain, October 1-5, 2005, Proceedings,Lecture Notes in Computer Science (Vol. 3709, pp 637–651). Springer.Google Scholar
  32. 32.
    Smith-Miles, K. (2008). Cross-disciplinary perspectives on meta-learning for algorithm selection. ACM Computing Surveys, 41(1), 6:1–6:25.CrossRefGoogle Scholar
  33. 33.
    The GAP Group (2006). GAP – Groups, Algorithms, and Programming, Version 4.4.9.Google Scholar
  34. 34.
    Van Hentenryck, P. (2002). Constraint and integer programming in OPL. INFORMS Journal on Computing, 14(4), 345–372.CrossRefMATHMathSciNetGoogle Scholar
  35. 35.
    Van Hentenryck, P., Flener, P., Pearson, J., Ågren, M. (2005) Compositional derivation of symmetries for constraint satisfaction. In J.-D. Zucker & L. Saitta, (Eds.), Abstraction, Reformulation and Approximation, 6th International Symposium, SARA 2005, Airth Castle, Scotland, UK, July 26-29, 2005, Proceedings, Lecture Notes in Computer Science (Vol. 3607, pp. 234–247). Springer.Google Scholar
  36. 36.
    Yahav, E. (Ed.) (2011). Static Analysis - 18th International Symposium, SAS 2011, Venice, Italy, September 14-16, 2011. Proceedings, Lecture Notes in Computer Science (Vol. 6887). Springer.Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Christopher Mears
    • 1
  • Maria Garcia de la Banda
    • 1
  • Mark Wallace
    • 1
  • Bart Demoen
    • 2
  1. 1.Monash UniversityMelbourneAustralia
  2. 2.KU LeuvenLeuvenBelgium

Personalised recommendations