algorithms for constraint- satisfaction problems: a surveycgi.di.uoa.gr/~takis/kumar.pdf · 34 ai...

13
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 satisfiability 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 backtracking 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. Articles 32 AI MAGAZINE Copyright ©1992, AAAI/$2.00

Upload: others

Post on 15-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • Algorithms for Constraint- Satisfaction Problems:

    A SurveyVipin Kumar

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

    Articles

    32 AI MAGAZINE Copyright ©1992, AAAI/$2.00

  • A large number of problems in AI and otherareas of computer science can be viewed asspecial cases of the constraint-satisfactionproblem (CSP) (Nadel 1990). Some examplesare machine vision (Chakravarty 1979; Davisand Rosenfeld 1981; Mackworth 1977b; Mon-tanari 1974; Hummel 1976), belief mainte-nance (Dechter 1987; Dechter and Pearl1988b; Dhar and Croker 1990), scheduling(Dhar and Ranganathan 1990; Fox 1987; Fox,Sadeh, and Baykan 1989; Petrie et al. 1989;Prosser 1989; Rit 1986), temporal reasoning(Allen 1983, 1984; Dechter, Meiri, and Pearl1991; Vilain and Kautz 1986; Tsang 1987),graph problems (McGregor 1979; Bruynooghe1985), floor plan design (Eastman 1972), theplanning of genetic experiments (Stefik1981), the satisfiability problem (Zabih andMcAllester 1988), circuit design (de Kleer andSussman 1980), machine design and manu-facturing (Frayman and Mittal 1987; Nadeland Lin 1991; Navinchandra 1990), and diag-nostic reasoning (Geffner and Pearl 1987).

    The scope of this article is restricted tothose constraint-satisfaction problems thatcan be stated as follows: We are given a set ofvariables, a finite and discrete domain foreach variable, and a set of constraints. Eachconstraint is defined over some subset of theoriginal set of variables and limits the combi-nations of values that the variables in thissubset can take. The goal is to find one assign-ment to the variables such that the assign-ment satisfies all the constraints. In someproblems, the goal is to find all such assign-ments. More general formulations of CSP canbe found in Freuder (1989); Gu (1889); Mack-worth, Mulder, and Havens (1985); Mittal and Frayman (1987); Mittal and Falkenhainer(1990); Freeman-Benson, Maloney, and Born-ing (1990); Navinchandra and Marks (1987);Shapiro and Haralick (1981); and Ricci (1990).

    I further restrict the discussion to CSPs inwhich each constraint is either unary or binary.I refer to such CSP as binary CSP. It is possibleto convert CSP with n-ary constraints toanother equivalent binary CSP (Rossi, Petrie,and Dhar 1989). Binary CSP can be depictedby a constraint graph in which each noderepresents a variable, and each arc representsa constraint between variables represented by

    the end points of the arc. A unary constraintis represented by an arc originating and ter-minating at the same node. I often use theterm CSP to refer to the equivalent constraintgraph and vice versa.

    For example, the map-coloring problem canbe cast as CSP. In this problem, we need tocolor (from a set of colors) each region of themap such that no two adjacent regions havethe same color. Figure 1 shows an examplemap-coloring problem and its equivalent CSP.The map has four regions that are to be col-ored red, blue, or green. The equivalent CSPhas a variable for each of the four regions ofthe map. The domain of each variable is thegiven set of colors. For each pair of regionsthat are adjacent on the map, there is a binaryconstraint between the corresponding vari-ables that disallows identical assignments tothese two variables.

    Backtracking: A Method forSolving the Constraint-

    Satisfaction ProblemCSP can be solved using the generate-and-testparadigm. In this paradigm, each possiblecombination of the variables is systematicallygenerated and then tested to see if it satisfiesall the constraints. The first combination thatsatisfies all the constraints is the solution. Thenumber of combinations considered by this

    Articles

    SPRING 1992 33

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

    V4

    V2

    V1V3

    V1 V4

    V3V2

    Figure 1. An Example Map-Coloring Problem andIts Equivalent Constraint-Satisfaction Problem.

  • Articles

    34 AI MAGAZINE

    method is the size of the Cartesian product ofall the variable domains.

    A more efficient method uses the backtrack-ing paradigm. In this method, variables areinstantiated sequentially. As soon as all thevariables relevant to a constraint are instanti-ated, the validity of the constraint is checked.If a partial instantiation violates any of theconstraints, backtracking is performed to themost recently instantiated variable that stillhas alternatives available. Clearly, whenever apartial instantiation violates a constraint,backtracking is able to eliminate a subspacefrom the Cartesian product of all variabledomains. The backtracking method essential-ly performs a depth-first search (Kumar 1987)of the space of potential CSP solutions.

    Although backtracking is strictly better thanthe generate-and-test method, its run-timecomplexity for most nontrivial problems isstill exponential. One of the reasons for thispoor performance is that the backtrackingparadigm suffers from thrashing (Gaschnig1979); that is, search in different parts of thespace keeps failing for the same reasons. Thesimplest cause of thrashing concerns theunary predicates and is referred to as nodeinconsistency (Mackworth 1977a). If the domainDi of a variable Vi contains a value a thatdoes not satisfy the unary constraint on Vi,then the instantiation of Vi to a always resultsin an immediate failure. Another possiblesource of thrashing is illustrated by the fol-lowing example: Suppose the variables areinstantiated in the order V1, V2, …,Vi, …, Vj,…, VN. Suppose also that the binary con-straint between Vi and Vj is such that for Vi= a, it disallows any value of Vj. In the back-track search tree, whenever Vi is instantiatedto a, the search will fail while instantiation istried with Vj (because no value for Vj wouldbe found acceptable). This failure will berepeated for each possible combination thatthe variables Vk (i < k < j) can take. The causeof this kind of thrashing is referred to as alack of arc consistency (Mackworth 1977a).Other drawbacks of simple backtracking arediscussed in Intelligent Backtracking andTruth Maintenance.

    Thrashing because of node inconsistencycan be eliminated by simply removing thosevalues from the domains Di of each variableVi that do not satisfy unary predicate Pi.Thrashing because of arc inconsistency canbe avoided if each arc (Vi, Vj) of the constraintgraph is made consistent before the searchstarts. In the next section, I formally definethe notion of arc consistency and consideralgorithms for achieving it.

    Propagating ConstraintsArc (Vi, Vj) is arc consistent if for every valuex in the current domain of Vi, there is somevalue y in the domain of Vj such that V1 = xand Vj = y are permitted by the binary con-straint between Vi and Vj . The concept ofarc consistency is directional; that is, if an arc(Vi, Vj) is consistent, then it does not auto-matically mean that (Vj, Vi) is also consistent.Consider the constraint graph of anothermap-coloring problem given in figure 2. Inthis constraint graph, arc (V3,V2) is consistentbecause green is the only value in the domainof V3, and for V3 = green, at least one assign-ment for V2 exists that satisfies the constraintbetween V2 and V3. However, arc (V2, V3) isnot consistent because for V2 = green, there isno value in the domain of V3 that is permittedby the constraint between V2 and V3.

    Clearly, an arc (Vi, Vj) can be made consis-tent by simply deleting those values from thedomain of Vi for which the previous conditionis not true. (Deletions of such values do noteliminate any solution of original CSP.) Thefollowing algorithm, taken from Mackworth(1977a), does precisely that.

    procedure REVISE(Vi, Vj);DELETE ← false;for each x ε Di do

    if there is no such vj ∈ Djsuch that (x, vj ) is consistent,then

    delete x from Di ;DELETE ← true;

    endif;endfor; return DELETE;end_REVISE

    To make every arc of the constraint graphconsistent, it is not sufficient to executeREVISE for each arc just once. Once REVISEreduces the domain of some variable Vi, theneach previously revised arc (Vj, Vi) has to berevised again because some of the members

    V2V1

    V3

    red green blue

    green

    blue green

    Figure 2. A Constraint Graph for Some Map-Coloring Problems.

  • of the domain of Vj might no longer be com-patible with any remaining members of therevised domain of Vi. For example, in CSP infigure 2, arc (V1, V2) is initially consistent.After arc (V2, V3) is made consistent by delet-ing green from the domain of V2, arc (V1, V2)no longer remains consistent. The followingalgorithm, taken from Mackworth (1977a),obtains arc consistency for the whole con-straint graph G:

    procedure AC-1Q ← {(Vi, Vj) ∈ arcs(G), i ≠ j};repeat

    CHANGE ← false;for each (Vi, Vj) ∈ Q do

    CHANGE ← (REVISE(Vi, Vj)or CHANGE);

    endfor;until not(CHANGE);end_ACThe major problem with the previous algo-

    rithm is that successful revision of even onearc in some iteration forces all the arcs to berevised in the next iteration, even thoughonly a small number of them are affected bythis revision. Mackworth (1977a) presents a

    variation (called AC-3) of this algorithm thateliminates this drawback. This algorithm(given here) performs re-revision only forthose arcs that are possibly affected by a pre-vious revision. The reader can verify that inAC-3, after applying REVISE(Vk, Vm), it is notnecessary to add arc (Vm, Vk) to Q. The reasonis that none of the elements deleted from thedomain of Vk during the revision of arc(Vk,Vm) provided support for any value in thecurrent domain of Vm.

    procedure AC-3Q ← {(Vi, Vj) ε arcs(G), i ≠ j}; while Q not empty

    select and delete any arc (Vk, Vm)from Q;

    if (REVISE(Vk, Vm) thenQ ← » {(Vi, Vk) such that (Vi,

    Vk) ε arcs(G), i ≠ k, i ≠ m} endif;

    endwhile;end_ACThe well-known algorithm of Waltz (1975)

    is a special case of this algorithm and is equiv-alent to another algorithm, AC-2, discussed inMackworth (1977a). Assume that the domainsize for each variable is d, and the total numberof binary constraints (that is, the arcs in theconstraint graph) is e. The complexity of anarc-consistency algorithm given in Mack-worth (1977a) is O(ed3) (Mackworth andFreuder 1985). Mohr and Henderson (1986)present another arc-consistency algorithmthat has a complexity of O(ed2). To verify thearc consistency, each arc must be inspected atleast once, which takes O(d2) steps. Hence,the lower bound on the worst-case time com-plexity of achieving arc consistency is O(ed2).Thus, Mohr and Henderson’s algorithm isoptimal in terms of worst-case complexity.Variations and improvements of this algo-rithm were developed in Han and Lee (1988)and Chen (1991).

    Given an arc-consistent constraint graph, isany (complete) instantiation of the variablesfrom current domains a solution to CSP? Inother words, can achieving arc consistencycompletely eliminate the need for backtrack-ing? If the domain size of each variablebecomes one after obtaining arc consistency,then the network has exactly one solution,which is obtained by assigning the only possi-ble value in its domain to each variable. Oth-erwise, the answer is no in general. Theconstraint graph in figure 3a is arc consistent,but none of the possible instantiations of thevariables are solutions to CSP. In general,even after achieving arc consistency, a net-work can have (1) no solutions (figure 3a), (2)more than one solution (figure 3b), or (3)

    Articles

    SPRING 1992 35

    VV2

    V1

    blue, green

    red, green red, greennot-same

    not-samenot-same

    3

    VV2

    V1

    blue, green

    red, green red, greennot-same

    not-same

    3

    (b)

    (c)

    not-same +(V = blue & V = red not allowed)

    1 3

    VV2

    V1

    red, green

    red, green red, greennot-same

    not-samenot-same

    3

    (a)

    Figure 3. Examples of Arc-Consistent Constraint Graphs.

    (a) The graph has no solutions. (b) The graph has twosolutions ((blue,red,green), (blue,green,red)). (c) Thegraph has exactly one solution (blue,red,green).

  • Articles

    36 AI MAGAZINE

    exactly one solution (figure 3c). In each case,search might be needed to find thesolution(s) or discover that there is no solu-tion. Nevertheless, by making the constraintgraph arc consistent, it is often possible toreduce the search done by the backtrackingprocedure. Waltz (1975) shows that for theproblem of labeling polyhedral scenes, arcconsistency substantially reduces the searchspace. In some instances of this problem, thesolution was found after no further search.

    Given that arc consistency is not enough to eliminate the need for backtracking, cananother stronger degree of consistency elimi-nate the need for search? The notion of Kconsistency captures different degrees of con-sistency for different values of K.

    A constraint graph is K consistent if the fol-lowing is true: Choose values of any K - 1variables that satisfy all the constraints amongthese variables, then choose any K’th vari-able. A value for this variable exists that satis-fies all the constraints among these K variables.

    A constraint graph is strongly K consistentif it is J consistent for all J ≤ K.

    Node consistency, discussed earlier, isequivalent to strong 1 consistency. Arc con-sistency is equivalent to strong 2 consistency.Algorithms exist to make a constraint graphstrongly K consistent for K > 2 (Cooper 1989;Freuder 1988). Clearly, if a constraint graphcontaining n nodes is strongly n consistent,then a solution to CSP can be found withoutany search. However, the worst-case complex-ity of the algorithm for obtaining n consis-

    tency in an n-node constraint graph is alsoexponential. If the graph is K consistent for K< n, then in general, backtracking cannot beavoided. Now the question is, Are there cer-tain kinds of CSPs for which K consistencyfor K < n can eliminate the need for back-tracking? Before answering this question, Idefine some terms.

    An ordered constraint graph is a constraintgraph whose vertices have been ordered lin-early. Figure 4 shows six different orderedconstraint graphs corresponding to the givenconstraint graph. Note that in the backtrack-ing paradigm, the CSP variables can beinstantiated in many different orders. Eachordered constraint graph of CSP provides onesuch order of variable instantiations. (Thevariables that appear earlier in the orderingare instantiated first. For example, in figure 4,for each ordered graph, the variable corre-sponding to the top node is instantiatedfirst.) It turns out that for some CSPs, someorderings of the constraint graph are betterthan other orderings in the following sense:If the backtracking paradigm uses these order-ings to instantiate the variables, then it canfind a solution to CSP without search (that is,the first path searched by backtracking leadsto a solution). Next, I define the width of aconstraint graph that is used to identify suchCSPs.

    The width at a vertex in an ordered constraintgraph is the number of constraint arcs thatlead from the vertex to the previous vertices(in the linear order). For example, in the left-most ordered constraint graph, the width ofthe vertex V2 is 1, and the width of V1 is 0.The width of an ordered constraint graph isthe maximum of the width of any of its ver-tices. The width of a constraint graph is theminimum width of all the orderings of thegraph. Hence, the width of the constraintgraph given in figure 4 is 1. The width of aconstraint graph depends on its structure.

    Theorem 1: If a constraint graph is stronglyK consistent, and K > w, where w is the widthof the constraint graph, then a search orderexists that is backtrack free (Freuder 1988, 1982).

    The proof of the theorem is straightfor-ward. If w is the width of the graph, then anordering of the graph exists such that thenumber of constraint arcs that lead from anyvertex of the graph to the previous vertices(in the linear order) is, at most, w. Now, if thevariables are instantiated using this orderingin the backtracking paradigm, then whenevera new variable is instantiated, a value for thisvariable that is consistent with all the previ-ous assignments can be found. Such a valuecan be found because (1) this value has to be

    1 1 1 2 1

    v

    1

    3

    v

    1

    2

    v

    2

    3

    v

    2

    1

    v

    3

    2

    Width =

    V2

    V1

    3V

    Figure 4. A Constraint Graph and Its Six Different Ordered Constraint Graphs.

  • Dechter and Pearl (1988a, 1988c, 1986); Freud-er and Quinn (1985); Freuder (1990); Dechter,Meir, and Pearl (1990); Zabih (1990); Perlin(1991); and Montanari and Rossi (1991).

    How Much Constraint Propagation Is Useful?

    To this point, I have considered two ratherdifferent schemes for solving CSP: backtrack-ing and constraint propagation. In the firstscheme, different possible combinations ofvariable assignments are tested until a com-plete solution is found. This approach suffersfrom thrashing. In the second scheme, con-straints between different variables are propa-gated to derive a simpler problem. In somecases (depending on the problem and thedegree of constraint propagation applied),resulting CSP is so simple that its solution canbe found without search. Although, any n-variable CSP can always be solved by achiev-ing n consistency, this approach is usuallyeven more expensive than simple backtrack-ing. A lower-degree consistency (that is, Kconsistency for K < n) does not eliminate theneed for search except for certain kinds ofproblems. A third possible scheme is toembed a constraint-propagation algorithminside a backtracking algorithm, as follows:

    A root node is created to solve original CSP.Whenever a node is visited, a constraint-prop-agation algorithm is first used to attain adesired level of consistency. If at a node, thecardinality of the domain of each variablebecomes 1, and corresponding CSP is arc con-sistent, then the node represents a solution. Ifin the process of performing constraint prop-agation at the node, the domain of any vari-able becomes null, then the node is pruned.Otherwise one of the variables (whose currentdomain size is >1) is selected, and new CSP iscreated for each possible assignment of thisvariable. Each such new CSP is depicted as asuccessor node of the node representingparent CSP. (Note that each new CSP is small-er than parent CSP because we need to chooseassignments for one less variable.) A back-

    Articles

    SPRING 1992 37

    consistent with the assignments of, at most,w other variables (that are connected to thecurrent variable) and (2) the graph is strongly(w + 1) consistent.

    It is relatively easy to determine the orderingof a given constraint graph that has a mini-mum width w (Freuder 1988, 1982). It mightappear that all we need to do is to make thisconstraint graph strongly (w + 1) consistentusing the algorithms in Freuder (1978).Unfortunately, for K > 2, the algorithm forobtaining K consistency adds extra arcs in theconstraint graph, which can increase thewidth of the graph. Hence, a higher degree ofconsistency has to be achieved before a solu-tion can be found without any backtracking.In most cases, even the algorithm for obtain-ing strong 3 consistency adds so many arcs inthe original n-variable constraint graph thatthe width of the resulting graph becomes n.However, we can use node-consistency or arc-consistency algorithms to make the graphstrongly 2 consistent. None of these algo-rithms adds any new nodes or arcs to the con-straint graph. Hence, if a constraint graph haswidth 1 (after making it arc and node consis-tent), we can obtain a solution to the corre-sponding CSP without any search.

    Interestingly, all tree-structured constrainedgraphs have width 1 (that is, at least one ofthe orderings of a tree-structured constraintgraph has width equal to 1) (Freuder 1988,1982). As an example, figure 5 shows a tree-structured constraint graph and one of itsordered versions whose width is 1. Hence, ifgiven CSP has a tree-structured graph, then itcan be solved without any backtracking onceit has been made node and arc consistent.

    In Dechter and Pearl (1988a, 1988b), thenotion of adaptive consistency is presentedalong with an algorithm for achieving it.Adaptive consistency is functionally similarto K consistency because it also renders CSPbacktrack free. Its main advantage is that thetime and space complexity of applying it canbe determined in advance. For other tech-niques that take advantage of the structure ofthe constraint graphs to reduce search, see

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

  • depicts each of these algorithms as a combi-nation of pure tree search and some fractionof arc consistency. On one extreme, GT issimple generate and test, and at the otherextreme, RFL is a complete 2-consistencyalgorithm embedded in backtracking. Theother algorithms—BT, FC, PL, and FL—areincreasingly complete implementations ofpartial arc consistency. Note that even back-tracking incorporates a limited degree of arcconsistency because whenever a new variableis considered for instantiation, any of itsvalues that are inconsistent with any previousinstantiations cause immediate failure. Hence,the domain of this variable is effectively fil-tered to contain only those values that areconsistent with the instantiations of variableshigher in the tree. FC incorporates a greaterdegree of arc consistency than BT, as follows:Whenever a new variable instantiation ismade, the domains of all as-yet-uninstantiat-ed variables are filtered to contain only thosevalues that are consistent with this instantia-tion. If the domains of any of these uninstan-tiated variables becomes null, then failure isrecognized, and backtracking occurs. PL, FL,and RFL are essentially augmented versions ofFC that perform arc consistency even betweenuninstantiated variables. Nadel (1988) pre-sents a comprehensive evaluation of thesealgorithms in the context of n-queens andconfused-n-queens problems. The n-queensproblem is to place n queens on an n x n chessboard in such a way that no pair of queensattacks each other. The confused-n-queensproblem is a variation of the n-queens prob-lem. Here, the n queens are to be placed onthe n x n chess board, one queen to a row,such that each pair of queens attacks eachother (that is, each pair of queens is either onthe same column or the same diagonal). Forthese problems, FC (which implements onlya fraction of the consistency achieved by thearc-consistency algorithm) turns out to be thebest algorithm. Experiments by other researcherswith a variety of problems also indicate thatit is better to apply constraint propagationonly in a limited form (Haralick and Elliot1980; McGregor 1979; Gaschnig 1978, 1979;Dechter and Meiri 1989a; Prosser 1991).

    Intelligent Backtracking andTruth Maintenance

    There are two major drawbacks to the stan-dard backtracking scheme. One is thrashing.Thrashing can be avoided by intelligent back-tracking; that is, by a scheme in which back-tracking is done directly to the variable that

    tracking algorithm visits these nodes in thestandard depth-first fashion until a solutionis found. The question now is how muchconstraint propagation to do at each node. Ifno constraint propagation is done, then theparadigm reverts to simple backtracking(actually, as we see shortly, even simple back-tracking performs some kind of constraintpropagation). More constraint propagation ateach node will result in the search tree con-taining fewer nodes, but the overall cost canbe higher because the processing at each nodewill be more expensive. At one extreme,obtaining n consistency for the original prob-lem would completely eliminate the need forsearch, but as mentioned before, this methodis usually more expensive than simple back-tracking.

    A number of algorithms for solving CSPsthat essentially fit the previous format havebeen investigated by various researchers (Har-alick and Elliot 1980; Nadel 1988; Fikes 1970;Gaschnig 1974; Ullman 1976; Haralick, Davis,and Rosenfeld 1978; McGregor 1979; Dechterand Meiri 1989). In particular, Nadel (1988)empirically compares the performance of thefollowing algorithms: generate and test (GT),simple backtracking (BT), forward checking(FC), partial lookahead (PL), full lookahead(FL), and really full lookahead (RFL). Thesealgorithms primarily differ in the degrees ofarc consistency performed at the nodes of thesearch tree.

    Figure 6 (adapted from Nadel [1988])

    Articles

    38 AI MAGAZINE

    V5

    V2

    V1

    V3

    V4

    v1

    v2

    v4

    v

    v3

    5

    Figure 5. A Tree-Structured Constraint Graphand One of Its Width-1 Ordering.

  • caused the failure. The other drawback ishaving to perform redundant work. To seehow backtracking can perform redundantwork, consider the following example:

    Assume that variables V1, V2, and V3 havebeen assigned values a1, b3, and c1, respective-ly. Assume that none of the values of V3 werefound compatible with the values b1 and b2 ofV2. Now assume that all possible values of V4conflict with the choice of V1 = a1. Becausethe conflict is caused by the inappropriatechoice of V1, clearly an intelligent backtrack-ing scheme will perform backtracking to V1and, thus, assign a different value to V1. How-ever, even this scheme will undo the assign-ments of V2 and V3 and will rediscover, fromscratch, the fact that none of the values of V3are compatible with the values b1 and b2 of V2.

    There is a backtracking-based method thateliminates both of these drawbacks to back-tracking. This method is traditionally calleddependency-directed backtracking (Stallman andSussman 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: Avariable is assigned some value, and a justifi-cation for this value is noted (the justificationis simply that no justification exists for assign-ing other possible values). Then, similarly, adefault value is assigned to some other vari-able and is justified. At this time, the systemchecks whether the current assignments vio-late any constraint. If they do, then a newnode is created that essentially denotes thatthe pair of values for the two variables inquestion is not allowed. This node is also usedto justify another value assignment to one ofthe variables. This process continues until aconsistent assignment is found for all thevariables. Such a system, if implemented infull generality, never performs redundant back-tracking and never repeats any computation.

    Although the amount of search performedby such a system is minimal, the proceduresfor determining the culprit of constraint vio-lation and choosing a new value of the vari-ables are complex (Petrie 1987). Hence, overallthe scheme can take more time than evensimple backtracking for a variety of problems.Hence, a number of simplifications to thisscheme were developed by various researchers(Bruynooghe 1981; Rosiers and Bruynooghe1986; Dechter 1986, 1990; Haralick and Elliot1980; Gaschnig 1977). For example, a schemedeveloped by Dechter and Pearl is much sim-pler and less precise than the original depen-dency-directed backtracking scheme ofStallman and Sussman.

    Even the schemes that perform only intelli-

    gent backtracking can be complex dependingon the analysis done to find the reason forfailure. Recall that these schemes make noeffort to avoid redundant work. A simpleintelligent backtracking scheme can turn outto have less overall complexity than a morecomplicated intelligent backtracking method.The scheme presented in Freuder and Quinn(1985) can be viewed as a simple intelligentbacktracking scheme that takes advantage ofthe structure of the constraint graph to deter-mine possible reasons for failure.

    Intelligent backtracking schemes developedfor Prolog (Kumar and Lin 1988; Bruynoogheand Pereira 1984; Pereira and Porto 1982) arealso applicable to CSPs. De Kleer developedan assumption-based truth maintenancesystem (ATMS) (de Kleer 1986a, 1986b) thatalso tries to remedy the drawbacks to simplebacktracking. As discussed in de Kleer (1989),there are strong similarities between the con-straint-propagation methods discussed inPropagating Constraints and ATMS for solv-ing CSPs.

    Variable Ordering and Value Instantiation

    If backtracking is used to solve CSP, thenanother issue is the order in which variablesare considered for instantiations. Experimentsand analysis by several researchers show thatthe ordering in which variables are chosen forinstantiation can have substantial impact on

    Articles

    SPRING 1992 39

    Generate & Test (GT)

    Simple Backtracking (BT = GT + AC 1/5)

    Forward Checking (FC = GT + AC 1/4)

    Partial Lookahead (PL = FC + AC 1/3)

    Full Lookahead (FL = FC + AC 1/2)

    Really Full Lookahead (RFL = FC + AC)

    Figure 6. Different Constraint-Satisfaction Algorithms Depicted as a Combi-nation of Tree Searching and Different Degrees of Constraint Propagation.

  • contributes to the search space only additively(that is, not multiplicatively, which is usuallythe case). If the constraint graph has n vertices,and a stable set of m vertices exists, then theoverall complexity of the backtrack is bound-ed by dn-m * md as opposed to dn. Hence, itmakes sense to find the maximal stable set ofthe constraint graph before deciding on theorder of instantiation. Unfortunately, theproblem of finding a maximal stable set isNP-hard. Thus, one has to settle for a heuristicalgorithm that finds a suboptimal stable set.Fox, Sadeh, and Baykan (1989) use many different structural characteristics of CSP toselect variable order and show its utility inthe domains of spatial planning and factoryscheduling.

    Recall that the tree-structured constraintgraphs can be solved without backtrackingsimply at the cost of achieving arc consistency.Any given constraint graph can be made atree after deleting certain vertices such thatall the cycles from the graph are removed.This set of vertices is called the cycle cutset. Ifa small cycle cutset can be found, then a goodheuristic is to first instantiate all the variablesin the cycle cutset and then solve the result-ing tree-structured CSPs without backtracking(Dechter 1986). If the size of a cycle cutset ofan n-variable CSP is m, then the original CSPcan be solved in dm + (n - m) * d2 steps.

    Once the decision is made to instantiate avariable, it can have several values available.The order in which these values are consid-ered can have substantial impact on the timeto find the first solution. For example, if CSPhas a solution, and a correct value is chosenfor each variable, then a solution can befound without any backtracking. One possi-ble heuristic is to prefer those values thatmaximize the number of options available forfuture assignments (Haralick and Elliot 1980).By incorporating such a value-orderingheuristic in Stone and Stone’s algorithm forsolving the n-queens problem, Kale (1990)developed a backtracking-based algorithmthat can be used to solve the problem withlittle backtracking even for large values of n(= 1000). Without incorporating Kale’sheuristic, Stone and Stone’s algorithm isunable to solve the n-queens problem for nmuch larger than 100.

    Minton, Johnston, Philips, and Laird (1990)use similar value- and variable-orderingheuristics in a somewhat different frameworkto obtain solutions to the n-queens problemfor n = 1,000,000. In their scheme, backtrack-ing starts after a good initial assignment ofvalues to the variables in CSP (that is, anassignment to the variables that violates only

    the complexity of backtrack search (Bitnerand Reingold 1975; Purdom 1983; Stone andStone 1986; Haralick and Elliot 1980; Zabihand McAllester 1988). Several heuristics havebeen developed and analyzed for selectingvariable ordering. One powerful heuristic,developed by Bitner and Reingold (1975), isoften used with the FC algorithm. In thismethod, the variable with the fewest possibleremaining alternatives is selected for instanti-ation. Thus, the order of variable instantiationis, in general, different in different branchesof the tree and is determined dynamically.This heuristic is called the search-rearrangementmethod. Purdom and Brown extensively stud-ied this heuristic, as well as its variants, bothexperimentally and analytically (Purdom1983; Purdom and Brown 1981, 1982; Purdom,Brown, and Robertson 1981). Their resultsshow that for significant classes of problems,search-rearrangement backtracking is a sub-stantial improvement over the standard back-tracking method. For the n-queens problem,Stone and Stone (1986) experimentally showthat the search-rearrangement heuristic led toan improvement of dozens of orders of mag-nitude for large values of n. With this heuris-tic, they were able to solve the problem for n≤ 96 using only a personal computer. Thestandard backtracking method could notsolve the problem in a reasonable amount oftime even for n = 30. Nadel (1983) presentsan analytic framework that can be used toanalyze the expected complexities of varioussearch orders and select the best one. Feld-man and Golumbic (1989) apply these ideasto the student scheduling problem and sug-gest some further extensions.

    Another possible heuristic is to instantiatethose variables first that participate in thehighest number of constraints. This approachtries to ensure that the unsuccessful branchesof the tree are pruned early. Freuder and Quinn(1985) discuss an ordering that is somewhatrelated to this heuristic. A set of variableswith no direct constraints between any pairof them is called a stable set of variables. Inthis heuristic, the backtracking algorithminstantiates all the members of a stable set atthe end. The instantiation of these variables

    Articles

    40 AI MAGAZINE

    A set of variables with no direct constraintsbetween any pair of them is called a stableset of variables.

  • a few of the constraints) has been obtainedthrough some greedy algorithm. Now thevalues of the variables that conflict with othervariables are systematically changed in thebacktracking paradigm. Minton and his col-leagues present empirical results using thisscheme for many problems as well as an ana-lytic model that explains the performance ofthis scheme with different kinds of problems.This method was originally developed as ahill-climbing method (that is, nonbacktrackingmethod). It starts with a reasonable assign-ment of values to variables and then contin-ues to repair the values of variables until acorrect solution is obtained. Sosic and Gu alsodeveloped a similar algorithm (Gu 1989).

    Another heuristic is to prefer the value(from those available) that leads to CSP that iseasiest to solve. Dechter and Pearl (1988a) dis-cuss one way of estimating the difficulty ofsolving CSP. In this method, CSP is convertedinto a tree-structured CSP by deleting a mini-mum number of arcs; resulting CSP is solvedfor all solutions. The number of solutionsfound in corresponding tree-structured CSP istaken as the measure of difficulty of solvingCSP (higher the solution count, easier CSP).They also present an experimental evaluationof this heuristic, as well as its variations, onrandomly generated CSPs and show that avariation of this heuristic helps in reducingthe overall search effort. Good value-orderingheuristics are expected to be highly problemspecific. For example, Sadeh (1991) showsthat Dechter and Pearl’s value-ordering heuris-tic performs poorly for the job shop schedul-ing problem. Sadeh presents other variable-and value-ordering heuristics that work wellfor this problem.

    Concluding RemarksCSP can always be solved by the standardbacktracking algorithm, although at substantialcost. The reason for the poor performance ofbacktracking is that it does not learn from thefailure of different nodes. The performance ofa backtracking algorithm can be improved ina number of ways: (1) performing constraintpropagation at the search nodes of the tree,(2) performing reason maintenance or justintelligent backtracking, and (3) choosing agood variable ordering or a good order for theinstantiation of different values of a givenvariable. By performing constraint propaga-tion, given CSP is essentially transformed intodifferent CSP whose search space is smaller. Inthe process of constraint propagation, certainfailures are identified, and the search space iseffectively reduced so that these failures are

    not encountered at all in the search space oftransformed CSP. In the second technique,CSP is not transformed into a different prob-lem, but the search space is searched careful-ly. Information about a failure is kept andused during the search of the remainingspace. Based on previous failure information,whenever it is determined that search insome new subspace will also fail, then thissubspace is also pruned. Good variable order-ing reduces the bushiness of the tree bymoving the failures to upper levels of thesearch tree. Good value ordering moves asolution of CSP to the left of the tree so thatit can be found quickly by the backtrackingalgorithm. If applied to an extreme, any ofthese techniques can eliminate the thrashingbehavior of backtracking. However, the costof applying these techniques in this manneris often more than that incurred by simplebacktracking. It turns out that simplified ver-sions of these techniques can be used togetherto reduce the overall search space. The optimalcombination of these techniques is differentfor different problems and is a topic of cur-rent investigation (Dechter and Meiri 1989).

    Acknowledgments

    I want to thank Charles Petrie, Ananth Grama,and Francesco Ricci for a number of sugges-tions for improving the quality of this article.An earlier version of this article appears asMCC Corp. document TR ACT-AI-041-90.

    ReferencesAllen, J. 1984. Toward a General Theory of Actionand Time. Artificial Intelligence 23(2): 123–154.

    Allen, J. 1983. Maintaining Knowledge about Tem-poral Intervals. Communications of the ACM26:832–843.

    Bitner, J., and Reingold, E. M. 1975. Backtrack Pro-gramming Techniques. 18:651–655.

    Bruynooghe, M. 1985. Graph Coloring and Con-straint Satisfaction, Technical Report, CW 44,Department Computerwetenschappen, KatholiekeUniversiteit Leuven.

    Bruynooghe, M. 1981. Solving CombinatorialSearch Problems by Intelligent Backtracking. Infor-mation Processing Letters 12(1): 36–39.

    Bruynooghe, M., and Pereira, L. M. 1984. Deduc-tion Revision by Intelligent Backtracking. In Imple-mentations of Prolog, ed. J. A. Campbell, 194–215.Chichester, England: Ellis Horwood.

    Chakravarty, I. 1979. A Generalized Line and Junc-tion Labelling Scheme with Applications to SceneAnalysis. IEEE Transactions on Pattern Analysis andMachine Intelligence 1(2): 202–205.

    Chen, Y. 1991. Improving Han and Lee’s Path-Con-sistency Algorithm. In Proceedings of the Third

    Articles

    SPRING 1992 41

  • de Kleer, J. 1986a. An Assumption-Based TMS. Arti-ficial Intelligence 28:127–162.

    de Kleer, J. 1986b. Problems with ATMS. ArtificialIntelligence 28:197–224.

    de Kleer, J., and Sussman, G. J. 1980. Propagationof Constraints Applied to Circuit Synthesis. CircuitTheory and Applications 8:127–144.

    Dhar, V., and Croker, A. 1990. A Knowledge Repre-sentation for Constraint-Satisfaction Problems,Technical Report, 90-9, Dept. of Information Sys-tems, New York Univ.

    Dhar, V., and Ranganathan, N. 1990. Integer Pro-gramming versus Expert Systems: An ExperimentalComparison. Communications of the ACM33:323–336.

    Doyle, J. 1979. A Truth Maintenance System. Artifi-cial Intelligence 12:231–272.

    Eastman, C. 1972. Preliminary Report on a Systemfor General Space Planning. Communications of theACM 15:76–87.

    Feldman, R., and Golumbic, M. C. 1989. ConstraintSatisfiability Algorithms for Interactive StudentScheduling. In Proceedings of the Eleventh Interna-tional Joint Conference on Artificial Intelligence,1010–1016. Menlo Park, Calif.: International JointConferences on Artificial Intelligence.

    Fikes, R. E. 1970. REF-ARF: A System for Solving Prob-lems Stated as Procedures. Artificial Intelligence 1(1):27–120.

    Fox, M. S. 1987. Constraint-Directed Search: A CaseStudy of Job Shop Scheduling. San Mateo, Calif.:Morgan Kaufmann.

    Fox, M. S.; Sadeh, N.; and Baykan, C. 1989. Con-strained Heuristic Search. In Proceedings of theEleventh International Joint Conference on ArtificialIntelligence, 309–315. Menlo Park, Calif.: Interna-tional Joint Conferences on Artificial Intelligence.

    Frayman, F., and Mittal, S. 1987. COSSACK: A Con-straint-Based Expert System for ConfigurationTasks. In Knowledge-Based Expert Systems in Engineer-ing: Planning and Design, eds. D. Sriram and R. A.Adey, 143–166. Billerica, Mass.: ComputationalMechanics Publications.

    Freeman-Benson, B. N.; Maloney, J.; and Borning,A. 1990. An Incremental Constraint Solver. Com-munications of the ACM 33:54–63.

    Freuder, E. 1990. Complexity of K-Tree–StructuredConstraint-Satisfaction Problems. In Proceedings ofthe Eighth National Conference on Artificial Intel-ligence, 4–9. Menlo Park, Calif.: American Associa-tion for Artificial Intelligence.

    Freuder, E. 1989. Partial Constraint Satisfaction. InProceedings of the Eleventh International JointConference on Artificial Intelligence, 278–283.Menlo Park, Calif.: International Joint Conferenceson Artificial Intelligence.

    Freuder, E. 1988. Backtrack-Free and Backtrack-Bounded Search. In Search in Artificial Intelligence,eds. L. Kanal and V. Kumar, 343–369. New York:Springer-Verlag.

    Freuder, E. 1982. A Sufficient Condition for Back-

    International Conference on Tools for AI, 346–350.Washington, D.C.: IEEE Computer Society.

    Cooper, M. C. 1989. An Optimal k-ConsistencyAlgorithm. Artificial Intelligence 41:89–95.

    Davis, A. L., and Rosenfeld, A. 1981. CooperatingProcesses for Low-Level Vision: A Survey. ArtificialIntelligence 17:245–263.

    Dechter, R. 1990. Enhancement Schemes for Con-straint Processing: Backjumping, Learning, andCutset Decomposition. Artificial Intelligence 41(3):273–312.

    Dechter, R. 1987. A Constraint-Network Approachto Truth Maintenance, Technical Report, R-870009,Cognitive Systems Laboratory, Computer ScienceDept., Univ. of California at Los Angeles.

    Dechter, R. 1986. Learning While Searching inConstraint-Satisfaction Problems. In Proceedings ofthe Fifth National Conference on Artificial Intelli-gence, 178–183. Menlo Park, Calif.: American Asso-ciation for Artificial Intelligence.

    Dechter, R., and Dechter, A. 1988. Belief Mainte-nance in Dynamic Constraint Networks. In Pro-ceedings of the Seventh National Conference onArtificial Intelligence, 37–42. Menlo Park, Calif.:American Association for Artificial Intelligence.

    Dechter, R., and Meiri, I. 1989. Experimental Evalu-ation of Preprocessing Techniques in Constraint-Satisfaction Problems. In Proceedings of theEleventh International Joint Conference on Artifi-cial Intelligence, 290–296. Menlo Park, Calif.: Inter-national Joint Conferences on ArtificialIntelligence.

    Dechter, R., and Pearl, J. 1988a. Network-BasedHeuristics for Constraint-Satisfaction Problems.Artificial Intelligence 34:1–38.

    Dechter, R., and Pearl, J. 1988b. Network-BasedHeuristics for Constraint-Satisfaction Problems. InSearch in Artificial Intelligence, eds. L. Kanal and V.Kumar, 370–425. New York: Springer-Verlag.

    Dechter, R., and Pearl, J. 1988c. Tree-ClusteringSchemes for Constraint Processing. In Proceedingsof the Seventh National Conference on ArtificialIntelligence, 150–154. Menlo Park, Calif.: AmericanAssociation for Artificial Intelligence.

    Dechter, R., and Pearl, J. 1986. The Cycle-CutsetMethod for Improving Search Performance in AIApplications, Technical Report, R-16, CognitiveSystems Laboratory, Computer Science Dept., Univ.of California at Los Angeles.

    Dechter, R.; Meiri, I.; and Pearl, J. 1991. TemporalConstraint Networks. Artificial Intelligence 49:61–95.

    Dechter, R.; Meiri, I.; and Pearl, J. 1990. TreeDecomposition with Applications to ConstraintProcessing. In Proceedings of the Eighth NationalConference on Artificial Intelligence, 10–16. MenloPark, Calif.: American Association for ArtificialIntelligence.

    de Kleer, J. 1989. A Comparison of ATMS and CSPTechniques. In Proceedings of the Eleventh Inter-national Joint Conference on Artificial Intelligence,290-296. Menlo Park, Calif.: International JointConferences on Artificial Intelligence.

    Articles

    42 AI MAGAZINE

  • track-Free Search. Journal of the ACM 29(1): 24–32.

    Freuder, E. 1978. Synthesizing Constraint Expres-sion. Communications of the ACM 21(11): 958–966.

    Freuder, E., and Quinn, M. 1985. Taking Advantageof Stable Sets of Variables in Constraint-SatisfactionProblems. In Proceedings of the Ninth Internation-al Joint Conference on Artificial Intelligence,1076–1078. Menlo Park, Calif.: International JointConferences on Artificial Intelligence.

    Gaschnig, J. 1979. Performance Measurement andAnalysis of Certain Search Algorithms. Ph.D. diss.,Dept. of Computer Science, Carnegie Mellon Univ.

    Gaschnig, J. 1978. Experimental Case Studies ofBacktrack versus Waltz-Type versus New Algorithmsfor Satisfying Assignment Problems. In Proceedingsof the Second Biennial Conference of the CanadianSociety for Computational Studies of Intelligence.Toronto: Canadian Information Processing Society.

    Gaschnig, J. 1977. A General Backtrack AlgorithmThat Eliminates Most Redundant Tests. In Proceedingsof the Fifth International Joint Conference on Arti-ficial Intelligence, 457–457. Menlo Park, Calif.: Inter-national Joint Conferences on Artificial Intelligence.

    Gaschnig, J. 1974. A Constraint-SatisfactionMethod for Inference Making. In Proceedings of theTwelfth Annual Allerton Conference on Circuit Sys-tems Theory, 866–874. Urbana, Ill.: Univ. of Illinoisat Urbana-Champaign.

    Geffner, H., and Pearl, J. 1987. An Improved Con-straint-Propagation Algorithm for Diagnosis. In Pro-ceedings of the Tenth International JointConference on Artificial Intelligence, 1105–1111.Menlo Park, Calif.: International Joint Conferenceson Artificial Intelligence.

    Gu, J. 1989. Parallel Algorithms and Architecturesfor Very Fast AI Search. Ph.D. diss., Computer Sci-ence Dept., Univ. of Utah.

    Han, C. C., and Lee, C. H. 1988. Comments onMohr and Henderson’s Path-Consistency Algo-rithm. Artificial Intelligence 36:125–130.

    Haralick, R., and Elliot, G. 1980. Increasing TreeSearch Efficiency for Constraint-Satisfaction Prob-lems. Artificial Intelligence 14(3): 263–313.

    Haralick, R.; Davis, L. S.; and Rosenfeld, A. 1978.Reduction Operations for Constraint Satisfaction.Information Science 14:199–219.

    Hummel, R. A.; Rosenfeld, A.; and Zucker, S. W.1976. Scene Labelling by Relaxation Operations.IEEE Transactions on Systems, Man, and Cybernetics6(6): 420–433.

    Kale, L. V. 1990. A Perfect Heuristic for the N Non-Attacking Queens Problem. Information ProcessingLetters 34(4): 173–178.

    Kumar, V. 1987. Depth-First Search. In Encyclopae-dia of Artificial Intelligence, volume 2, ed. S. C.Shapiro, 1004–1005. New York: Wiley.

    Kumar, V., and Lin, Y. 1988. A Data-Dependency–Based Intelligent Backtracking Schemefor Prolog. The Journal of Logic Programming 5(2):165–181.

    McDermott, D. 1991. A General Framework forReason Maintenance. Artificial Intelligence

    50:289–329.

    McGregor, J. 1979. Relational Consistency Algo-rithms and Their Applications in Finding Subgraphand Graph Isomorphism. Information Science19:229–250.

    Mackworth, A. K. 1977a. Consistency in Networksof Relations. Artificial Intelligence 8(1): 99–118.

    Mackworth, A. K. 1977b. On Reading Sketch Maps.In Proceedings of the Fifth International Joint Con-ference on Artificial Intelligence, 598–606. MenloPark, Calif.: International Joint Conferences onArtificial Intelligence.

    Mackworth, A. K., and Freuder, E. 1985. The Com-plexity of Some Polynomial Network-ConsistencyAlgorithms for Constraint-Satisfaction Problems.Artificial Intelligence 25:65–74.

    Mackworth, A. K.; Mulder, J. A.; and Havens, W. S.1985. Hierarchical Arc Consistency: ExploitingStructured Domains in Constraint Satisfaction.Computational Intelligence 1(3): 118–126.

    Minton, S.; Johnston, M.; Phillips, A.; and Laird, P.1990. Solving Large-Scale Constraint-Satisfactionand Scheduling Problems Using a Heuristic RepairMethod. In Proceedings of the Eighth NationalConference on Artificial Intelligence, 17–24. MenloPark, Calif.: American Association for ArtificialIntelligence.

    Mittal, S., and Falkenhainer, B. 1990. DynamicConstraint-Satisfaction Problems. In Proceedings ofthe Eighth National Conference on Artificial Intel-ligence, 25–32. Menlo Park, Calif.: American Asso-ciation for Artificial Intelligence.

    Mittal, S., and Frayman, F. 1987. Making PartialChoices in Constraint-Reasoning Problems. In Pro-ceedings of the Sixth National Conference on Arti-ficial Intelligence, 631–636. Menlo Park, Calif.:American Association for Artificial Intelligence.

    Mohr, R., and Henderson, T. C. 1986. Arc and PathConsistency Revisited. Artificial Intelligence28:225–233.

    Montanari, U. 1974. Networks of Constraints: Fun-damental Properties and Applications to PictureProcessing. Information Science 7:95–132.

    Montanari, U., and Rossi, F. 1991. ConstraintRelaxation May Be Perfect. The Journal of ArtificialIntelligence 48:143–170.

    Nadel, B. 1990. Some Applications of the Constraint-Satisfaction Problem, Technical Report, CSC-90-008, Computer Science Dept., Wayne State Univ.

    Nadel, B. 1988. Tree Search and Arc Consistency inConstraint-Satisfaction Algorithms. In Search inArtificial Intelligence, eds. L. Kanal and V. Kumar,287–342. New York: Springer-Verlag.

    Nadel, B. 1983. Consistent-Labeling Problems andTheir Algorithms: Expected Complexities andTheory-Based Heuristics. Artificial Intelligence21:135–178.

    Nadel, B., and Lin, J. 1991. Automobile Transmis-sion Design as a Constraint-Satisfaction Problem:Modeling the Kinematic Level. Artificial Intelligencefor Engineering Design, Analysis, and Manufacturing5(2). Forthcoming.

    Articles

    SPRING 1992 43

  • Sadeh, N. 1991. Look-Ahead Techniques for Micro-Opportunistic Job Shop Scheduling. Ph.D. diss.,CMU-CS-91-102, Computer Science Dept.,Carnegie Mellon Univ.

    Shapiro, L., and Haralick, R. 1981. StructuralDescriptions and Inexact Matching. IEEE Transac-tions on Pattern Analysis and Machine Intelligence3(5): 504–518.

    Stallman, R., and Sussman, G. J. 1977. Forward Rea-soning and Dependency-Directed Backtracking.Artificial Intelligence 9(2): 135–196.

    Stefik, M. 1981. Planning with Constraints(MOLGEN: Part I). Artificial Intelligence 16:111–140.

    Stone, H. S., and Stone, J. 1986. Efficient SearchTechniques: An Empirical Study of the N-QueensProblem, Technical Report RC 12057, IBM T. J.Watson Research Center, Yorktown Heights, NewYork.

    Tsang, E. P. K. 1987. The Consistent Labeling Prob-lem in Temporal Reasoning. In Proceedings of theSixth National Conference on Artificial Intelli-gence, 251–255. Menlo Park, Calif.: American Asso-ciation for Artificial Intelligence.

    Ullman, J. R. 1976. An Algorithm for Subgraph Iso-morphism. Journal of the ACM 23:31–42.

    Vilain, M., and Kautz, H. 1986. Constraint-Propaga-tion Algorithms for Temporal Reasoning. In Pro-ceedings of the Fifth National Conference onArtificial Intelligence, 377–382. Menlo Park, Calif.:American Association for Artificial Intelligence.

    Waltz, D. 1975. Understanding Line Drawings ofScenes with Shadows. In The Psychology of ComputerVision, ed. P. H. Winston, 19–91. Cambridge, Mass.:McGraw Hill.

    Zabih, R. 1990. Some Applications of Graph Band-width to Constraint-Satisfaction Problems. In Pro-ceedings of the Seventh National Conference onArtificial Intelligence, 46–51. Menlo Park, Calif.:American Association for Artificial Intelligence.

    Zabih, R., and McAllester, D. 1988. A Rearrange-ment Search Strategy for Determining Proposition-al Satisfiability. In Proceedings of the SeventhNational Conference on Artificial Intelligence,155–160. Menlo Park, Calif.: American Associationfor Artificial Intelligence.

    Vipin Kumar is an associate pro-fessor in the department of com-puter sciences at the Universityof Minnesota. His currentresearch interests include parallelprocessing and AI. He is authorof over 50 journal and confer-ence articles on these topics andis coeditor of Search in Artificial

    Intelligence (Springer-Verlag, 1988) and Parallel Algo-rithms for Machine Intelligence and Vision (Springer-Verlag, 1990).

    Navinchandra, D. 1990. Exploration and Innovationin Design. New York: Springer-Verlag.

    Navinchandra, D., and Marks, D. H. 1987. LayoutPlanning as a Consistent Labelling OptimizationProblem. Presented at the Fourth InternationalSymposium on Robotics and AI in Construction,Haifa, Israel.

    Pereira, L. M., and Porto, A. 1982. Selective Back-tracking. In Logic Programming, eds. K. Clark andSten-Ake Tarnlund, 107–114. Boston: Academic.

    Perlin, M. 1991. Arc Consistency for FactorableRelations. In Proceedings of the Third InternationalConference on Tools for AI, 340–345. Washington,D.C.: IEEE Computer Society.

    Petrie, C. 1987. Revised Dependency-Directed Back-tracking for Default Reasoning. In Proceedings ofthe Sixth National Conference on Artificial Intelli-gence, 167–172. Menlo Park, Calif.: American Asso-ciation for Artificial Intelligence.

    Petrie, C.; Causey, R.; Steiner, D.; and Dhar, V. 1989.A Planning Problem: Revisable Academic CourseScheduling, Technical Report AI-020-89, MCC Corp.,Austin, Texas.

    Prosser, P. 1991. Hybrid Algorithms for the Con-straint-Satisfaction Problem, Research Report, AISL-46-91, Computer Science Dept., Univ. ofStrathclyde.

    Prosser, P. 1989. A Reactive Scheduling Agent. InProceedings of the Eleventh International JointConference on Artificial Intelligence, 1004–1009.Menlo Park, Calif.: International Joint Conferenceson Artificial Intelligence.

    Purdom, P. 1983. Search Rearrangement Backtrack-ing and Polynomial Average Time. Artificial Intelli-gence 21:117–133.

    Purdom, P., and Brown, C. 1982. An EmpiricalComparison of Backtracking Algorithms. IEEETransactions on Pattern Analysis and Machine Intelli-gence on Pattern Analysis and Machine IntelligencePAMI-4: 309–316.

    Purdom, P., and Brown, C. 1981. An Average TimeAnalysis of Backtracking. SIAM Journal of Computing10(3): 583–593.

    Purdom, P.; Brown, C.; and Robertson, E. L. 1981.Backtracking with Multi-Level Dynamic SearchRearrangement. Acta Informatica 15:99–113.

    Ricci, F. 1990. Equilibrium Theory and ConstraintNetworks, Technical Report 9007-08, Istituto per laRicerca Scientificae Tecnologica, Povo, Italy.

    Rit, J. F. 1986. Propagating Temporal Constraintsfor Scheduling. In Proceedings of the Fifth NationalConference on Artificial Intelligence, 383–386.Menlo Park, Calif.: American Association for Artifi-cial Intelligence.

    Rosiers, W., and Bruynooghe, M. 1986. EmpiricalStudy of Some Constraint-Satisfaction Problems. InProceedings of AIMSA 86. New York: Elsevier.

    Rossi, F.; Petrie, C.; and Dhar, V. 1989. On theEquivalence of Constraint-Satisfaction Problems,Technical Report ACT-AI-222-89, MCC Corp.,Austin, Texas.

    Articles

    44 AI MAGAZINE