A Generic Arc-Consistency Algorithm and its Specializations

Consistency techniques have been studied extensively in the past as a way of tackling constraint satisfaction problems (CSP). In particular, various arc-consistency algorithms have been proposed, originating from Waltz''s filtering algorithm and culminating in the optimal algorithm AC-4 of Mohr and Henderson. AC-4 runs in $O(ed^2)$ in the worst case where $e$ is the number of arcs (or constraints) and $d$ is the size of the largest domain. Being applicable to the whole class of (binary) CSP, these algorithms do not take into account the semantics of constraints. In this paper we present a new generic arc-consistency algorithm AC-5. The algorithm is parameterized on two specified procedures and can be instantiated to reduce to AC-3 and AC-4. More important, AC-5 can be instantiated to produce an $O(ed^2)$ algorithm for a number of important classes of constraints: functional, anti-functional, monotonic and their generalization to (functional, anti-functional, and monotonic) piecewise constraints. We also show that AC-5 has an important application in constraint logic programming over finite domains. The kernel of the constraint-solver for such a programming language is an arc-consistency algorithm for a set of basic constraints. We prove that AC-5, in conjuction with node consistency, provides a decision procedure for these constraints running in time $O(ed)$.

[1]  Pascal Van Hentenryck A Theoretical Framework for Consistency Techniques in Logic Programming , 1987, IJCAI.

[2]  Pascal Van Hentenryck,et al.  Constraint processing in cc(fd) , 1992 .

[3]  Roger Mohr,et al.  Good Old Discrete Relaxation , 1988, ECAI.

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

[5]  Pascal Van Hentenryck,et al.  Domains in Logic Programming , 1986, AAAI.

[6]  Pascal Van Hentenryck,et al.  The Constraint Logic Programming Language CHIP , 1988, FGCS.

[7]  Bernard A. Nadel,et al.  Constraint satisfaction algorithms 1 , 1989, Comput. Intell..

[8]  Rina Dechter,et al.  Network-based heuristics for constraint satisfaction problems , 1988 .

[9]  Francesca Rossi,et al.  An Efficient Algorithm for the Solution of Hierarchical Networks of Constraints , 1986, Graph-Grammars and Their Application to Computer Science.

[10]  Mark W. Perlin,et al.  Arc consistency for factorable relations , 1991, [Proceedings] Third International Conference on Tools for Artificial Intelligence - TAI 91.

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

[12]  Pascal Van Hentenryck,et al.  An Efficient Arc Consistency Algorithm for a Class of CSP Problems , 1991, IJCAI.

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

[14]  Pascal Van Hentenryck,et al.  Solving Large Combinatorial Problems in Logic Programming , 1990, J. Log. Program..

[15]  Eugene C. Freuder Synthesizing constraint expressions , 1978, CACM.

[16]  David L. Waltz,et al.  Generating Semantic Descriptions From Drawings of Scenes With Shadows , 1972 .

[17]  Simon Kasif,et al.  On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks , 1990, Artif. Intell..

[18]  Roger Mohr,et al.  Running efficiently arc consistency , 1986 .

[19]  Robert M. Haralick,et al.  Increasing Tree Search Efficiency for Constraint Satisfaction Problems , 1979, Artif. Intell..

[20]  Eugene C. Freuder,et al.  The Complexity of Some Polynomial Network Consistency Algorithms for Constraint Satisfaction Problems , 1985, Artif. Intell..

[21]  Joxan Jaffar,et al.  Methodology and Implementation of a CLP System , 1987, ICLP.

[22]  Ugo Montanari,et al.  Networks of constraints: Fundamental properties and applications to picture processing , 1974, Inf. Sci..

[23]  Jean-Louis Laurière,et al.  A Language and a Program for Stating and Solving Combinatorial Problems , 1978, Artif. Intell..

[24]  R. Tarjan Amortized Computational Complexity , 1985 .

[25]  Alan K. Mackworth Constraint Satisfaction , 1985 .