Skip to main content
Log in

STR2: optimized simple tabular reduction for table constraints

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Table constraints play an important role within constraint programming. Recently, many schemes or algorithms have been proposed to propagate table constraints and/or to compress their representation. In this paper, we describe an optimization of simple tabular reduction (STR), a technique proposed by J. Ullmann to dynamically maintain the tables of supports when generalized arc consistency (GAC) is enforced/maintained. STR2, the new refined GAC algorithm we propose, allows us to limit the number of operations related to validity checking and search of supports. Interestingly enough, this optimization makes simple tabular reduction potentially r times faster where r is the arity of the constraint(s). The results of an extensive experimentation that we have conducted with respect to random and structured instances indicate that STR2 is usually around twice as fast as the original STR, two or three times faster than the approach based on the hidden variable encoding, and can be up to one order of magnitude faster than previously state-of-the-art (generic) GAC algorithms on some series of instances. When comparing STR2 with the more recently developed algorithm based on multi-valued decision diagrams (MDDs), we show that both approaches are rather complementary.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Beacham, A., Chen, X., Sillito, J., & van Beek, P. (2001). Constraint programming lessons learned from crossword puzzles. In Proceedings of Canadian conference on AI (pp. 78–87).

  2. Bessiere, C. (2006). Constraint propagation. In Handbook of constraint programming (chapter 3). Elsevier.

  3. Bessiere, C., & Debruyne, R. (2005). Optimal and suboptimal singleton arc consistency algorithms. In Proceedings of IJCAI’05 (pp. 54–59).

  4. Bessiere, C., Hebrard, E., Hnich, B., & Walsh, T. (2007). The complexity of reasoning with global constraints. Constraints, 12(2), 239–259.

    Article  MathSciNet  MATH  Google Scholar 

  5. Bessiere, C., & Régin, J. (1996). MAC and combined heuristics: Two reasons to forsake FC (and CBJ?) on hard problems. In Proceedings of CP’96 (pp. 61–75).

  6. Bessiere, C., & Régin, J. (1997). Arc consistency for general constraint networks: Preliminary results. In Proceedings of IJCAI’97 (pp. 398–404).

  7. Bessiere, C., Régin, J.C., Yap, R., & Zhang, Y. (2005). An optimal coarse-grained arc consistency algorithm. Artificial Intelligence, 165(2), 165–185.

    Article  MathSciNet  MATH  Google Scholar 

  8. Boussemart, F., Hemery, F., Lecoutre, C., & Sais, L. (2004). Boosting systematic search by weighting constraints. In Proceedings of ECAI’04 (pp. 146–150).

  9. Briggs, P., & Torczon, L. (1993). An efficient representation for sparse sets. ACM Letters on Programming Languages and Systems, 2(1–4), 59–69.

    Article  Google Scholar 

  10. Carlsson, M. (2006). Filtering for the case constraint. Talk given at the advanced school on global constraints.

  11. Cheng, K., & Yap, R. (2006). Maintaining generalized arc consistency on ad-hoc n-ary Boolean constraints. In Proceedings of ECAI’06 (pp. 78–82).

  12. Cheng, K., & Yap, R. (2008). Maintaining generalized arc consistency on ad-hoc r-ary constraints. In Proceedings of CP’08 (pp. 509–523).

  13. Cheng, K., & Yap, R. (2010). An MDD-based generalized arc consistency algorithm for positive and negative table constraints and some global constraints. Constraints, 15(2), 265–304.

    Article  MathSciNet  MATH  Google Scholar 

  14. Dechter, R. (2003). Constraint processing. Morgan Kaufmann.

  15. Dechter, R., & Pearl, J. (1989). Tree clustering for constraint networks. Artificial Intelligence, 38(3), 353–366.

    Article  MathSciNet  MATH  Google Scholar 

  16. Fredkin, E. (1960). Trie memory. Communications of the ACM, 3(9), 490–499.

    Article  Google Scholar 

  17. Gent, I. P., Jefferson, C., Miguel, I., & Nightingale, P. (2007). Data structures for generalised arc consistency for extensional constraints. In Proceedings of AAAI’07 (pp. 191–197).

  18. Ginsberg, M. L. (1993). Dynamic backtracking. Journal of Artificial Intelligence Research, 1, 25–46.

    MATH  Google Scholar 

  19. Ginsberg, M. L., Frank, M., Halpin, M. P., & Torrance, M. C. (1990). Search lessons learned from crossword puzzles. In Proceedings of AAAI’90 (pp. 210–215).

  20. Gyssens, M., Jeavons, P., & Cohen, D. A. (1994). Decomposing constraint satisfaction problems using database techniques. Artificial Intelligence, 66(1), 57–89.

    Article  MathSciNet  MATH  Google Scholar 

  21. Haralick, R. M., & Elliott, G. L. (1980). Increasing tree search efficiency for constraint satisfaction problems. Artificial Intelligence, 14, 263–313.

    Article  Google Scholar 

  22. Jaffar, J., Michaylov, S., Stuckey, P., & Yap, R. (1992). The CLP(R) language and system. ACM Transactions on Programming Languages and Systems, 14(3), 339–395.

    Article  Google Scholar 

  23. Katsirelos, G., & Walsh, T. (2007). A compression algorithm for large arity extensional constraints. In Proceedings of CP’07 (pp. 379–393).

  24. Lecoutre, C. (2008). Optimization of simple tabular reduction for table constraints. In Proceedings of CP’08 (pp. 128–143).

  25. Lecoutre, C., & Cardon, S. (2005). A greedy approach to establish singleton arc consistency. In Proceedings of IJCAI’05 (pp. 199–204).

  26. Lecoutre, C., Cardon, S., & Vion, J. (2007). Conservative dual consistency. In Proceedings of AAAI’07 (pp. 237–242).

  27. Lecoutre, C., & Hemery, F. (2007). A study of residual supports in arc consistency. In Proceedings of IJCAI’07 (pp. 125–130).

  28. Lecoutre, C., & Szymanek, R. (2006). Generalized arc consistency for positive table constraints. In Proceedings of CP’06 (pp. 284–298).

  29. Lecoutre, C., & Vion, J. (2008). Enforcing arc consistency using bitwise operations. Constraint Programming Letters, 2, 21–35.

    Google Scholar 

  30. Lhomme, O., & Régin, J. C. (2005). A fast arc consistency algorithm for n-ary constraints. In Proceedings of AAAI’05 (pp. 405–410).

  31. Likitvivatanavong, C., Zhang, Y., Bowen, J., & Freuder, E. C. (2004). Arc consistency in MAC: A new perspective. In Proceedings of CPAI’04 workshop held with CP’04 (pp. 93–107).

  32. Mackworth, A. K. (1977). Consistency in networks of relations. Artificial Intelligence, 8(1), 99–118.

    Article  MathSciNet  MATH  Google Scholar 

  33. Mackworth, A. K. (1977). On reading sketch maps. In Proceedings of IJCAI’77 (pp. 598–606).

  34. Mohr, R., & Masini, G. (1988). Good old discrete relaxation. In Proceedings of ECAI’88 (pp. 651–656).

  35. Pesant, G. (2004). A regular language membership constraint for finite sequences of variables. In Proceedings of CP’04 (pp. 482–495).

  36. Rossi, F., Petrie, C., & Dhar, V. (1990). On the equivalence of constraint satisfaction problems. In Proceedings of ECAI’90 (pp. 550–556).

  37. Sabin, D., & Freuder, E. C. (1994). Contradicting conventional wisdom in constraint satisfaction. In Proceedings of CP’94 (pp. 10–20).

  38. Samaras, N., & Stergiou, K. (2005). Binary encodings of non-binary constraint satisfaction problems: Algorithms and experimental results. Journal of Artificial Intelligence Research, 24, 641–684.

    MathSciNet  MATH  Google Scholar 

  39. Stergiou, K., & Walsh, T. (1999). Encodings of non-binary constraint satisfaction problems. In Proceedings of AAAI’99 (pp. 163–168).

  40. Ullmann, J. R. (1977). A binary n-gram technique for automatic correction of substitution, deletion, insertion and reversal errors in words. Computer Journal, 20(2), 141–147.

    Article  MATH  Google Scholar 

  41. Ullmann, J. R. (2007). Partition search for non-binary constraint satisfaction. Information Science, 177, 3639–3678.

    Article  MathSciNet  MATH  Google Scholar 

  42. van Dongen, M. R. C. (2006). Beyond singleton arc consistency. In Proceedings of ECAI’06 (pp. 163–167).

  43. van Hentenryck, P., & Ramachandran, V. (1995). Backtracking without trailing in CLP(R-lin). ACM Transactions on Programming Languages and Systems, 17(4), 635–671.

    Article  Google Scholar 

  44. Xu, K., Boussemart, F., Hemery, F., & Lecoutre, C. (2005). A simple model to generate hard satisfiable instances. In Proceedings of IJCAI’05 (pp. 337–342).

  45. Xu, K., Boussemart, F., Hemery, F., & Lecoutre, C. (2007). Random constraint satisfaction: Easy generation of hard (satisfiable) instances. Artificial Intelligence, 171(8–9), 514–534.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christophe Lecoutre.

Additional information

This paper is an extension of [24].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lecoutre, C. STR2: optimized simple tabular reduction for table constraints. Constraints 16, 341–371 (2011). https://doi.org/10.1007/s10601-011-9107-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-011-9107-6

Keywords

Navigation