Artificial InteHigence 65 (1994) 347-361 Elsevier
347
ARTINT 1122
Research Note
Characterising tractable constraints Martin C. Cooper Dbpartement d'Informatique, University of Pau, Pau, France
David A. Cohen and Peter G. Jeavons Department of Computer Science, Royal Holloway and Bedford New College, University of London, Egham, Surrey TW20 OEX, England, UK Received May 1993 Revised August 1993
Abstract Cooper, M.C., D.A. Cohen and P.G. Jeavons, Characterising tractable constraints (Research Note), Artificial Intelligence 65 (1994) 347-361. Finding solutions to a binary constraint satisfaction problem is known to be an NPcomplete problem in general, but may be tractable in cases where either the set of allowed constraints or the graph structure is restricted. This paper considers restricted sets of constraints which are closed under permutation of the labels. We identify a set of constraints which gives rise to a class of tractable problems and give polynomial time algorithms for solving such problems, and for finding the equivalent minimal network. We also prove that the class of problems generated by any set of constraints not contained in this restricted set is NP-complete.
1. Introduction
Finding solutions to a constraint satisfaction problem is known to be an NP-complete problem in general [ l 1 ] even when the constraints are Correspondence to: P.G. Jeavons, Department of Computer Science, Royal Holloway and Bedford New College, University of London, Egham, Surrey TW20 0EX, England, UK. Telephone: 0784 443433. Fax: 0784 443420. E-mail:
[email protected].
0004-3702/94/$ 07.00 ~) 1994 - - Elsevier Science B.V. All rights reserved
SSDI 0 0 0 4 - 3 7 0 2 ( 9 3 ) E 0 0 6 9 - X
348
M.C. Cooper et al.
restricted to binary constraints. However, many of the problems which arise in practice have special properties which allow them to be solved efficiently. The question of identifying restrictions to the general problem which are sufficient to ensure tractability has been discussed by a number of authors. Such restrictions may either involve the structure of the constraints, in other words which variables may be constrained by which other variables, or they may involve the nature of the constraints, in other words which combinations of values may be allowed for variables which are mutually constrained. Examples of the first approach may be found in [4-6,8,13,14] and examples of the second approach may be found in [3,13,17]. In this paper we take the second approach, and consider what restrictions must be imposed on the nature of the constraints in order to ensure that a binary constraint satisfaction problem may be solved efficiently. We identify a particular class of constraints, which we call 0/1/all constraints, 1 and we give a polynomial time algorithm for solving any problem involving constraints from that class. We also demonstrate that when the constraints are chosen from this restricted class, the problem of finding the minimal network corresponding to a given problem reduces to the problem of establishing path consistency, and may therefore also be solved efficiently. Finally, we show that any set of binary constraints which is closed under permutation of the labels will generate a set of problems which is NPcomplete, unless all of its elements are 0/1/all constraints. This means that the class of 0/1/all constraints is the most general possible class of constraints which guarantees efficient solution even when the labels may be arbitrarily permuted. 2 In summary, this paper identifies the borderline between tractable and intractable binary constraint satisfaction problem classes in terms of the type of constraints they contain.
2. D e f i n i t i o n s D e f i n i t i o n 2.1. A finite constraint satisfaction problem (CSP) consists of a
finite set of nodes, N (identified by the natural numbers 1,2 . . . . . n), each of which has an associated finite set of possible labels Ai. The labellings allowed for specified pairs of nodes are restricted by a set of constraints, C. Each constraint Cij E C is a list of pairs of labels from Ai and Aj which may be simultaneously assigned to the nodes i and j, i.e. Cij c_ Ai × Aj. IConstraints of this type were independently identified in [10] as an important class which can be solved efficiently. They are a special case of the 'row-convex' constraints described in [16].
2Certain other families of tractable constraints, which are not preserved by permutations of the labels, are described in [ 17 ].
Characterising tractable constraints
349
A solution to a CSP is a labelling of the nodes which is consistent with all of the constraints. (Note that each of the labels must be selected from the appropriate set Ai, s o the Ai may be considered as unary constraints.) For the purposes of this paper, a CSP will be considered solved once a single solution has been found. It will be useful to have a notation, Hi (j), for the projection of a constraint Cij onto node i:
A i ( j ) = {x E A~ I 3y E Aj, ( x , y ) E Cij}. We now define a particular restricted set of constraints which will be the focus for the rest of the paper: Definition 2.2. A constraint, Cij, is a directed O~1~all constraint if
Vx (3y, z ( ( x , y ) ~ Cij A (X,Z) E Cij A y # z) =~ Vw E A j ( i ) ( ( x , w ) E Cij)).
(1)
In words, each label x E Ai is consistent with zero, one or all of the labels in Aj(i). If both Cij and the corresponding constraint C ji = {(y, x) I ( x, y) E CO} are directed 0/1/all constraints, then Cij will be simply referred to as a "0/1/all constraint".
Example 2.3. If the maximum size of any Ai is 2, then every possible constraint is a 0/1/all constraint since each label for node i is consistent with zero, one or two (i.e. all) labels for node j, and vice versa.
Example 2.4. To obtain a constraint which is not a 0/1/all constraint we must have a label (say a) for one node, which is consistent with at least two, but not all, of the labels for the other node (say a and b but not c). A smallest possible example is
{(a,a),(a,b),(b,c)}.
3. Characterisation of O/l/all constraints In order to characterise 0/1/all constraints, we define the following three types of constraint:
Definition 3.1. A complete constraint is any constraint Cij which is equal to A x B for some A c_ Ai and some B c_ Aj. A permutation constraint is a constraint Cij which is equal to { (x, i t ( x ) ) [ x a A} for some A c_ Ai and some bijection n : A ~ B, where B c_ Aj.
M.C. Cooper et al.
350
a .
b
b
C
C
Complete
.a
b -
b
d
d
b
Permutation
b
Two-Fan
Fig. 1. Three types of constraint.
A two-fan constraint is a constraint Cij where there exists x E A c_ A i and y E B C_Aj with Cij = (X × B) U (A x y). These three types of constraint are illustrated in Fig. 1 which shows a typical complete constraint, permutation constraint and two-fan constraint. In this figure the constraints are shown diagrammatically by drawing a single point for each possible label for node i on the left, and a single point for each possible label for node j on the right, and then connecting two points if the corresponding combination of labels is allowed by the constraint. It can easily be verified that any complete constraint is a 0/1/all constraint, since the fight-hand side of the implication in Definition 2.2 is always satisfied. Any permutation constraint also trivially satisfies the definition of a 0/1/all constraint, since the left-hand side of the implication is never satisfied. Finally, any two-fan constraint Cij = (x × B) U (A × y) is also a 0/1/all constraint since for any p c A i ( j ) , either p = x, and Cij allows p to be combined with every member of Aj (i), or else p ~ x, in which case Cij only allows p to be combined with y (similar remarks apply to Cji). We will now prove that there are no other types of 0/1/all constraint. First we define a fan-out. Definition 3.2. A label x E Ai such that
Vy E A j ( i ) ( ( x , y ) C Cij) will be called a fan-out from i to j. We now prove a technical lemma. Lemma 3.3. I f Cij is a O~1~all constraint which is not a complete constraint, then there is at most one fan-out from i to j.
Characterising tractable constraints
351
Proof. Let Cij be a 0/1/all constraint, and assume that there is more than one fan-out from i to j. In other words, there exists w, x • Ai, w ~ X such that
Vy • A j ( i ) ( ( w , y ) • Cij A ( x , y ) • Cij). Then, directly from Definition 2.2, we can deduce that
Vy • Aj(i) (Vz • Ai(j) ( (z,y) • Cq) ) which is the definition of a complete constraint. The lemma follows immediately. [] We may now show that all 0/1/all constraints must be of a type described in Definition 3.1.
Lemma 3.4 (Categorisation). Any O/1/all constraint & either a complete constraint, a permutation constraint, or a two-fan constraint.
Proof. Let Cij be a 0/1/all constraint which is neither a permutation constraint nor a complete constraint. We shall demonstrate that Cij must be a two-fan constraint. Without loss of generality, suppose that Cij is not a permutation constraint because (x, u), (x, v) • Cij where u ~ v. By Definition 2.2, x must be a fan-out, that is
Vz • Aj(i) ( ( x , z ) • Gj). If Ai ( j ) -- {x}, then Cij would be complete, so we can choose w ~ x such that ( w , y ) • Cij for some y • Aj(i). But then, by Definition 2.2, since Cji is a 0/1/all constraint and ( w , y ) , ( x , y ) • Cji, y must be a fan-out, that is
Vz • Ai(j) ( ( z , y ) • Cij). By Lemma 3.3, we know that Cij contains at most one fan-out from i to j, and at most one fan-out from j to i. This means that Cij is a two-fan constraint with fan-outs at x and y. [] To complete the description of 0/1/all constraints, we show that this class is preserved under some standard operations on constraints:
Lemma 3.5. The set of O/1/all constraints is closed under the following operations: (1) Intersection, N. (2) Composition, o, where Cij o Cjk is the constraint between i and k, { ( P , q ) I 3r E Aj, (p,r) E Cij A (r,q) E Cjk } .
M.C. Cooper et al.
352
(3) Restriction,
II, where
Cij[[(exQ) = {(p,q)6Ci/lp6P,
q6Q}.
(4) Permutation, for permutations n o f Ai and a o f A j,
C~jxa = { (rr(p),a(q) ) I (P,q) ~ Ciy}. Proof. The proof for intersection, restriction, and permutation follows immediately from Definition 2.2. The proof for composition follows from Lemma 3.4 by considering compositions of each of the three possible types of 0/1/all constraints individually. []
4. Polynomial algorithm for O/I/alI-CSPs Any CSP in which every constraint is a 0/1/all constraint will be referred to as a 0/1/all-CSP. The algorithm Z O A (Zero/One/All) presented in this section either finds a single solution to a 0/1/all-CSP or informs us that no solution exists (if this is the case) in polynomial time. It can be regarded as a generalisation of the well-known algorithm to solve the restricted satisfiability problem, known as 2SAT [7]. Z O A first establishes arc consistency [11 ]. This means that labels are eliminated from the sets Ai, and the constraints are restricted accordingly, until every label in Ai is consistent with at least one label in A j for each i and j with Ci/E C. It follows from Lemmas 3.4 and 3.5 that after establishing arc consistency in a 0/1/all-CSP all the constraints must be of the following three types: • the complete constraint Ai x A j, • permutation constraints corresponding to some bijection ~z : Ai --~ A j, • two-fan constraints with A i ( j ) = Ai and A j ( i ) = Aj. We define the following notation for the third class of constraints: Definition 4.1. If Cij is a two-fan constraint and, furthermore, A i ( j ) = Ai and A / ( i ) = A j, then we call Cij a strong two-fan and denote it (x,y) where x is the fan-out from i to j and y is the fan-out from j to i. After establishing arc consistency, Z O A constructs a solution. In order to do this, it selects a label, xi, for node i from the set Ai. For each constraint C~j, there are now two possible cases to consider: • If the constraint Cij is a permutation constraint, with n(xi) = xj, or if Cij is the double fan-out (u, xj) with u # xi, then only the label xj is consistent with x/.
Characterising tractable constraints
353
• Otherwise, Cij is either the complete constraint or a double fan-out (xi, v) for some v, meaning that xi is consistent with all possible labels for node j. If the label x/ uniquely determines the label x j for node j, then the label xj may in turn determine labels for other nodes. By propagating these assignments, Z O A will eventually encounter one of two possibilities: • either an inconsistency occurs (i.e., two different labels must be assigned to the same node), in which case x~ is not a consistent label for node i, so Z O A tries the next element of Ai. • or the propagation halts with a mutually consistent set M of assignments for some subset of the nodes. In the latter case, the assignments in M are not only mutually consistent, but are also consistent with all possible labellings of the set of nodes N' not assigned a label in M. This means that Z O A can work on the subproblem on N' completely independently of the set of assignments M. If a solution M ' exists for the subproblem on N ' , then M t_JM ' is a complete consistent labelling. If, on the other hand, no solution exists for the subproblem on N', then no complete consistent labelling exists. The subproblem on N ' can of course be solved in exactly the same way as the original problem. In order to analyse its complexity, we give a formal version of ZOA. ZOA: Establish arc consistency; OA(N) The recursive subprogram O A ( N ) solves an arc-consistent 0/1/alI-CSP. OA(N): Select any node i E N; REPEAT Select and delete an element x from Ai; Propagate(x, i, N, M, consistent) U N T I L consistent O R Ai = ~, IF consistent T H E N BEGIN write(M); N ' : = N - set of nodes assigned a label in M; IF N ' # 0 T H E N O A ( N ' ) END ELSE write ('NO SOLUTION EXISTS')
M.C. Cooper et aL
354
The propagation of assignments of labels to nodes is performed by the following subprogram. The result is returned in the output parameters M (the set of assignments implied by the assignment xi := x ) and "consistent" (a boolean variable which is true if the implied assignments are mutually consistent).
Propagate(x, i, N, M, consistent): L := {(x,i)}; FOR E A C H j E N D O Xi : =
x 2 := null;
X;
consistent : = true; REPEAT Delete first element (y, j ) from L; F O R EACH constraint Cjk such that k E N DO IF there is only one z such that (y, z) ¢ Cjk T H E N IF Xk = null T H E N BEGIN append (z,k) to L; Xk :=
Z
END ELSE IF Xk # z T H E N consistent := false; U N T I L (L = 0) OR N O T consistent; IF consistent T H E N M := {(xj,j) [j E N A x j # null}
Propagate keeps a list L of assignments which are to be propagated. The worst-case time complexity of Propagate is O (e), where e is the number of constraints in the CSP (the number of edges in the constraint graph). This is because each constraint Cjk is examined at most twice: when a value is assigned to xg and when a value is assigned to Xk. The worst-case time complexity of the REPEAT U N T I L loop in OA is O(ae), where a is the maximum number of labels in any of the label sets Ai. Hence the worst-case time complexity of O A ( N ) is O(nae), where n is the number of nodes, since at least one node is assigned a value on each recursive call. Arc consistency can be established in O ( e a 2) time [12]. Therefore, the worst-case time complexity of Z O A is O(ea(a + n)), which is no greater than O(n2a(a + n)). The average-case complexity of ZOA is undoubtedly much less, but this proves the result that 0/1/all-CSPs can be solved in polynomial time. The idea of "subtracting out" a set M of assignments, which are both mutually consistent and independent of the labels for the remaining nodes N', can also be applied to other problems which are not expressible as 0/1/all-CSPs. For example, the occlusion problem, first stated as a CSP by
Characterising tractable constraints
355
Ullmann [l 5 ], has been shown to be solvable in polynomial time using a "subtracting out" algorithm [2].
5. Establishing minima.lity of a 0/1/alI-CSP
A CSP is said to be minimal if there is a constraint specified between every pair of nodes, and every element of every constraint can be extended to a complete solution [13 ]. It is minimal in the sense that no element can be deleted from a constraint without losing at least one complete solution. For every CSP there is a corresponding minimal CSP with the same solutions, since it is simply the projection of the set of solutions onto each pair of nodes. In general, calculating the minimal CSP corresponding to a given CSP is as difficult as solving the given CSP, and is therefore NP-complete [ 11 ]. However, in this section we shall show that path consistency (3-consistency) [ 11 ] is sufficient to ensure minimality for 0/1/all-CSPs. Definition 5.1. A CSP is path consistent (3-consistent) if, for any three nodes i, j and k, Cik C_ Cij o Cjk.
To establish this result we need the following two lemmas: Lemma 5.2. After application o f a path consistency algorithm, a O/1/alI-CSP is still a O~ 1/alI-CSP.
Proof. Path consistency can be established by repeatedly applying the operation Cik : m Cik ["1 ( Cij o Cjk )
for all triples of nodes i, j, k until there are no more changes in the constraints. (Any pair of nodes, i, j, for which no constraint is specified originally is assumed to be constrained by the complete constraint Ai x A j, which is a 0/1/all constraint.) Since the set of 0/1/all constraints is closed under intersection and composition (Lemma 3.5), we can deduce that it is closed under application of this path consistency algorithm. [] Lemma 5.3. In a path-consistent O/1/all-CSP, for any label p # q, if Cq = (s,p} and Cjg = (q,r), then Cik = (s,r).
Proof. Suppose that Cij = (s,p) and Cjk = (q,r), where p # q. (Two constraints of this form are illustrated in Fig. 2.) Let x E Ai. Now (x, p) E Cij, but (p,y) E Cjk only for y = r (since p # q). Therefore, we must have
M.C. Cooper et al.
356
i
j
(s,p)
k
(q, r)
Fig. 2. The composition of two strong two-fans.
( x , r ) ¢ Cik, otherwise ( x , p ) would have to be deleted from Cij by path consistency. Similarly (s, y) ¢ Ci~ for all y ¢ Ak. Therefore Cik 3_ (s, r). However, we know, by path consistency, that Cik C_ Cij o Cjk, the composition of Cij and Cjk. Any path from i to k either starts at s or finishes at r (see Fig. 2), and hence Cij o Cjk C_ (s, r). Therefore Ci~ = (s, r). [] Theorem 5.4. A O/1/all-CSP is minimal after application o f a path consistency algorithm. Proof. By Lemma 5.2, we need only show that a path-consistent 0/1/all-CSP is minimal. We therefore consider a path-consistent 0/1/alI-CSP. We will show that for any i in the range 3 to n, any consistent labelling xl . . . . , Xi-l can be extended to a consistent labelling x l , . . . , x i - l , xi. There are two distinct cases:
Case a. There is a j ¢ { 1 , . . . , i - 1} such that Cji is a permutation constraint associated with the bijection n. In this case, we can simply choose xi = n (x j). By path consistency, xi must be consistent with each Xk, k < i, since xj is consistent with each Xk, k < i. Case b. Each constraint Cji, for j < i, is either a complete constraint or a strong two-fan (p, q). Call a node j 6 { 1. . . . . i - 1} restrictive if Cji = (pj, qj) with p j ¢ xj. If there is a restrictive node r with Cri = (Pr, qr), and a second restrictive node s with Cs~ = (Ps, qs), then we will show that qs = q,. Assume for contradiction that q~ ~ qr. Then, by Lemma 5.3, Cr~ = (P~,Ps). However, r and s are
Characterising tractable constraints
357
restrictive, so xr # Pr and xs # Ps, which implies that (Xr, xs) q~ Crs, so Xr and xs are not consistent labellings for nodes r and s, which contradicts the choice of Xr and Xs. If there is a restrictive node r with Cri = (Pr, qr), then we label node i with qr, otherwise we choose an arbitrary label for node i from the set Ai. We have shown that this choice of label satisfies Cij for any restrictive node j E { 1. . . . . i - 1}, and it is also clearly satisfies Cij for any unrestrictive node j E { 1 , . . . , i - 1}. This completes the proof for the second case. [] Note that Montanari established a similar result for constraints which satisfy a "distributivity" property [13], but 0/1/all constraints are not distributive, in the sense defined by Montanari. The above proof shows that the following simple algorithm will always find a complete consistent labelling, given a path-consistent 0/1/all-CSP as input. Choose any xl E A1 (2); FORi:= 2TOnDO IF 3j < i such that ( x j , y ) E Cji for only one label y THEN Xi :---- y ELSE Choose any label xi E Ai Since path consistency can be established in O(n3a 3) time [9], we thus have another polynomial time algorithm to solve 0/1/all-CSPs.
6. NP-completeness of all other constraint sets 0/1/all-CSPs are solvable in polynomial time. We have thus obtained a polynomially solvable class of CSPs by limiting the set of constraints which can occur in the CSP. We will now show that, in a certain sense, this is the largest class of tractable CSPs which can be obtained by restricting the nature of the constraints. Let CSP (S) denote the class of constraint satisfaction problems in which all the constraints are elements of some set S. We will show that, for any S which is closed under permutations and restrictions on the label sets (composition with unary constraints), CSP (S) is NP-complete, unless every element of S is a 0/1/all constraint. We first prove the following lemmas: Lemma 6.1. Let S be a set o f constraints closed under permutations and restrictions on the label sets. I f S contains a constraint Cij which is not a
358
M.C. Cooper et al.
a
a
b b c
Case 1
c
Case 2
Case 3
Fig. 3. The three generic constraints which are not O/I/all constraints.
O~1~all constraint, then S also contains a constraint which is equivalent to one of the three constraints illustrated in Fig. 3. Proof. Without loss of generality, suppose that C i j does not satisfy Definition 2.2 of a directed 0/1/all constraint. Then there must be a label, say a, in Ai which is consistent with at least two, but not all, labels in Aj (i). Suppose that (a,a), (a,b) E Cij and (a,c) ~_ Cij, where c E Aj(i). But c ~ Aj(i) implies that there is a label in Ai, say b # a, such that (b,c) c Cij. We identify four different cases:
Case Case Case Case
1. 2. 2'. 3.
(b,a), (b,b) (b,a) ~ Cij, (b,a) ~ Cij, (b,a), (b,b)
f[ C,j, (b,b) c Cij, (b,b) f[ Cij, ~ Cij.
Cases 1, 2 and 3 are illustrated in Fig. 3. Case 2' is equivalent to Case 2 after permutation of labels a and b in Aj. Since S is closed under permutations and restrictions on the label sets Ai and A j, S contains at least one of the constraints shown in Fig. 3. [] [,emma 6.2. Any constraint between two nodes with three possible labels can
be constructed by composition and intersection from any one of the constraints of Fig. 3 and permutations of it. Proof. Figure 4 shows that, by inserting extra nodes kl, k2, k3 between nodes i and j in Case I, kl, k2 in Case 2 and kl in Case 3, we can arrange that the resulting constraint allows every pair of labels except for one, say (a, a). For example, in Case 1, (a, b) E Cij since there exists a consistent labelling of the form (a . . . . . b) for nodes (i, kl,k2,ka,j), namely (a,b,c,b,b). However, (a, a) ~ Cij since there is no consistent labelling of the form (a . . . . . a) for (i, ki,k2, ka,j). The four constraints Caq, Cklk2, Q,2k3, Ck3j c a n all be
Characterising tractableconstraints i
kl
k2
k3
j
359 i
j
C
C
i
j
¢
C
i
j
C
C
Case 1 C
Case 2
O
-
~ C O " " -
i
k1
b
a b
C
C
k2
j
b
b
C
C
i
kI
C
t)°w~'~eC
j
Case 3
Fig. 4. Constructionof constraint disallowinga single pair. obtained from Case 1 in Fig. 3 by permutations of the label sets. Hence, by permuting the label sets as necessary, we can construct constraint which allows every possible pair of labels except (x,y), for choice of labels x and y. By connecting these constraints in parallel we form the constraint which disallows any desired combinations of labels, the result follows. []
the any can and
Lemma 6.3. Let T be the set of all possible constraints with at most three
labels for each node. Let S be a set of constraints closed under permutations and restrictions on the label sets, which does not consist entirely of O/1/all constraints. Then there is a polynomial reduction from CSP( T) to CSP(S). Proof. By Lemma 6.1 S must contain one of the constraints of Fig. 3. By the proof of Corollary 6.2 any member of T may be constructed from this constraint and its permutations by using a network containing at most 27 additional nodes and 36 edges. (Since at most 3 additional nodes and 4 edges are required for the series construction of each constraint disallowing a single pair of values, as shown in Fig. 3.) Hence, given any problem P in C S P ( T ) we may replace each edge in the constraint graph with a network generating the same constraint in polynomial time, to obtain a problem P' in CSP(S). The solutions to P are projections of the solutions to P' onto the original nodes. [] Theorem 6.4. Let S be a set of constraints closed under permutations and restrictions on the label sets, which does not consist entirely of O~1~all constraints. Then the set of problems CSP(S) is NP-complete.
360
M . C Cooper et al.
Proof. Any constraint satisfaction problem clearly belongs to NP [7]. Furthermore, GRAPH 3-COLORABILITY is an NP-complete problem [7] and Lemma 6.3 gives a polynomial reduction of GRAPH 3-COLORABILITY into CSP(S). []
7. Conclusion This paper has demonstrated the significance of the class of constraints which have been designated as 0/1/all constraints. These results provide very efficient techniques for any constraint satisfaction problem where the constraints lie within this class. This may be known a priori from some feature of the original problem (such as the fact that the nodes are binary-valued), or it may be achievable by suitable pre-processing (such as the application of a k-consistency algorithm [ 1 ] or the labelling of selected nodes). In order words, we have identified another possible class of "target" problems, for which an efficient algorithm is known, which can be used to provide a possible goal for a general problem solving scheme, as in [4]. We have also shown that any set of problems with restricted constraints outside of this target class is NP-complete, so it is unlikely that efficient general solution techniques exist.
Acknowledgements The authors wish to acknowledge the support of the British Council for this research.
References [ 1] M.C. Cooper, An optimal k-consistency algorithm, Artif. Intell. 41 (1990) 89-95. [2] M.C. Cooper, Visual Occluaion and the Interpretation of Ambiguous Pictures (Ellis Horwood, Chic,ester, England, 1992). [3] R. Dechter, From local to global consistency, Artif. Intell. 55 (1992) 87-107. [4] R. Dechter and J. Pearl, Network-based heuristics for constraint-satisfation problems, Artif. Intell. 34 (1988) 1-38. [5] E.C. Freuder, A sufficient condition for backtrack-free search, J. ACM 29 (1982) 24-32. [6 ] E.C. Freuder, A sufficient condition for backtrack-bounded search, J. A CM 32 (1985) 755-761. [7] M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to NPCompleteness (Freeman, San Francisco, CA, 1979). [8] M. Gyssens, P.G. Jeavons and D.A. Cohen, Decomposing constraint satisfaction problems using database techniques, Artif. Intell. 66 (1994).
Characterising tractable constraints
361
[9] C.C. Han and C.-H. Lee, Comments on Mohr and Henderson's path consistency algorithm, Artif. lntell. 36 (1988) 125-130. [ 10] L.M. Kirousis, Fast parallel constraint satisfaction, Artif. lntell. 64 (1993) 147-160. [ l 1] A.K. Mackworth, Consistency in networks of relations, Artif. Intell. 8 (1977) 99-118. [12] R. Mohr and T.C. Henderson, Arc and path consistency revisited, Artif. Intell. 28 (1986) 225-233. [13] U. Montanari, Networks of constraints: fundamental properties and applications to picture processing, Inf. Sci. 7 (1974) 95-132. [14] U. Montanari and F. Rossi, Constraint relaxation may be perfect, Artif. lntell. 48 (1991) 143-170. [ 15 ] J.R. Ullmann, An investigation of occlusion in one dimension, Comput. Vision Graph. Image Process. 22 (1983) 194-203. [16] P. van Beek, On the minimality and decomposability of row-convex constraint networks, in: Proceedings AAAI-92, San Jose, CA (1992) 447-452. [17] P. Van Hentenryck, Y. Deville and C.-M. Teng, A generic arc-consistency algorithm and its specializations, Artif. lntell. 57 (1992) 291-321.