A Compression Algorithm for Large Arity Extensional Constraints

We present an algorithm for compressing table constraints representing allowed or disallowed tuples. This type of constraint is used for example in configuration problems, where the satisfying tuples are read from a database. The arity of these constraints may be large. A generic GAC algorithm for such a constraint requires time exponential in the arity of the constraint to maintain GAC, but Bessiere and Regin showed in [1] that for the case of allowed tuples, GAC can be enforced in time proportional to the number of allowed tuples, using the algorithm GAC-Schema. We introduce a more compact representation for a set of tuples, which allows a potentially exponential reduction in the space needed to represent the satisfying tuples and exponential reduction in the time needed to enforce GAC. We show that this representation can be constructed from a decision tree that represents the original tuples and demonstrate that it does in practice produce a significantly shorter description of the constraint. We also show that this representation can be efficiently used in existing algorithms and can be used to improve GAC-Schema further. Finally, we show that this method can be used to improve the complexity of enforcing GAC on a table constraint defined in terms of forbidden tuples.

[1]  Ian P. Gent,et al.  Data Structures for Generalised Arc Consistency for Extensional Constraints , 2007, AAAI.

[2]  Jean-Charles Régin,et al.  A Fast Arc Consistency Algorithm for n-ary Constraints , 2005, AAAI.

[3]  Peter van Beek,et al.  Principles and Practice of Constraint Programming - CP 2005, 11th International Conference, CP 2005, Sitges, Spain, October 1-5, 2005, Proceedings , 2005, CP.

[4]  Ronald L. Rivest,et al.  Constructing Optimal Binary Decision Trees is NP-Complete , 1976, Inf. Process. Lett..

[5]  Aiko M. Hormann,et al.  Programs for Machine Learning. Part I , 1962, Inf. Control..

[6]  Fahiem Bacchus,et al.  Generalized NoGoods in CSPs , 2005, AAAI.

[7]  Michela Milano,et al.  Global Cut Framework for Removing Symmetries , 2001, CP.

[8]  Frédéric Benhamou Principles and Practice of Constraint Programming - CP 2006, 12th International Conference, CP 2006, Nantes, France, September 25-29, 2006, Proceedings , 2006, CP.

[9]  Toby Walsh,et al.  Principles and Practice of Constraint Programming — CP 2001: 7th International Conference, CP 2001 Paphos, Cyprus, November 26 – December 1, 2001 Proceedings , 2001, Lecture Notes in Computer Science.

[10]  J. Ross Quinlan,et al.  Induction of Decision Trees , 1986, Machine Learning.

[11]  Christophe Lecoutre,et al.  A Study of Residual Supports in Arc Consistency , 2007, IJCAI.

[12]  Jean-Charles Régin,et al.  AC-*: A Configurable, Generic and Adaptive Arc Consistency Algorithm , 2005, CP.

[13]  Christian Bessiere,et al.  Arc Consistency for General Constraint Networks: Preliminary Results , 1997, IJCAI.

[14]  Christophe Lecoutre,et al.  Generalized Arc Consistency for Positive Table Constraints , 2006, CP.