TR-2006013: The Dom Event and Its Use in Implementing Constraint Propagators

This paper argues the usefulness of the dom event in programming several constraint propagators. The dom event is introduced for implementing the AC-4 algorithm. For a binary constraint, whenever a value is excluded from the domain of a variable, the propagator with the dom event can locate the no-good values in the domain of the other variable in constant time. In this paper we present three application examples of the dom event in addition to the AC-4 algorithm for binary support constraints: the element constraint, channeling constraints, and set constraints. For each example, we show that the implementation using the dom event is significantly more efficient than previous implementations that rely on reification constraints or other techniques.

[1]  Jimmy Ho-Man Lee,et al.  Increasing Constraint Propagation by Redundant Modeling: an Experience Report , 1999, Constraints.

[3]  Richard J. Wallace,et al.  Why AC-3 is Almost Always Better than AC4 for Establishing Arc Consistency in CSPs , 1993, IJCAI.

[4]  Roland H. C. Yap,et al.  Making AC-3 an Optimal Algorithm , 2001, IJCAI.

[5]  Bart Demoen,et al.  Heap Memory Management in Prolog with Tabling: Principles and Practice , 2001, J. Funct. Log. Program..

[6]  François Laburhe CHOCO: implementing a CP kernel , 2007 .

[7]  Mats Carlsson,et al.  An Open-Ended Finite Domain Constraint Solver , 1997, PLILP.

[8]  Neng-Fa Zhou Programming finite-domain constraint propagators in Action Rules , 2006, Theory Pract. Log. Program..

[9]  Pascal Van Hentenryck,et al.  A Generic Arc-Consistency Algorithm and its Specializations , 1992, Artif. Intell..

[10]  Jean-Charles Régin,et al.  A Filtering Algorithm for Constraints of Difference in CSPs , 1994, AAAI.

[11]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[12]  Thomas C. Henderson,et al.  Arc and Path Consistency Revisited , 1986, Artif. Intell..

[13]  Nicolas Beldiceanu,et al.  Introducing global constraints in CHIP , 1994 .

[14]  Pascal Van Hentenryck,et al.  Design, Implementation, and Evaluation of the Constraint Language cc(FD) , 1994, Constraint Programming.

[15]  Alan K. Mackworth Consistency in Networks of Relations , 1977, Artif. Intell..

[16]  Tom Schrijvers,et al.  Translating Constraint Handling Rules into Action Rules , 2006 .

[17]  P. Bahn Better late than never , 1994, Nature.

[18]  Toby Walsh,et al.  Permutation Problems and Channelling Constraints , 2001, LPAR.

[19]  Krzysztof R. Apt,et al.  Constraint programming viewed as rule-based programming , 2000, Theory and Practice of Logic Programming.

[20]  Neng-Fa Zhou A Novel Implementation Method of Delay , 1996, JICSLP.

[21]  Carmen Gervet,et al.  Interval propagation to reason about sets: Definition and implementation of a practical language , 1997, Constraints.

[22]  Philippe Codognet,et al.  Design and Implementation of the GNU Prolog System , 2001, J. Funct. Log. Program..

[23]  Michel Leconte,et al.  Beyond the Glass Box: Constraints as Objects , 1995, ILPS.

[24]  Willem Jan van Hoeve,et al.  The alldifferent Constraint: A Survey , 2001, ArXiv.