, Volume 19, Issue 1, pp 77–120 | Cite as

Optimal and efficient filtering algorithms for table constraints

  • Jean-Baptiste Mairy
  • Pascal Van Hentenryck
  • Yves Deville


Filtering algorithms for table constraints can be classified in two categories: constraint-based and value-based. In the constraint-based approaches, the propagation queue only contains information on the constraints that must be reconsidered. For the value-based approaches, the propagation queue also contains information on the removed values. This paper proposes five efficient value-based algorithms for table constraints. Two of them (AC5TCOpt-Tr and AC5TCOpt-Sparse) are proved to have an optimal time complexity of O(r·t+r·d) per table constraint. Substantial experimental results are presented. An empirical analysis is conducted on the effect of the arity of the tables. The experiments show that our propagators are the best when the arity of the table is 3 or 4. Indeed, on instances containing only binary constraints, our algorithms are outperformed by classical AC algorithm AC3rm. AC3rm is dedicated to binary constraints. However, all our algorithms outperform existing state-of-the-art constraint based STR2+ and MDD c and the optimal value-based STR3 algorithms on those instances. On instances with small arity tables (up to arity 4), all our algorithms are generally faster than STR2+, MDD c and than STR3. AC5TCOpt-Sparse is globally the best propagator on those benchmarks. On benchmarks containing large arity tables (arity 5 or more), each of the three existing state-of-the-art algorithms is the winning strategy on one different benchmark.


Propagation Consistency Filtering algorithms Table constraints 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    van Beek, P. (2006). Backtracking search algorithm. In Rossi, F., Beek, P.v., Walsh, T. (Eds.), Handbook of Constraint Programming (Foundations of Artificial Intelligence). New York: Elsevier Science Inc.Google Scholar
  2. 2.
    Beldiceanu, N., Carlsson, M., Debruyne, R., Petit, T. (2005). Reformulation of global constraints based on constraints checkers. Constraints, 10(4), 339–362.CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Bessière, C. (2006). Constraint propagation. In Rossi, F., Beek, P.v., Walsh, T. (Eds.), Handbook of Constraint Programming (Foundations of Artificial Intelligence). New York: Elsevier Science Inc.Google Scholar
  4. 4.
    Bessière, C., & Régin, J. C. (1997). Arc consistency for general constraint networks: preliminary results. IJCAI, (1), 398–404.Google Scholar
  5. 5.
    Briggs, P., & Torczon, L. (1993). An efficient representation for sparse sets. ACM Letters on Programming Languages and Systems (LOPLAS), 2(1-4), 59–69.CrossRefGoogle Scholar
  6. 6.
    Carlsson, M. (2006). Filtering for the case constraint, talk given at the advanced school on global constraints.Google Scholar
  7. 7.
    Cheng, K., & Yap, R. (2010). An mdd-based generalized arc consistency algorithm for positive and negative table constraints and some global constraints. Constraints, 15, 265–304.CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Deville, Y., & Van Hentenryck, P. (2010). Domain consistency with forbidden values. In Proceedings of CP 2010, pp. 191–205. Springer.Google Scholar
  9. 9.
    Fleming, P.J., & Wallace, J.J. (1986). How not to lie with statistics: the correct way to summarize benchmark results. Communication ACM, 29(3), 218–221.CrossRefGoogle Scholar
  10. 10.
    Gange, G., Stuckey, P. J., Szymanek, R. (2011). Mdd propagators with explanation. Constraints, 16(4), 407–429.CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    Gent, I. P., Jefferson, C., Miguel, I. (2006). Watched literals for constraint propagation in Minion. In Proceedings of CP 2006 (pp. 182–197). Springer-Verlag.Google Scholar
  12. 12.
    Gent, I. P., Jefferson, C., Miguel, I., Nightingale, P. (2007). Data structures for generalised arc consistency for extensional constraints. In Proceedings of the AAAI 07 (pp. 191–197). AAAI Press.Google Scholar
  13. 13.
    Katsirelos, G., & Walsh, T. (2007). A compression algorithm for large arity extensional constraints. In Proceedings of CP 2007 (pp. 379–393). Springer-Verlag.Google Scholar
  14. 14.
    Lecoutre, C. Instances of the Constraint Solver Competition.
  15. 15.
    Lecoutre, C. (2009). Constraint Networks: Techniques and Algorithms. ISTE/Wiley.Google Scholar
  16. 16.
    Lecoutre, C. (2011). Str2: optimized simple tabular reduction for table constraints. Constraints, 16, 341–371.CrossRefzbMATHMathSciNetGoogle Scholar
  17. 17.
    Lecoutre, C., & Szymanek, R. (2006). Generalized arc consistency for positive table constraints. In Proceedings of CP 2006 (pp. 284–298).Google Scholar
  18. 18.
    Lecoutre, C., Hemery, F., etal (2007). A study of residual supports in arc consistency. In Proceedings of IJCAI 2007 (vol.7, pp. 125–130).Google Scholar
  19. 19.
    Lecoutre, C., Likitvivatanavong, C., Yap, R. (2012). A path-optimal gac algorithm for table constraints. In Proceedings of ECAI 2012 (pp. 510–515).Google Scholar
  20. 20.
    Lhomme, O. (2004). Arc-consistency filtering algorithms for logical combinations of constraints. In Proceedings of CPAIOR 2004 (pp. 209–224).Google Scholar
  21. 21.
    Lhomme, O., & Régin, J. C. (2005). A fast arc consistency algorithm for n-ary constraints. In Proceedings of the nationnal conference on artificial intelligence (pp. 405–410). AAAI Press.Google Scholar
  22. 22.
    Mairy, J. B., Van Hentenryck, P., Deville, Y. (2012). An optimal filtering algorithm for table constraints. In Proceedings of CP 2012 (vol. 3709, pp. 496–511). Springer: Berlin.Google Scholar
  23. 23.
    Mohr, R., & Masini, G. (1988). Good old discrete relaxation. In Proceedings of ECAI 1988 (pp. 651–656).Google Scholar
  24. 24.
    Perron, L., & Furnon, V. or-tools.
  25. 25.
    Pesant, G. (2004). A regular language membership constraint for finite sequences of variables. In Proceedings of CP 2004 (pp. 482–495). Springer.Google Scholar
  26. 26.
    Quimper, C. G., & Walsh, T. (2006). Global grammar constraints. In Proceedings of CP 2006 (pp. 751–755). Springer.Google Scholar
  27. 27.
    Régin, J. C. (2011). Improving the expressiveness of table constraints. In Proceedings of ModRef 2011, Workshop held with CP 2011.Google Scholar
  28. 28.
    Samaras, N., & Stergiou, K. (2005). Binary encodings of non-binary constraint satisfaction problems: algorithms and experimental results. Journal of Artificial Intelligence Research, 24(1), 641–684.zbMATHMathSciNetGoogle Scholar
  29. 29.
    Ullmann, J. R. (2007). Partition search for non-binary constraint satisfaction. Information Sciences, 177(18), 3639–3678.CrossRefzbMATHMathSciNetGoogle Scholar
  30. 30.
    Van Hentenryck, P., & Ramachandran, V. (1995). Backtracking without trailing in CLP(\(\Re _{lin}\)). ACM Transactions on Programming Languages and Systems, 17(4), 635–671.CrossRefGoogle Scholar
  31. 31.
    Van Hentenryck, P., Deville, Y., Teng, C.M. (1992). A generic arc-consistency algorithm and its specializations. Artificial Intelligence, 57(2–3), 291–321.CrossRefzbMATHMathSciNetGoogle Scholar
  32. 32.
    Wallace, R. (2005). Factor analytic studies of csp heuristics. In Proceedings of CP 2005 (vol. 3709, pp. 712–726). Springer: Berlin / Heidelberg.Google Scholar
  33. 33.
    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.CrossRefzbMATHMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Jean-Baptiste Mairy
    • 1
  • Pascal Van Hentenryck
    • 2
  • Yves Deville
    • 1
  1. 1.ICTEAM, Department of Computing Science and EngineeringUniversité catholique de LouvainLouvain-la-NeuveBelgium
  2. 2.NICTA and the Australian National UniversityCanberra CityAustralia

Personalised recommendations