AI Magazine Volume 13 Number 1 (1992) (© AAAI) Articles

Algorithms for Constraint- Satisfaction Problems: A Survey

Vipin Kumar

A large number of problems in AI and other areas of computer science can be viewed as special cases of the constraint-satisfaction problem. Some examples are machine vision, belief maintenance, scheduling, temporal reasoning, graph problems, floor plan design, the planning of genetic experiments, and the problem. A number of different approaches have been devel- oped for solving these problems. Some of them use constraint propagation to simplify the original problem. Others use to directly search for possible solutions. Some are a combination of these two techniques. This article overviews many of these approaches in a tutorial fashion.

32 AI MAGAZINE Copyright ©1992, AAAI/$2.00 Articles

A large number of problems in…computer science can be viewed as special cases of the constraint-satisfaction problem…

A large number of problems in AI and other areas of computer science can be viewed as V V4 special cases of the constraint-satisfaction 1 problem (CSP) (Nadel 1990). Some examples V V are machine vision (Chakravarty 1979; Davis 2 3 and Rosenfeld 1981; Mackworth 1977b; Mon- tanari 1974; Hummel 1976), belief mainte- nance (Dechter 1987; Dechter and Pearl V4 1988b; Dhar and Croker 1990), scheduling V1 (Dhar and Ranganathan 1990; Fox 1987; Fox, V Sadeh, and Baykan 1989; Petrie et al. 1989; 3 Prosser 1989; Rit 1986), temporal reasoning V2 (Allen 1983, 1984; Dechter, Meiri, and Pearl 1991; Vilain and Kautz 1986; Tsang 1987), graph problems (McGregor 1979; Bruynooghe Figure 1. An Example Map-Coloring Problem and 1985), floor plan design (Eastman 1972), the Its Equivalent Constraint-Satisfaction Problem. planning of genetic experiments (Stefik 1981), the satisfiability problem (Zabih and McAllester 1988), circuit design (de Kleer and the end points of the arc. A unary constraint Sussman 1980), machine design and manu- is represented by an arc originating and ter- facturing (Frayman and Mittal 1987; Nadel minating at the same node. I often use the and Lin 1991; Navinchandra 1990), and diag- term CSP to refer to the equivalent constraint nostic reasoning (Geffner and Pearl 1987). graph and vice versa. The scope of this article is restricted to For example, the map-coloring problem can those constraint-satisfaction problems that be cast as CSP. In this problem, we need to can be stated as follows: We are given a set of color (from a set of colors) each region of the variables, a finite and discrete domain for map such that no two adjacent regions have each variable, and a set of constraints. Each the same color. Figure 1 shows an example constraint is defined over some subset of the map-coloring problem and its equivalent CSP. original set of variables and limits the combi- The map has four regions that are to be col- nations of values that the variables in this ored red, blue, or green. The equivalent CSP subset can take. The goal is to find one assign- has a variable for each of the four regions of ment to the variables such that the assign- the map. The domain of each variable is the ment satisfies all the constraints. In some given set of colors. For each pair of regions problems, the goal is to find all such assign- that are adjacent on the map, there is a binary ments. More general formulations of CSP can constraint between the corresponding vari- be found in Freuder (1989); Gu (1889); Mack- ables that disallows identical assignments to worth, Mulder, and Havens (1985); Mittal these two variables. and Frayman (1987); Mittal and Falkenhainer (1990); Freeman-Benson, Maloney, and Born- ing (1990); Navinchandra and Marks (1987); Backtracking: A Method for Shapiro and Haralick (1981); and Ricci (1990). Solving the Constraint- I further restrict the discussion to CSPs in Satisfaction Problem which each constraint is either unary or binary. I refer to such CSP as binary CSP. It is possible CSP can be solved using the generate-and-test to convert CSP with n-ary constraints to paradigm. In this paradigm, each possible another equivalent binary CSP (Rossi, Petrie, combination of the variables is systematically and Dhar 1989). Binary CSP can be depicted generated and then tested to see if it satisfies by a constraint graph in which each node all the constraints. The first combination that represents a variable, and each arc represents satisfies all the constraints is the solution. The a constraint between variables represented by number of combinations considered by this

SPRING 1992 33 Articles

method is the size of the Cartesian product of V all the variable domains. 3 A more efficient method uses the backtrack- green ing paradigm. In this method, variables are instantiated sequentially. As soon as all the V1 V2 variables relevant to a constraint are instanti- ated, the validity of the constraint is checked. red green blue blue green If a partial instantiation violates any of the constraints, backtracking is performed to the most recently instantiated variable that still Figure 2. A Constraint Graph for Some has alternatives available. Clearly, whenever a Map-Coloring Problems. partial instantiation violates a constraint, backtracking is able to eliminate a subspace from the Cartesian product of all variable domains. The backtracking method essential- Propagating Constraints ly performs a depth-first search (Kumar 1987) of the space of potential CSP solutions. Arc (Vi, Vj) is arc consistent if for every value Although backtracking is strictly better than x in the current domain of Vi, there is some the generate-and-test method, its run-time value y in the domain of Vj such that V1 = x complexity for most nontrivial problems is and Vj = y are permitted by the binary con- still exponential. One of the reasons for this straint between Vi and Vj . The concept of poor performance is that the backtracking arc consistency is directional; that is, if an arc paradigm suffers from thrashing (Gaschnig (Vi, Vj) is consistent, then it does not auto- 1979); that is, search in different parts of the matically mean that (Vj, Vi) is also consistent. space keeps failing for the same reasons. The Consider the constraint graph of another simplest cause of thrashing concerns the map-coloring problem given in figure 2. In unary predicates and is referred to as node this constraint graph, arc (V3,V2) is consistent inconsistency (Mackworth 1977a). If the domain because green is the only value in the domain Di of a variable Vi contains a value a that of V3, and for V3 = green, at least one assign- does not satisfy the unary constraint on Vi, ment for V2 exists that satisfies the constraint then the instantiation of Vi to a always results between V2 and V3. However, arc (V2, V3) is in an immediate failure. Another possible not consistent because for V2 = green, there is source of thrashing is illustrated by the fol- no value in the domain of V3 that is permitted lowing example: Suppose the variables are by the constraint between V2 and V3. instantiated in the order V1, V2, …,Vi, …, Vj, Clearly, an arc (Vi, Vj) can be made consis- …, VN. Suppose also that the binary con- tent by simply deleting those values from the straint between Vi and Vj is such that for Vi domain of Vi for which the previous condition = a, it disallows any value of Vj. In the back- is not true. (Deletions of such values do not track search tree, whenever Vi is instantiated eliminate any solution of original CSP.) The to a, the search will fail while instantiation is following algorithm, taken from Mackworth tried with Vj (because no value for Vj would (1977a), does precisely that. be found acceptable). This failure will be procedure REVISE(Vi, Vj); repeated for each possible combination that DELETE ← false; ε the variables Vk (i < k < j) can take. The cause for each x Di do ∈ of this kind of thrashing is referred to as a if there is no such vj Dj lack of arc consistency (Mackworth 1977a). such that (x, vj ) is consistent, Other drawbacks of simple backtracking are then discussed in Intelligent Backtracking and delete x from Di ; Truth Maintenance. DELETE ← true; Thrashing because of node inconsistency endif; can be eliminated by simply removing those endfor; values from the domains Di of each variable return DELETE; Vi that do not satisfy unary predicate Pi. end_REVISE Thrashing because of arc inconsistency can To make every arc of the constraint graph be avoided if each arc (Vi, Vj) of the constraint consistent, it is not sufficient to execute graph is made consistent before the search REVISE for each arc just once. Once REVISE starts. In the next section, I formally define reduces the domain of some variable Vi, then the notion of arc consistency and consider each previously revised arc (Vj, Vi) has to be algorithms for achieving it. revised again because some of the members

34 AI MAGAZINE Articles

variation (called AC-3) of this algorithm that

(a) V1 eliminates this drawback. This algorithm (given here) performs re-revision only for red, green not-same not-same those arcs that are possibly affected by a pre- V vious revision. The reader can verify that in 2 V3 not-same AC-3, after applying REVISE(V , V ), it is not red, green red, green k m necessary to add arc (Vm, Vk) to Q. The reason is that none of the elements deleted from the domain of Vk during the revision of arc (Vk,Vm) provided support for any value in the (b) V1 current domain of Vm. blue, green procedure AC-3 not-same not-same ← ε ≠ Q {(Vi, Vj) arcs(G), i j}; V 2 V3 while Q not empty not-same red, green red, green select and delete any arc (Vk, Vm) from Q; if (REVISE(Vk, Vm) then ← Q » {(Vi, Vk) such that (Vi, V ) ε arcs(G), i ≠ k, i ≠ m} (c) V k 1 endif; blue, green not-same + endwhile; (V = blue & V = red not-same 1 3 not allowed) end_AC V 2 V3 The well-known algorithm of Waltz (1975) not-same red, green red, green is a special case of this algorithm and is equiv- alent to another algorithm, AC-2, discussed in Mackworth (1977a). Assume that the domain Figure 3. Examples of Arc-Consistent size for each variable is d, and the total number Constraint Graphs. of binary constraints (that is, the arcs in the constraint graph) is e. The complexity of an (a) The graph has no solutions. (b) The graph has two solutions ((blue,red,green), (blue,green,red)). (c) The arc-consistency algorithm given in Mack- 3 graph has exactly one solution (blue,red,green). worth (1977a) is O(ed ) (Mackworth and Freuder 1985). Mohr and Henderson (1986) present another arc-consistency algorithm that has a complexity of O(ed2). To verify the of the domain of Vj might no longer be com- arc consistency, each arc must be inspected at patible with any remaining members of the least once, which takes O(d2) steps. Hence, revised domain of Vi. For example, in CSP in the lower bound on the worst-case time com- 2 figure 2, arc (V1, V2) is initially consistent. plexity of achieving arc consistency is O(ed ). After arc (V2, V3) is made consistent by delet- Thus, Mohr and Henderson’s algorithm is ing green from the domain of V2, arc (V1, V2) optimal in terms of worst-case complexity. no longer remains consistent. The following Variations and improvements of this algo- algorithm, taken from Mackworth (1977a), rithm were developed in Han and Lee (1988) obtains arc consistency for the whole con- and Chen (1991). straint graph G: Given an arc-consistent constraint graph, is procedure AC-1 any (complete) instantiation of the variables ← ∈ ≠ Q {(Vi, Vj) arcs(G), i j}; from current domains a solution to CSP? In repeat other words, can achieving arc consistency CHANGE ← false; completely eliminate the need for backtrack- ∈ for each (Vi, Vj) Q do ing? If the domain size of each variable ← CHANGE (REVISE(Vi, Vj) becomes one after obtaining arc consistency, or CHANGE); then the network has exactly one solution, endfor; which is obtained by assigning the only possi- until not(CHANGE); ble value in its domain to each variable. Oth- end_AC erwise, the answer is no in general. The The major problem with the previous algo- constraint graph in figure 3a is arc consistent, rithm is that successful revision of even one but none of the possible instantiations of the arc in some iteration forces all the arcs to be variables are solutions to CSP. In general, revised in the next iteration, even though even after achieving arc consistency, a net- only a small number of them are affected by work can have (1) no solutions (figure 3a), (2) this revision. Mackworth (1977a) presents a more than one solution (figure 3b), or (3)

SPRING 1992 35 Articles

tency in an n-node constraint graph is also exponential. If the graph is K consistent for K V1 < n, then in general, backtracking cannot be avoided. Now the question is, Are there cer- tain kinds of CSPs for which K consistency V2 V3 for K < n can eliminate the need for back- tracking? Before answering this question, I define some terms. An ordered constraint graph is a constraint

1 1 2 2 3 graph whose vertices have been ordered lin- early. Figure 4 shows six different ordered constraint graphs corresponding to the given v v v v v constraint graph. Note that in the backtrack- ing paradigm, the CSP variables can be instantiated in many different orders. Each

3 2 3 1 2 ordered constraint graph of CSP provides one such order of variable instantiations. (The Width = variables that appear earlier in the ordering 1 1 1 2 1 are instantiated first. For example, in figure 4, for each ordered graph, the variable corre- sponding to the top node is instantiated Figure 4. A Constraint Graph and Its Six Different first.) It turns out that for some CSPs, some Ordered Constraint Graphs. orderings of the constraint graph are better than other orderings in the following sense: If the backtracking paradigm uses these order- exactly one solution (figure 3c). In each case, ings to instantiate the variables, then it can search might be needed to find the find a solution to CSP without search (that is, solution(s) or discover that there is no solu- the first path searched by backtracking leads tion. Nevertheless, by making the constraint to a solution). Next, I define the width of a graph arc consistent, it is often possible to constraint graph that is used to identify such reduce the search done by the backtracking CSPs. procedure. Waltz (1975) shows that for the The width at a vertex in an ordered constraint problem of labeling polyhedral scenes, arc graph is the number of constraint arcs that consistency substantially reduces the search lead from the vertex to the previous vertices space. In some instances of this problem, the (in the linear order). For example, in the left- solution was found after no further search. most ordered constraint graph, the width of Given that arc consistency is not enough the vertex V2 is 1, and the width of V1 is 0. to eliminate the need for backtracking, can The width of an ordered constraint graph is another stronger degree of consistency elimi- the maximum of the width of any of its ver- nate the need for search? The notion of K tices. The width of a constraint graph is the consistency captures different degrees of con- minimum width of all the orderings of the sistency for different values of K. graph. Hence, the width of the constraint A constraint graph is K consistent if the fol- graph given in figure 4 is 1. The width of a lowing is true: Choose values of any K - 1 constraint graph depends on its structure. variables that satisfy all the constraints among Theorem 1: If a constraint graph is strongly these variables, then choose any K’th vari- K consistent, and K > w, where w is the width able. A value for this variable exists that satis- of the constraint graph, then a search order fies all the constraints among these K variables. exists that is backtrack free (Freuder 1988, 1982). A constraint graph is strongly K consistent The proof of the theorem is straightfor- if it is J consistent for all J ≤ K. ward. If w is the width of the graph, then an Node consistency, discussed earlier, is ordering of the graph exists such that the equivalent to strong 1 consistency. Arc con- number of constraint arcs that lead from any sistency is equivalent to strong 2 consistency. vertex of the graph to the previous vertices Algorithms exist to make a constraint graph (in the linear order) is, at most, w. Now, if the strongly K consistent for K > 2 (Cooper 1989; variables are instantiated using this ordering Freuder 1988). Clearly, if a constraint graph in the backtracking paradigm, then whenever containing n nodes is strongly n consistent, a new variable is instantiated, a value for this then a solution to CSP can be found without variable that is consistent with all the previ- any search. However, the worst-case complex- ous assignments can be found. Such a value ity of the algorithm for obtaining n consis- can be found because (1) this value has to be

36 AI MAGAZINE Articles

If the domain size of each variable becomes one after obtaining arc consistency, then the network has exactly one solution…

consistent with the assignments of, at most, Dechter and Pearl (1988a, 1988c, 1986); Freud- w other variables (that are connected to the er and Quinn (1985); Freuder (1990); Dechter, current variable) and (2) the graph is strongly Meir, and Pearl (1990); Zabih (1990); Perlin (w + 1) consistent. (1991); and Montanari and Rossi (1991). It is relatively easy to determine the ordering of a given constraint graph that has a mini- How Much Constraint mum width w (Freuder 1988, 1982). It might Propagation Is Useful? appear that all we need to do is to make this constraint graph strongly (w + 1) consistent To this point, I have considered two rather using the algorithms in Freuder (1978). different schemes for solving CSP: backtrack- Unfortunately, for K > 2, the algorithm for ing and constraint propagation. In the first obtaining K consistency adds extra arcs in the scheme, different possible combinations of constraint graph, which can increase the variable assignments are tested until a com- width of the graph. Hence, a higher degree of plete solution is found. This approach suffers consistency has to be achieved before a solu- from thrashing. In the second scheme, con- tion can be found without any backtracking. straints between different variables are propa- In most cases, even the algorithm for obtain- gated to derive a simpler problem. In some ing strong 3 consistency adds so many arcs in cases (depending on the problem and the the original n-variable constraint graph that degree of constraint propagation applied), the width of the resulting graph becomes n. resulting CSP is so simple that its solution can However, we can use node-consistency or arc- be found without search. Although, any n- consistency algorithms to make the graph variable CSP can always be solved by achiev- strongly 2 consistent. None of these algo- ing n consistency, this approach is usually rithms adds any new nodes or arcs to the con- even more expensive than simple backtrack- straint graph. Hence, if a constraint graph has ing. A lower-degree consistency (that is, K width 1 (after making it arc and node consis- consistency for K < n) does not eliminate the tent), we can obtain a solution to the corre- need for search except for certain kinds of sponding CSP without any search. problems. A third possible scheme is to Interestingly, all tree-structured constrained embed a constraint-propagation algorithm graphs have width 1 (that is, at least one of inside a backtracking algorithm, as follows: the orderings of a tree-structured constraint A root node is created to solve original CSP. graph has width equal to 1) (Freuder 1988, Whenever a node is visited, a constraint-prop- 1982). As an example, figure 5 shows a tree- agation algorithm is first used to attain a structured constraint graph and one of its desired level of consistency. If at a node, the ordered versions whose width is 1. Hence, if cardinality of the domain of each variable given CSP has a tree-structured graph, then it becomes 1, and corresponding CSP is arc con- can be solved without any backtracking once sistent, then the node represents a solution. If it has been made node and arc consistent. in the process of performing constraint prop- In Dechter and Pearl (1988a, 1988b), the agation at the node, the domain of any vari- notion of adaptive consistency is presented able becomes null, then the node is pruned. along with an algorithm for achieving it. Otherwise one of the variables (whose current Adaptive consistency is functionally similar domain size is >1) is selected, and new CSP is to K consistency because it also renders CSP created for each possible assignment of this backtrack free. Its main advantage is that the variable. Each such new CSP is depicted as a time and space complexity of applying it can successor node of the node representing be determined in advance. For other tech- parent CSP. (Note that each new CSP is small- niques that take advantage of the structure of er than parent CSP because we need to choose the constraint graphs to reduce search, see assignments for one less variable.) A back-

SPRING 1992 37 Articles

depicts each of these algorithms as a combi- V nation of pure tree search and some fraction 1 of arc consistency. On one extreme, GT is V V simple generate and test, and at the other 2 3 extreme, RFL is a complete 2-consistency algorithm embedded in backtracking. The V5 V4 other algorithms—BT, FC, PL, and FL—are increasingly complete implementations of partial arc consistency. Note that even back-

v1 tracking incorporates a limited degree of arc consistency because whenever a new variable v2 is considered for instantiation, any of its values that are inconsistent with any previous v 4 instantiations cause immediate failure. Hence, v the domain of this variable is effectively fil- 5 tered to contain only those values that are

v3 consistent with the instantiations of variables higher in the tree. FC incorporates a greater degree of arc consistency than BT, as follows: Figure 5. A Tree-Structured Constraint Graph Whenever a new variable instantiation is and One of Its Width-1 Ordering. made, the domains of all as-yet-uninstantiat- ed variables are filtered to contain only those values that are consistent with this instantia- tion. If the domains of any of these uninstan- tiated variables becomes null, then failure is recognized, and backtracking occurs. PL, FL, tracking algorithm visits these nodes in the and RFL are essentially augmented versions of standard depth-first fashion until a solution FC that perform arc consistency even between is found. The question now is how much uninstantiated variables. Nadel (1988) pre- constraint propagation to do at each node. If sents a comprehensive evaluation of these no constraint propagation is done, then the algorithms in the context of n-queens and paradigm reverts to simple backtracking confused-n-queens problems. The n-queens (actually, as we see shortly, even simple back- problem is to place n queens on an n x n chess tracking performs some kind of constraint board in such a way that no pair of queens propagation). More constraint propagation at attacks each other. The confused-n-queens each node will result in the search tree con- problem is a variation of the n-queens prob- taining fewer nodes, but the overall cost can lem. Here, the n queens are to be placed on be higher because the processing at each node the n x n chess board, one queen to a row, will be more expensive. At one extreme, such that each pair of queens attacks each obtaining n consistency for the original prob- other (that is, each pair of queens is either on lem would completely eliminate the need for the same column or the same diagonal). For search, but as mentioned before, this method these problems, FC (which implements only is usually more expensive than simple back- a fraction of the consistency achieved by the tracking. arc-consistency algorithm) turns out to be the A number of algorithms for solving CSPs best algorithm. Experiments by other researchers that essentially fit the previous format have with a variety of problems also indicate that been investigated by various researchers (Har- it is better to apply constraint propagation alick and Elliot 1980; Nadel 1988; Fikes 1970; only in a limited form (Haralick and Elliot Gaschnig 1974; Ullman 1976; Haralick, Davis, 1980; McGregor 1979; Gaschnig 1978, 1979; and Rosenfeld 1978; McGregor 1979; Dechter Dechter and Meiri 1989a; Prosser 1991). and Meiri 1989). In particular, Nadel (1988) empirically compares the performance of the following algorithms: generate and test (GT), Intelligent Backtracking and simple backtracking (BT), forward checking Truth Maintenance (FC), partial lookahead (PL), full lookahead (FL), and really full lookahead (RFL). These There are two major drawbacks to the stan- algorithms primarily differ in the degrees of dard backtracking scheme. One is thrashing. arc consistency performed at the nodes of the Thrashing can be avoided by intelligent back- search tree. tracking; that is, by a scheme in which back- Figure 6 (adapted from Nadel [1988]) tracking is done directly to the variable that

38 AI MAGAZINE Articles caused the failure. The other drawback is having to perform redundant work. To see how backtracking can perform redundant Generate & Test (GT) work, consider the following example: Assume that variables V1, V2, and V3 have Simple Backtracking (BT = GT + AC 1/5) been assigned values a1, b3, and c1, respective- ly. Assume that none of the values of V3 were found compatible with the values b1 and b2 of Forward Checking (FC = GT + AC 1/4) V2. Now assume that all possible values of V4 conflict with the choice of V1 = a1. Because the conflict is caused by the inappropriate Partial Lookahead (PL = FC + AC 1/3) choice of V1, clearly an intelligent backtrack- ing scheme will perform backtracking to V1 Full Lookahead (FL = FC + AC 1/2) and, thus, assign a different value to V1. How- ever, even this scheme will undo the assign- ments of V2 and V3 and will rediscover, from Really Full Lookahead (RFL = FC + AC) scratch, the fact that none of the values of V3 are compatible with the values b1 and b2 of V2. There is a backtracking-based method that Figure 6. Different Constraint-Satisfaction Algorithms Depicted as a Combi- eliminates both of these drawbacks to back- nation of Tree Searching and Different Degrees of Constraint Propagation. tracking. This method is traditionally called dependency-directed backtracking (Stallman and Sussman 1977) and is used in truth mainte- nance systems (Doyle 1979; McDermott 1991). CSP can be solved by Doyle’s RMS (Doyle 1979; Stallman and Sussman 1977), as follows: A gent backtracking can be complex depending variable is assigned some value, and a justifi- on the analysis done to find the reason for cation for this value is noted (the justification failure. Recall that these schemes make no is simply that no justification exists for assign- effort to avoid redundant work. A simple ing other possible values). Then, similarly, a intelligent backtracking scheme can turn out default value is assigned to some other vari- to have less overall complexity than a more able and is justified. At this time, the system complicated intelligent backtracking method. checks whether the current assignments vio- The scheme presented in Freuder and Quinn late any constraint. If they do, then a new (1985) can be viewed as a simple intelligent node is created that essentially denotes that backtracking scheme that takes advantage of the pair of values for the two variables in the structure of the constraint graph to deter- question is not allowed. This node is also used mine possible reasons for failure. to justify another value assignment to one of Intelligent backtracking schemes developed the variables. This process continues until a for (Kumar and Lin 1988; Bruynooghe consistent assignment is found for all the and Pereira 1984; Pereira and Porto 1982) are variables. Such a system, if implemented in also applicable to CSPs. De Kleer developed full generality, never performs redundant back- an assumption-based truth maintenance tracking and never repeats any computation. system (ATMS) (de Kleer 1986a, 1986b) that Although the amount of search performed also tries to remedy the drawbacks to simple by such a system is minimal, the procedures backtracking. As discussed in de Kleer (1989), for determining the culprit of constraint vio- there are strong similarities between the con- lation and choosing a new value of the vari- straint-propagation methods discussed in ables are complex (Petrie 1987). Hence, overall Propagating Constraints and ATMS for solv- the scheme can take more time than even ing CSPs. simple backtracking for a variety of problems. Hence, a number of simplifications to this scheme were developed by various researchers Variable Ordering and (Bruynooghe 1981; Rosiers and Bruynooghe Value Instantiation 1986; Dechter 1986, 1990; Haralick and Elliot 1980; Gaschnig 1977). For example, a scheme If backtracking is used to solve CSP, then developed by Dechter and Pearl is much sim- another issue is the order in which variables pler and less precise than the original depen- are considered for instantiations. Experiments dency-directed backtracking scheme of and analysis by several researchers show that Stallman and Sussman. the ordering in which variables are chosen for Even the schemes that perform only intelli- instantiation can have substantial impact on

SPRING 1992 39 Articles

contributes to the search space only additively (that is, not multiplicatively, which is usually the case). If the constraint graph has n vertices, A set of variables with no direct constraints and a stable set of m vertices exists, then the between any pair of them is called a stable overall complexity of the backtrack is bound- set of variables. ed by dn-m * md as opposed to dn. Hence, it makes sense to find the maximal stable set of the constraint graph before deciding on the order of instantiation. Unfortunately, the problem of finding a maximal stable set is the complexity of backtrack search (Bitner NP-hard. Thus, one has to settle for a heuristic and Reingold 1975; Purdom 1983; Stone and algorithm that finds a suboptimal stable set. Stone 1986; Haralick and Elliot 1980; Zabih Fox, Sadeh, and Baykan (1989) use many and McAllester 1988). Several heuristics have different structural characteristics of CSP to been developed and analyzed for selecting select variable order and show its utility in variable ordering. One powerful heuristic, the domains of spatial planning and factory developed by Bitner and Reingold (1975), is scheduling. often used with the FC algorithm. In this Recall that the tree-structured constraint method, the variable with the fewest possible graphs can be solved without backtracking remaining alternatives is selected for instanti- simply at the cost of achieving arc consistency. ation. Thus, the order of variable instantiation Any given constraint graph can be made a is, in general, different in different branches tree after deleting certain vertices such that of the tree and is determined dynamically. all the cycles from the graph are removed. This heuristic is called the search-rearrangement This set of vertices is called the cycle cutset. If method. Purdom and Brown extensively stud- a small cycle cutset can be found, then a good ied this heuristic, as well as its variants, both heuristic is to first instantiate all the variables experimentally and analytically (Purdom in the cycle cutset and then solve the result- 1983; Purdom and Brown 1981, 1982; Purdom, ing tree-structured CSPs without backtracking Brown, and Robertson 1981). Their results (Dechter 1986). If the size of a cycle cutset of show that for significant classes of problems, an n-variable CSP is m, then the original CSP search-rearrangement backtracking is a sub- can be solved in dm + (n - m) * d2 steps. stantial improvement over the standard back- Once the decision is made to instantiate a tracking method. For the n-queens problem, variable, it can have several values available. Stone and Stone (1986) experimentally show The order in which these values are consid- that the search-rearrangement heuristic led to ered can have substantial impact on the time an improvement of dozens of orders of mag- to find the first solution. For example, if CSP nitude for large values of n. With this heuris- has a solution, and a correct value is chosen tic, they were able to solve the problem for n for each variable, then a solution can be ≤ 96 using only a personal computer. The found without any backtracking. One possi- standard backtracking method could not ble heuristic is to prefer those values that solve the problem in a reasonable amount of maximize the number of options available for time even for n = 30. Nadel (1983) presents future assignments (Haralick and Elliot 1980). an analytic framework that can be used to By incorporating such a value-ordering analyze the expected complexities of various heuristic in Stone and Stone’s algorithm for search orders and select the best one. Feld- solving the n-queens problem, Kale (1990) man and Golumbic (1989) apply these ideas developed a backtracking-based algorithm to the student scheduling problem and sug- that can be used to solve the problem with gest some further extensions. little backtracking even for large values of n Another possible heuristic is to instantiate (= 1000). Without incorporating Kale’s those variables first that participate in the heuristic, Stone and Stone’s algorithm is highest number of constraints. This approach unable to solve the n-queens problem for n tries to ensure that the unsuccessful branches much larger than 100. of the tree are pruned early. Freuder and Quinn Minton, Johnston, Philips, and Laird (1990) (1985) discuss an ordering that is somewhat use similar value- and variable-ordering related to this heuristic. A set of variables heuristics in a somewhat different framework with no direct constraints between any pair to obtain solutions to the n-queens problem of them is called a stable set of variables. In for n = 1,000,000. In their scheme, backtrack- this heuristic, the backtracking algorithm ing starts after a good initial assignment of instantiates all the members of a stable set at values to the variables in CSP (that is, an the end. The instantiation of these variables assignment to the variables that violates only

40 AI MAGAZINE Articles a few of the constraints) has been obtained not encountered at all in the search space of through some greedy algorithm. Now the transformed CSP. In the second technique, values of the variables that conflict with other CSP is not transformed into a different prob- variables are systematically changed in the lem, but the search space is searched careful- backtracking paradigm. Minton and his col- ly. Information about a failure is kept and leagues present empirical results using this used during the search of the remaining scheme for many problems as well as an ana- space. Based on previous failure information, lytic model that explains the performance of whenever it is determined that search in this scheme with different kinds of problems. some new subspace will also fail, then this This method was originally developed as a subspace is also pruned. Good variable order- hill-climbing method (that is, nonbacktracking ing reduces the bushiness of the tree by method). It starts with a reasonable assign- moving the failures to upper levels of the ment of values to variables and then contin- search tree. Good value ordering moves a ues to repair the values of variables until a solution of CSP to the left of the tree so that correct solution is obtained. Sosic and Gu also it can be found quickly by the backtracking developed a similar algorithm (Gu 1989). algorithm. If applied to an extreme, any of Another heuristic is to prefer the value these techniques can eliminate the thrashing (from those available) that leads to CSP that is behavior of backtracking. However, the cost easiest to solve. Dechter and Pearl (1988a) dis- of applying these techniques in this manner cuss one way of estimating the difficulty of is often more than that incurred by simple solving CSP. In this method, CSP is converted backtracking. It turns out that simplified ver- into a tree-structured CSP by deleting a mini- sions of these techniques can be used together mum number of arcs; resulting CSP is solved to reduce the overall search space. The optimal for all solutions. The number of solutions combination of these techniques is different found in corresponding tree-structured CSP is for different problems and is a topic of cur- taken as the measure of difficulty of solving rent investigation (Dechter and Meiri 1989). CSP (higher the solution count, easier CSP). They also present an experimental evaluation Acknowledgments of this heuristic, as well as its variations, on randomly generated CSPs and show that a I want to thank Charles Petrie, Ananth Grama, variation of this heuristic helps in reducing and Francesco Ricci for a number of sugges- the overall search effort. Good value-ordering tions for improving the quality of this article. heuristics are expected to be highly problem An earlier version of this article appears as specific. For example, Sadeh (1991) shows MCC Corp. document TR ACT-AI-041-90. that Dechter and Pearl’s value-ordering heuris- tic performs poorly for the job shop schedul- References ing problem. Sadeh presents other variable- Allen, J. 1984. Toward a General Theory of Action and value-ordering heuristics that work well and Time. 23(2): 123–154. for this problem. Allen, J. 1983. Maintaining Knowledge about Tem- poral Intervals. Communications of the ACM Concluding Remarks 26:832–843. Bitner, J., and Reingold, E. M. 1975. Backtrack Pro- CSP can always be solved by the standard gramming Techniques. 18:651–655. backtracking algorithm, although at substantial Bruynooghe, M. 1985. Graph Coloring and Con- cost. The reason for the poor performance of straint Satisfaction, Technical Report, CW 44, backtracking is that it does not learn from the Department Computerwetenschappen, Katholieke failure of different nodes. The performance of Universiteit Leuven. a backtracking algorithm can be improved in Bruynooghe, M. 1981. Solving Combinatorial a number of ways: (1) performing constraint Search Problems by Intelligent Backtracking. Infor- propagation at the search nodes of the tree, mation Processing Letters 12(1): 36–39. (2) performing reason maintenance or just Bruynooghe, M., and Pereira, L. M. 1984. Deduc- intelligent backtracking, and (3) choosing a tion Revision by Intelligent Backtracking. In Imple- good variable ordering or a good order for the mentations of Prolog, ed. J. A. Campbell, 194–215. instantiation of different values of a given Chichester, England: Ellis Horwood. variable. By performing constraint propaga- Chakravarty, I. 1979. A Generalized Line and Junc- tion, given CSP is essentially transformed into tion Labelling Scheme with Applications to Scene different CSP whose search space is smaller. In Analysis. IEEE Transactions on Pattern Analysis and the process of constraint propagation, certain Machine Intelligence 1(2): 202–205. failures are identified, and the search space is Chen, Y. 1991. Improving Han and Lee’s Path-Con- effectively reduced so that these failures are sistency Algorithm. In Proceedings of the Third

SPRING 1992 41 Articles

International Conference on Tools for AI, 346–350. de Kleer, J. 1986a. An Assumption-Based TMS. Arti- Washington, D.C.: IEEE Computer Society. ficial Intelligence 28:127–162. Cooper, M. C. 1989. An Optimal k-Consistency de Kleer, J. 1986b. Problems with ATMS. Artificial Algorithm. Artificial Intelligence 41:89–95. Intelligence 28:197–224. Davis, A. L., and Rosenfeld, A. 1981. Cooperating de Kleer, J., and Sussman, G. J. 1980. Propagation Processes for Low-Level Vision: A Survey. Artificial of Constraints Applied to Circuit Synthesis. Circuit Intelligence 17:245–263. Theory and Applications 8:127–144. Dechter, R. 1990. Enhancement Schemes for Con- Dhar, V., and Croker, A. 1990. A Knowledge Repre- straint Processing: Backjumping, Learning, and sentation for Constraint-Satisfaction Problems, Cutset Decomposition. Artificial Intelligence 41(3): Technical Report, 90-9, Dept. of Information Sys- 273–312. tems, New York Univ. Dechter, R. 1987. A Constraint-Network Approach Dhar, V., and Ranganathan, N. 1990. Integer Pro- to Truth Maintenance, Technical Report, R-870009, gramming versus Expert Systems: An Experimental Cognitive Systems Laboratory, Computer Science Comparison. Communications of the ACM Dept., Univ. of California at Los Angeles. 33:323–336. Dechter, R. 1986. Learning While Searching in Doyle, J. 1979. A Truth Maintenance System. Artifi- Constraint-Satisfaction Problems. In Proceedings of cial Intelligence 12:231–272. the Fifth National Conference on Artificial Intelli- Eastman, C. 1972. Preliminary Report on a System gence, 178–183. Menlo Park, Calif.: American Asso- for General Space Planning. Communications of the ciation for Artificial Intelligence. ACM 15:76–87. Dechter, R., and Dechter, A. 1988. Belief Mainte- Feldman, R., and Golumbic, M. C. 1989. Constraint nance in Dynamic Constraint Networks. In Pro- Satisfiability Algorithms for Interactive Student ceedings of the Seventh National Conference on Scheduling. In Proceedings of the Eleventh Interna- Artificial Intelligence, 37–42. Menlo Park, Calif.: tional Joint Conference on Artificial Intelligence, American Association for Artificial Intelligence. 1010–1016. Menlo Park, Calif.: International Joint Dechter, R., and Meiri, I. 1989. Experimental Evalu- Conferences on Artificial Intelligence. ation of Preprocessing Techniques in Constraint- Fikes, R. E. 1970. REF-ARF: A System for Solving Prob- Satisfaction Problems. In Proceedings of the lems Stated as Procedures. Artificial Intelligence 1(1): Eleventh International Joint Conference on Artifi- 27–120. cial Intelligence, 290–296. Menlo Park, Calif.: Inter- national Joint Conferences on Artificial Fox, M. S. 1987. Constraint-Directed Search: A Case Intelligence. Study of Job Shop Scheduling. San Mateo, Calif.: Morgan Kaufmann. Dechter, R., and Pearl, J. 1988a. Network-Based Heuristics for Constraint-Satisfaction Problems. Fox, M. S.; Sadeh, N.; and Baykan, C. 1989. Con- Artificial Intelligence 34:1–38. strained Heuristic Search. In Proceedings of the Eleventh International Joint Conference on Artificial Dechter, R., and Pearl, J. 1988b. Network-Based Intelligence, 309–315. Menlo Park, Calif.: Interna- Heuristics for Constraint-Satisfaction Problems. In tional Joint Conferences on Artificial Intelligence. Search in Artificial Intelligence, eds. L. Kanal and V. Kumar, 370–425. New York: Springer-Verlag. Frayman, F., and Mittal, S. 1987. COSSACK: A Con- straint-Based for Configuration Dechter, R., and Pearl, J. 1988c. Tree-Clustering Tasks. In Knowledge-Based Expert Systems in Engineer- Schemes for Constraint Processing. In Proceedings ing: Planning and Design, eds. D. Sriram and R. A. of the Seventh National Conference on Artificial Adey, 143–166. Billerica, Mass.: Computational Intelligence, 150–154. Menlo Park, Calif.: American Mechanics Publications. Association for Artificial Intelligence. Freeman-Benson, B. N.; Maloney, J.; and Borning, Dechter, R., and Pearl, J. 1986. The Cycle-Cutset A. 1990. An Incremental Constraint Solver. Com- Method for Improving Search Performance in AI munications of the ACM 33:54–63. Applications, Technical Report, R-16, Cognitive Systems Laboratory, Computer Science Dept., Univ. Freuder, E. 1990. Complexity of K-Tree–Structured of California at Los Angeles. Constraint-Satisfaction Problems. In Proceedings of the Eighth National Conference on Artificial Intel- Dechter, R.; Meiri, I.; and Pearl, J. 1991. Temporal ligence, 4–9. Menlo Park, Calif.: American Associa- Constraint Networks. Artificial Intelligence 49:61–95. tion for Artificial Intelligence. Dechter, R.; Meiri, I.; and Pearl, J. 1990. Tree Freuder, E. 1989. Partial Constraint Satisfaction. In Decomposition with Applications to Constraint Proceedings of the Eleventh International Joint Processing. In Proceedings of the Eighth National Conference on Artificial Intelligence, 278–283. Conference on Artificial Intelligence, 10–16. Menlo Menlo Park, Calif.: International Joint Conferences Park, Calif.: American Association for Artificial on Artificial Intelligence. Intelligence. de Kleer, J. 1989. A Comparison of ATMS and CSP Freuder, E. 1988. Backtrack-Free and Backtrack- Techniques. In Proceedings of the Eleventh Inter- Bounded Search. In Search in Artificial Intelligence, national Joint Conference on Artificial Intelligence, eds. L. Kanal and V. Kumar, 343–369. New York: 290-296. Menlo Park, Calif.: International Joint Springer-Verlag. Conferences on Artificial Intelligence. Freuder, E. 1982. A Sufficient Condition for Back-

42 AI MAGAZINE Articles track-Free Search. Journal of the ACM 29(1): 24–32. 50:289–329. Freuder, E. 1978. Synthesizing Constraint Expres- McGregor, J. 1979. Relational Consistency Algo- sion. Communications of the ACM 21(11): 958–966. rithms and Their Applications in Finding Subgraph Freuder, E., and Quinn, M. 1985. Taking Advantage and Graph Isomorphism. Information Science of Stable Sets of Variables in Constraint-Satisfaction 19:229–250. Problems. In Proceedings of the Ninth Internation- Mackworth, A. K. 1977a. Consistency in Networks al Joint Conference on Artificial Intelligence, of Relations. Artificial Intelligence 8(1): 99–118. 1076–1078. Menlo Park, Calif.: International Joint Mackworth, A. K. 1977b. On Reading Sketch Maps. Conferences on Artificial Intelligence. In Proceedings of the Fifth International Joint Con- Gaschnig, J. 1979. Performance Measurement and ference on Artificial Intelligence, 598–606. Menlo Analysis of Certain Search Algorithms. Ph.D. diss., Park, Calif.: International Joint Conferences on Dept. of Computer Science, Carnegie Mellon Univ. Artificial Intelligence. Gaschnig, J. 1978. Experimental Case Studies of Mackworth, A. K., and Freuder, E. 1985. The Com- Backtrack versus Waltz-Type versus New Algorithms plexity of Some Polynomial Network-Consistency for Satisfying Assignment Problems. In Proceedings Algorithms for Constraint-Satisfaction Problems. of the Second Biennial Conference of the Canadian Artificial Intelligence 25:65–74. Society for Computational Studies of Intelligence. Mackworth, A. K.; Mulder, J. A.; and Havens, W. S. Toronto: Canadian Information Processing Society. 1985. Hierarchical Arc Consistency: Exploiting Gaschnig, J. 1977. A General Backtrack Algorithm Structured Domains in Constraint Satisfaction. That Eliminates Most Redundant Tests. In Proceedings Computational Intelligence 1(3): 118–126. of the Fifth International Joint Conference on Arti- Minton, S.; Johnston, M.; Phillips, A.; and Laird, P. ficial Intelligence, 457–457. Menlo Park, Calif.: Inter- 1990. Solving Large-Scale Constraint-Satisfaction national Joint Conferences on Artificial Intelligence. and Scheduling Problems Using a Heuristic Repair Gaschnig, J. 1974. A Constraint-Satisfaction Method. In Proceedings of the Eighth National Method for Inference Making. In Proceedings of the Conference on Artificial Intelligence, 17–24. Menlo Twelfth Annual Allerton Conference on Circuit Sys- Park, Calif.: American Association for Artificial tems Theory, 866–874. Urbana, Ill.: Univ. of Illinois Intelligence. at Urbana-Champaign. Mittal, S., and Falkenhainer, B. 1990. Dynamic Geffner, H., and Pearl, J. 1987. An Improved Con- Constraint-Satisfaction Problems. In Proceedings of straint-Propagation Algorithm for Diagnosis. In Pro- the Eighth National Conference on Artificial Intel- ceedings of the Tenth International Joint ligence, 25–32. Menlo Park, Calif.: American Asso- Conference on Artificial Intelligence, 1105–1111. ciation for Artificial Intelligence. Menlo Park, Calif.: International Joint Conferences Mittal, S., and Frayman, F. 1987. Making Partial on Artificial Intelligence. Choices in Constraint-Reasoning Problems. In Pro- Gu, J. 1989. Parallel Algorithms and Architectures ceedings of the Sixth National Conference on Arti- for Very Fast AI Search. Ph.D. diss., Computer Sci- ficial Intelligence, 631–636. Menlo Park, Calif.: ence Dept., Univ. of Utah. American Association for Artificial Intelligence. Han, C. C., and Lee, C. H. 1988. Comments on Mohr, R., and Henderson, T. C. 1986. Arc and Path Mohr and Henderson’s Path-Consistency Algo- Consistency Revisited. Artificial Intelligence rithm. Artificial Intelligence 36:125–130. 28:225–233. Haralick, R., and Elliot, G. 1980. Increasing Tree Montanari, U. 1974. Networks of Constraints: Fun- Search Efficiency for Constraint-Satisfaction Prob- damental Properties and Applications to Picture lems. Artificial Intelligence 14(3): 263–313. Processing. Information Science 7:95–132. Haralick, R.; Davis, L. S.; and Rosenfeld, A. 1978. Montanari, U., and Rossi, F. 1991. Constraint Reduction Operations for Constraint Satisfaction. Relaxation May Be Perfect. The Journal of Artificial Information Science 14:199–219. Intelligence 48:143–170. Hummel, R. A.; Rosenfeld, A.; and Zucker, S. W. Nadel, B. 1990. Some Applications of the Constraint- 1976. Scene Labelling by Relaxation Operations. Satisfaction Problem, Technical Report, CSC-90- IEEE Transactions on Systems, Man, and Cybernetics 008, Computer Science Dept., Wayne State Univ. 6(6): 420–433. Nadel, B. 1988. Tree Search and Arc Consistency in Kale, L. V. 1990. A Perfect Heuristic for the N Non- Constraint-Satisfaction Algorithms. In Search in Attacking Queens Problem. Information Processing Artificial Intelligence, eds. L. Kanal and V. Kumar, Letters 34(4): 173–178. 287–342. New York: Springer-Verlag. Kumar, V. 1987. Depth-First Search. In Encyclopae- Nadel, B. 1983. Consistent-Labeling Problems and dia of Artificial Intelligence, volume 2, ed. S. C. Their Algorithms: Expected Complexities and Shapiro, 1004–1005. New York: Wiley. Theory-Based Heuristics. Artificial Intelligence Kumar, V., and Lin, Y. 1988. A Data- 21:135–178. Dependency–Based Intelligent Backtracking Scheme Nadel, B., and Lin, J. 1991. Automobile Transmis- for Prolog. The Journal of 5(2): sion Design as a Constraint-Satisfaction Problem: 165–181. Modeling the Kinematic Level. Artificial Intelligence McDermott, D. 1991. A General Framework for for Engineering Design, Analysis, and Manufacturing Reason Maintenance. Artificial Intelligence 5(2). Forthcoming.

SPRING 1992 43 Articles

Navinchandra, D. 1990. Exploration and Innovation Sadeh, N. 1991. Look-Ahead Techniques for Micro- in Design. New York: Springer-Verlag. Opportunistic Job Shop Scheduling. Ph.D. diss., Navinchandra, D., and Marks, D. H. 1987. Layout CMU-CS-91-102, Computer Science Dept., Planning as a Consistent Labelling Optimization Carnegie Mellon Univ. Problem. Presented at the Fourth International Shapiro, L., and Haralick, R. 1981. Structural Symposium on Robotics and AI in Construction, Descriptions and Inexact Matching. IEEE Transac- Haifa, Israel. tions on Pattern Analysis and Machine Intelligence Pereira, L. M., and Porto, A. 1982. Selective Back- 3(5): 504–518. tracking. In Logic Programming, eds. K. Clark and Stallman, R., and Sussman, G. J. 1977. Forward Rea- Sten-Ake Tarnlund, 107–114. Boston: Academic. soning and Dependency-Directed Backtracking. Perlin, M. 1991. Arc Consistency for Factorable Artificial Intelligence 9(2): 135–196. Relations. In Proceedings of the Third International Stefik, M. 1981. Planning with Constraints Conference on Tools for AI, 340–345. Washington, (MOLGEN: Part I). Artificial Intelligence 16:111–140. D.C.: IEEE Computer Society. Stone, H. S., and Stone, J. 1986. Efficient Search Petrie, C. 1987. Revised Dependency-Directed Back- Techniques: An Empirical Study of the N-Queens tracking for Default Reasoning. In Proceedings of Problem, Technical Report RC 12057, IBM T. J. the Sixth National Conference on Artificial Intelli- Watson Research Center, Yorktown Heights, New gence, 167–172. Menlo Park, Calif.: American Asso- York. ciation for Artificial Intelligence. Tsang, E. P. K. 1987. The Consistent Labeling Prob- Petrie, C.; Causey, R.; Steiner, D.; and Dhar, V. 1989. lem in Temporal Reasoning. In Proceedings of the A Planning Problem: Revisable Academic Course Sixth National Conference on Artificial Intelli- Scheduling, Technical Report AI-020-89, MCC Corp., gence, 251–255. Menlo Park, Calif.: American Asso- Austin, Texas. ciation for Artificial Intelligence. Prosser, P. 1991. Hybrid Algorithms for the Con- Ullman, J. R. 1976. An Algorithm for Subgraph Iso- straint-Satisfaction Problem, Research Report, AISL- morphism. Journal of the ACM 23:31–42. 46-91, Computer Science Dept., Univ. of Vilain, M., and Kautz, H. 1986. Constraint-Propaga- Strathclyde. tion Algorithms for Temporal Reasoning. In Pro- Prosser, P. 1989. A Reactive Scheduling Agent. In ceedings of the Fifth National Conference on Proceedings of the Eleventh International Joint Artificial Intelligence, 377–382. Menlo Park, Calif.: Conference on Artificial Intelligence, 1004–1009. American Association for Artificial Intelligence. Menlo Park, Calif.: International Joint Conferences Waltz, D. 1975. Understanding Line Drawings of on Artificial Intelligence. Scenes with Shadows. In The Psychology of Computer Purdom, P. 1983. Search Rearrangement Backtrack- Vision, ed. P. H. Winston, 19–91. Cambridge, Mass.: ing and Polynomial Average Time. Artificial Intelli- McGraw Hill. gence 21:117–133. Zabih, R. 1990. Some Applications of Graph Band- Purdom, P., and Brown, C. 1982. An Empirical width to Constraint-Satisfaction Problems. In Pro- Comparison of Backtracking Algorithms. IEEE ceedings of the Seventh National Conference on Transactions on Pattern Analysis and Machine Intelli- Artificial Intelligence, 46–51. Menlo Park, Calif.: gence on Pattern Analysis and Machine Intelligence American Association for Artificial Intelligence. PAMI-4: 309–316. Zabih, R., and McAllester, D. 1988. A Rearrange- Purdom, P., and Brown, C. 1981. An Average Time ment Search Strategy for Determining Proposition- Analysis of Backtracking. SIAM Journal of Computing al Satisfiability. In Proceedings of the Seventh 10(3): 583–593. National Conference on Artificial Intelligence, Purdom, P.; Brown, C.; and Robertson, E. L. 1981. 155–160. Menlo Park, Calif.: American Association Backtracking with Multi-Level Dynamic Search for Artificial Intelligence. Rearrangement. Acta Informatica 15:99–113. Ricci, F. 1990. Equilibrium Theory and Constraint Networks, Technical Report 9007-08, Istituto per la Ricerca Scientificae Tecnologica, Povo, Italy. Rit, J. F. 1986. Propagating Temporal Constraints for Scheduling. In Proceedings of the Fifth National Vipin Kumar is an associate pro- Conference on Artificial Intelligence, 383–386. fessor in the department of com- Menlo Park, Calif.: American Association for Artifi- puter sciences at the University cial Intelligence. of Minnesota. His current research interests include parallel Rosiers, W., and Bruynooghe, M. 1986. Empirical processing and AI. He is author Study of Some Constraint-Satisfaction Problems. In of over 50 journal and confer- Proceedings of AIMSA 86. New York: Elsevier. ence articles on these topics and Rossi, F.; Petrie, C.; and Dhar, V. 1989. On the is coeditor of Search in Artificial Equivalence of Constraint-Satisfaction Problems, Intelligence (Springer-Verlag, 1988) and Parallel Algo- Technical Report ACT-AI-222-89, MCC Corp., rithms for Machine Intelligence and Vision (Springer- Austin, Texas. Verlag, 1990).

44 AI MAGAZINE