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.
Similar content being viewed by others
References
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).
Bessiere, C. (2006). Constraint propagation. In Handbook of constraint programming (chapter 3). Elsevier.
Bessiere, C., & Debruyne, R. (2005). Optimal and suboptimal singleton arc consistency algorithms. In Proceedings of IJCAI’05 (pp. 54–59).
Bessiere, C., Hebrard, E., Hnich, B., & Walsh, T. (2007). The complexity of reasoning with global constraints. Constraints, 12(2), 239–259.
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).
Bessiere, C., & Régin, J. (1997). Arc consistency for general constraint networks: Preliminary results. In Proceedings of IJCAI’97 (pp. 398–404).
Bessiere, C., Régin, J.C., Yap, R., & Zhang, Y. (2005). An optimal coarse-grained arc consistency algorithm. Artificial Intelligence, 165(2), 165–185.
Boussemart, F., Hemery, F., Lecoutre, C., & Sais, L. (2004). Boosting systematic search by weighting constraints. In Proceedings of ECAI’04 (pp. 146–150).
Briggs, P., & Torczon, L. (1993). An efficient representation for sparse sets. ACM Letters on Programming Languages and Systems, 2(1–4), 59–69.
Carlsson, M. (2006). Filtering for the case constraint. Talk given at the advanced school on global constraints.
Cheng, K., & Yap, R. (2006). Maintaining generalized arc consistency on ad-hoc n-ary Boolean constraints. In Proceedings of ECAI’06 (pp. 78–82).
Cheng, K., & Yap, R. (2008). Maintaining generalized arc consistency on ad-hoc r-ary constraints. In Proceedings of CP’08 (pp. 509–523).
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.
Dechter, R. (2003). Constraint processing. Morgan Kaufmann.
Dechter, R., & Pearl, J. (1989). Tree clustering for constraint networks. Artificial Intelligence, 38(3), 353–366.
Fredkin, E. (1960). Trie memory. Communications of the ACM, 3(9), 490–499.
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).
Ginsberg, M. L. (1993). Dynamic backtracking. Journal of Artificial Intelligence Research, 1, 25–46.
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).
Gyssens, M., Jeavons, P., & Cohen, D. A. (1994). Decomposing constraint satisfaction problems using database techniques. Artificial Intelligence, 66(1), 57–89.
Haralick, R. M., & Elliott, G. L. (1980). Increasing tree search efficiency for constraint satisfaction problems. Artificial Intelligence, 14, 263–313.
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.
Katsirelos, G., & Walsh, T. (2007). A compression algorithm for large arity extensional constraints. In Proceedings of CP’07 (pp. 379–393).
Lecoutre, C. (2008). Optimization of simple tabular reduction for table constraints. In Proceedings of CP’08 (pp. 128–143).
Lecoutre, C., & Cardon, S. (2005). A greedy approach to establish singleton arc consistency. In Proceedings of IJCAI’05 (pp. 199–204).
Lecoutre, C., Cardon, S., & Vion, J. (2007). Conservative dual consistency. In Proceedings of AAAI’07 (pp. 237–242).
Lecoutre, C., & Hemery, F. (2007). A study of residual supports in arc consistency. In Proceedings of IJCAI’07 (pp. 125–130).
Lecoutre, C., & Szymanek, R. (2006). Generalized arc consistency for positive table constraints. In Proceedings of CP’06 (pp. 284–298).
Lecoutre, C., & Vion, J. (2008). Enforcing arc consistency using bitwise operations. Constraint Programming Letters, 2, 21–35.
Lhomme, O., & Régin, J. C. (2005). A fast arc consistency algorithm for n-ary constraints. In Proceedings of AAAI’05 (pp. 405–410).
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).
Mackworth, A. K. (1977). Consistency in networks of relations. Artificial Intelligence, 8(1), 99–118.
Mackworth, A. K. (1977). On reading sketch maps. In Proceedings of IJCAI’77 (pp. 598–606).
Mohr, R., & Masini, G. (1988). Good old discrete relaxation. In Proceedings of ECAI’88 (pp. 651–656).
Pesant, G. (2004). A regular language membership constraint for finite sequences of variables. In Proceedings of CP’04 (pp. 482–495).
Rossi, F., Petrie, C., & Dhar, V. (1990). On the equivalence of constraint satisfaction problems. In Proceedings of ECAI’90 (pp. 550–556).
Sabin, D., & Freuder, E. C. (1994). Contradicting conventional wisdom in constraint satisfaction. In Proceedings of CP’94 (pp. 10–20).
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.
Stergiou, K., & Walsh, T. (1999). Encodings of non-binary constraint satisfaction problems. In Proceedings of AAAI’99 (pp. 163–168).
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.
Ullmann, J. R. (2007). Partition search for non-binary constraint satisfaction. Information Science, 177, 3639–3678.
van Dongen, M. R. C. (2006). Beyond singleton arc consistency. In Proceedings of ECAI’06 (pp. 163–167).
van Hentenryck, P., & Ramachandran, V. (1995). Backtracking without trailing in CLP(R-lin). ACM Transactions on Programming Languages and Systems, 17(4), 635–671.
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).
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
This paper is an extension of [24].
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10601-011-9107-6