From: AAAI-86 Proceedings. Copyright ©1986, AAAI (www.aaai.org). All rights reserved. BACK TO BACKTRACKING: CONTR.OLLING THE ATMS Johan Intelligent XEROX Systems Palo 3333 Palo de Kleer Alto Coyote Alto, Laboratory Research Hill Center Road 94304 California and Brian M.I.T. Artificial C. Williams Intelligence 545 Technology Cambridge, Massachusetts, tern) provides (A ssumption-Based that cl11of the possible tions or partial lem solver. solutions solver neously and avoid ing. (usually However, for some reasons why backtracking backtracking necessary, which more capability form of back- some of the and presents we have eficiently combining than imple- other ap- proaches. 1. Introduction an engine deduces tion of rules, ciated texts considered developed tasks. and ing (DDB), more achieves most for problems ecuted to produce problem-solver first. examined problem-solver / ENGINEERING types of the backtrack- a control tends all the solutions by organizing inferences and contexts DDB-controlled 910 dependency-directed where this efficiency general have been For various new data each strategy antecedents Thus, the number are significantly tends to be more By of both. of two compoThe inference by the applica- in ATMS A consumer what produced to as is invoked on its in the current from a consumer using the TMS of the consumer. data Asso- referred are believed resulting the antecedents terminology). is a set of data, as a justification tion is recorded Justification-based focus on a ;iingle many is believed The invoca=and must TMS’s task in each context given thus far in the problem-solving solver the I’he ATMS assvmption. Unlike in them there of rules exA ATMS identifies datum ultimately can force data at a time. The ATMS [4,7]). To achieve TMS data introduces other data, this, the set(s) depends. assumptions of assumptions to has the mutuaug- in a several of a primitive are believed justifications Such permits the ATMS the notion to the contrary. supporting solver This in several structures which be justified, is evidence the problem base simultaneously contexts. conventional through efficient (see to operate ally inconsistent belief TMS’s consistent disadvantages problem wards to be more first. consists all of them inference unless to find the reduced. solver consumer when Every of ways. are needed. It the search by orga- solution and the TMS. from old (usually antecedents. the consumer’s ments either. An ATMS-controlled efficient of con- we show how two such approaches, can be combined than techniques this complexity conventional efficient Many and number specific effort. task is a function executed in the search. to minimize In this paper ATMS of rules of the possible efficiency engine or consumers with context. problem inference the justifications of a problem-solving the number this ATMS A TMS- based nents: include The complexity one of a number It achieves we get the advantages The is to determine of both only to find a single them 2. the of backtrack- outlines is still the search is simulta- this ATMS algorithm backtracks which expense This paper first is necessary. nixing where arc required. to the prob- work on all solutions applications solutions solu- of the ATMS, than a help and some tracking mented of the ATMS inconsistent) available the computational of a hindrance a powerful advantages mutually this capability can eficiently Sys- ior all types of default are directly By exploiting problem is more Truth Maintenance a very general futility One of the principal reasoning. 02139 for problems ABSTRACT The ATMS Laboratory Square only if are believed By tracing back- for a datum upon the which the a set of assumptions is called an environment. in a variety riety Typically of environments. from a which set of data text. The a datum derivable is inconsistent and is called and thus minimal good reduce its con- data base if a datum to explicitly follows su- store and (c) recognizing to set still ex;Lmine operations search reached the representation that may may its label. The in all the environment’s of a label, operations algorithms of environments The ATMS it is only necessary environments all ATMS the fact it follows a va- false (-1) can be derived a nogooil. (b) exploiting from is called by (a) optimizing from an environment persets set is called from an environment its efficiency of nogoods, complete from which can be derived can follow can be derived Any environment achieves a datum of ways and so a datum the that for which are available. Consider placed which Three first for Backtracking of difficulties require related that only they often are inherently First, fraction than the Within may column 2) never space overall (i.e., an example a string bit position ith bit’s solver from are created. p, the parity bi is 0). that as (-+ indicates a justification): [6] and [lo]) with of ones). Let where odd parity For each b, indicate for all the bits Parity is defined the Third, Most involves In our experience, debugging be inconsistent. Thus, are found than expected. exist problem that is failing time. discovers (and even) If the parity. bit string, done all 2i bit goal then the simple ILi more work than was to ATMS- hc failed neces- sary. the user even if the all solutions, goal the of the problem ATMS-based solving problem is solver has diately cannot ATMS, framed based solver notices solutions within a rea- are explored is no solution about what into his knowledge base and related such amount problem that one is of the If so the of data. terminate. difficulties pose on conventional inadequate, seems far of a prob- at a time. to take In addition, excess 111~ coiilputntion can be interrupted cxaillincd. is dificult where When the implementor knowledge. AUTOMATED less backtracking resources, This of can solutions rent state error far more information a problem the missing solution can so mhny prematurely, finds one solution appears common all solutions little an infinite will never solver base and inference terminate A common debugging solution debugging to incorporate cont,ains solver a particular Second, in a problem all the ways a context is halted engine. problem Commonly, the user with lem for a solver first during the If the solver the problem to specify solving With leaving These to identify Qz 3 and Qz in of constructing the knowledge represents recursively users knowledge all solutions, has As Qs. for DDB. by far the most ATMS at once. finds solver one would 1 and in column an ATMS-based solver solutions problem in row situation of the effort rules. problem based solver arises. debugging be difficult. that End only one odd-parity (Qs 1 : Unreachable or inference odd problem a queen with lay on the same Q2, and only then situat,ion up to and * pi = 1 pi-1 = O,l&l having they problem found, strings it would 3 was consistent the goal, p-1 = 0 which of queens ex- sonable ATMS, example, be hopelessly b; can be zero or one (I’b,I~i the assumption The For 2 and find that Qr , then try the placc- triples identifies of the can number an odd number bi. Each including (adapted an n-bit of bits with and would then depth-first, satisfies solver two variables value, The queens are de- exercising goal which problem is to construct positions. (c) they Fig. Consider above is be inefficient. the task solver and solution. of placing Qi checks rules. a backtracking is no way ‘2, the queen which of the three Qs in column to place coluinn task and searches Without problem If the ATMS-based the search these pairs Q2 in column kinds (For simplic- and that in attacking problem placing solver are never to debug. ATMS-based at once. three all solutions backtracking is to find only one solution then (a) necessary, one at a time. the from of the where more difficult solutions all solutions solver search more control, suffer to backtracking: a small conventional producing ternal solvers (b) even for problems explored, sired, problem with of a consistent attempt there ATMS-based are placed ATMS-based whether placing Reasons Th-queens problem. are 3 quccus of all singletons, in search problem which backtracking. to find all placements are consistent The The space A set of rules is constructed is then diagonal. 3. there no two queens problem check necessary. the familiar that on row i.) ment than 0 f the search by dependency-directed ity assume that more regions the immewhen computational and the cur- in an ATMS-based REASONING / 9 11 problem resent solver pieces because of many the intermediate solutions, states any of which always rep- could be caus- ing a problem. to problenrs one must from each each set, take a finite two sections problem then propose both (without we discuss solving, In Section 1) given any superset of it. Thus the ATMS select exactly approach by for this the set and a subset class of and the features of 7. a line, AT&f Problem S-guided environment dividing ronments For most Therefore, sumers tasks, a central that the majority are involved must with of the executing goal is to minimize be executed problem solv- the c0nsumers.r of con- a particular prob- space with not will be run (possibly with environments set as two parts; and those each consumer Returning three indicates all), has The envi- below are with the smallassociated the line will be executed, ciated <an (i.e., can be pictured it runs in, then 1) all consumers ments 2) some inconsistent environ- and 3) any consumer asso- below the line are guaranteed to the example, inconsistencies of a min- explore minimal into with minimally and some is also inconsistent). search above then explore it will is not the line are consistent associated all the rules may environments If we associate est environment (H the number to solve which the the above inconsistent. to be run. ing resources row environment environments which inconsistent with environments Solving the third environment, that however, environment consumers 4. of inconsistent of assumptions; of minimally approaches, in Section imal inconsistent does ATMS-guided combining the limitations) the consequences are made. respectively, 6 we compare a hybrid exploring and 4) the solution choices an inconsistent stops is confirmed of time, finds solver for inconsistencies in which and then the problem 3) testing amount DDEguided problems. must CY}, {A,P},...), applied 2) a solution on the order In the next constjraints: solution for inconsist,encies, not depend is typically the following of choices, choice checking backtracking satisfying set row ({A, ({A a, 1),-J. If the ATMS Dependency-directed a finite the second assume that are ultimately not among detected a consumer): lem. The ATMS is typically solutions are required. to ensure that There making it applied sumer execution was superfluous. consumers Within picks executed of the {A, B}, of possibly scheduler first the first row (iA}, where consistent executes {h in must / ENGINEERING 7 directed repeat- with pending Fig. The 2 : ATMS-controlled search. each 5. 2 illustrates consumers ad all For through one from Fig non- until search pick {I), 2) the conof {2)), then 1 An ATMS-based problem solver only examines contexts which result in the execution of consun~ers. Thus the number of consumers exfalted must be at least as large as the number of contexts exnminch As a result we o111y~~ccdto evaluate the systan’s pcrformnnce with respect to rule invocations, not coutcxts cxnmined. 912 2: first. scheduler environments. {P}, in Fig. . but are executed. {1,2}. any is shown each set of con- environment it must and lattice in smaller consumers environments {a,p}, {B}, a con- datum and runs one of its consumers of possibilities sets: the same consumers solver resulting (unless Second, environment, the consumer the problem The to be contra- are executed consistent of all consistent the lattice sumer this framework suppose could useless first and within inconsistencies consumers example, that a, 1 ++ 1. the first consumer’s environment, the smallest consumers a space are executed detecting deduce therefore, such for a particular towards in some is be executed To avoid such inefficiencies are scheduled environments can as well). may later environment; approach a consumer discovered datum B t-+ I, multiple unnecessarily. execution environment consumer a more general where is later some the best a consumer consumer’s to another some other edly which can deduce sumers First, the where is ever executed of situations invoked. in an environment dictory, for tasks For such tasks, no consumer are two types be uselessly used DDB-guided As illustrated small number in Section of the ATMS-controlled set some form ploited. Even in those search the space ATMS which Solving 3, for tasks solutions can extremely be of backtracking cases may requiring of possible approach Instead, explored, Problem where have DDI3 would controI the avoid. a inefficient. could all solutions to explore only simple be ex- are being portions of the . There is a wide variety For the sake of discussion general we shall dependency-directed conventional crucial characteristic of this depends ticular context tered. Consumers is that for any backtracker not to contain after which our Each a par- advantngcs encoun- a context any known environment has inconsistency. A Comparison 6. The can test previously only in a [9]). upon the backtracker executed as run in every above this line2. the embodied (such inconsistencies are determined use one of the best: TMS have been techniques. backtracking justification-based argument been of backtracking of the The which the primary explored is not minimally inferences first. search ATMS which Thus number of pending consumers the ATMS advantage for those the most this that at least problems where is general feature contain with and a very approaches it environment one a sparse large will have a significant over those own below. is that has the additional consumer. its To accomplish to find environments pending vironments ATMS inconsistent inconsistent. the The examines any has are described of the to explore organizes above These advantage not ATMS it only approaches and disadvantages. guaranteed Approaches of the set of en- performance every environment is examined. The Fig. 3 : DDB-controlled Backtracking pick exactly example, exploits one element any solution search. the fact from must that each any solution must from simultaneously. where tions is desired the ATMS cult These, the ment consumers is reached curs from the consumers in any subset tradiction is placed that that Section example, while environment {B, that as a justification be executed ronments oc- a con- The a previously TMS in a ter- the terminal (Y, 1). every (Note that inference en- here in as in performed and thus no consumer given tion the same the search we associate ments although computed. sumers only ronment. as shown tonsumers without plicitly to running consumers space The in terminal all consumers Fig. 3 illustrates as Section in Fig. with the their ATMS 3. in all subsets DDB these environ- cannot search which be runs the which excon- The consumers it can are not minimal. environment, If these using will an example lessly which servations: First, set of choices, not every a solution. are made two sets is irrelevant. the For there 0) is was use5 but not over the ATMS there must select any incomplete Second, of choices, of section order any problem using DDB. on two key obone assumption set of choices in which are several approach. are environments and depends each solution of then {B, which <are not explored is subtle, from resources 4. for all solutions for this to be a number example, in the example by the ATMS, reason placed an envi- is shown environment has <another advantage when looking because, and the performance For in section is envi- Thus contain needlessly of an inconsistent by DDB happens its subset so- of DDB is no ordering computational are additional explored. before are invoked (by the im- inconsistent This there environments by the ATMS DDB exploring explore being enormous of depen- on one solution disadvantage be clea~rly inferior. explored explored effort ATMS, be explored may focuses one or a few solutions primary ronment inconsistent. Even it diffi- with orders is th ese choices more than in which the is equivalent of the terminal the DDB-guided ex- For presenta- minimal DDB-controlled environments 4., used. a terminal explored twice.) Given does not waste environments is need ever drawbacks. easy to follow cases where on the subset The plores unlike of DDB determines will ever be executed DDB the consumers discovered consumer analyzing this as those 3, for of solu- makes the advantages DDB its inferences In those never that, No ordering invocation. lutions exactly until remains. if some no consumer 5 we presume recorded are invoked contains {cy, 1) is inconsistent the terminal as well will ever be executed which {A, M, l}, When environment, of consumer Tnviron- contain set of choices). no consumer For vironment which environment, order environment inconsistency. a terminal or no inconsistency on the ensures minal every of that of that occurs when environments (i.e., one assumption only significant behavior are exactly backtracking. making executing and however, at a time, desired, given out in Section can have unfocused it eson all only a few of a large number the ATMS’ dency-directed from order is that working to debug. sumption in the As pointed problems plementor). set of choices manner, those Backtracking enumereach of {A B), (0, P>, and { 1,2}. ates the space through depth-first search, selecting one aseach of the ATMS solutions In our one assumption disadvantage in a breadth-first works In addition, set of choices. contain primary sentially search. enviRules ’ As with the ATMS-guided search, depending on the order in which the rules are executed, few or many of the rules of an inconsistent environn:erit’lllny be run. AUTOMATED REASONING / 9 13 choices could sponds be made. to a path lattice Each moving sequence from the root to one of the solutions. that ordering is irrelevant to a particular choices The plores all paths to the clearly wasteful. Thus stumbles using across (based same environments which of section which that This is the ATMS by DDB in the example in section Given features Assumption-based the analysis of each 5. A control disadvantages. tween the nores Figs. ideally environments we would like to construct Fig. two approaches 4. More explores precisely environment explored To accomplish this and embeds explore the smallest first strategy task within it. environment, of the only examining a coarse Thus focus, When DDB decides while the ATMS ATMS control 5. E’ 1 {a} first guaranteed that to the munbcr 914 by DDB its worst of consumer / ENGINEERING case and the performance invocations with of the we are respect will be at least environment The backtracker bncktrack(E, S): disjunction of S, S the in D, return. assumptions control <as of D, D the assumption u E. Schedule(E) an search. ATMS, current backtrack(E’,S). return. 8. Go to 3. executes first. consumers the in the following correct order: operation all problem-solving sumers, assumptions, The create reason new examined {rl}, the contexts by the data, is that which the have backtracking {l}, solver to scheme. are performed not envi- executes {A, a), {a}, backtracking user may justifications, for this a? 1)) on the problem of this operations In particular, in the smallest scheduZe({A, For example, search. could explored finds and return. control 7. If E is now inconsistent, which plicitly environments is consistent.” environment S. schedule(E), 6. If E’ is consistent, First, controlled A con- remainder. the search the intersection clisjunction. order) disjunctions a be the first consumers. DDB of a set the scheduler by the procedure D be the Let ronments explores also consisting environment with the empty 3. If no remaining ensure this approach are handled scheduler of one of its antecedent {A, I>, {a, 11, {A Q, 1). We must place two conditions 4 : Assumption-based in- which contradiction. 1. If S is empty, Let pairwise these The backtracking of control can be implemented 2. each set of assumpare disjunction; current we start E and a stack sched- level of discrimination. Because main- to as a control assumptions is encountered, any known Initially supports the union (in chronological free from which environment one from and the the consumers Fig. follows, DDB of an ordered mechanism. current a contradiction 4. to provides of any control a single the next environment, provides is Cz, . ..} also is not run unless When called algorithm environments solver remainder. DDB terminal sepa- nulnber of the algorithm assumptions, system traditional environments a consis- environment. the DDB sumer of a terminal we use the ATMS subsets in which an algorithm ATMS ex- if the problem each referred consists control of assumptions, explored is depicted inconsistent takes the Thus which and 2) it is either we construct ig- other. like an approach which consumers). with additional by DDB, (again pending This be- approach environments DDB a terminal to explore each if 1) it is a subset or a minimally assumption-based have we would an environment tent environment the differences an approach alone. the any of their by the of the taken set of choices, The maintains that explored only the intersection by the uler Note two approaches. certain plores 2 and 3 highlight Even for assumption-based disjunction called by the inheriting taken of the disjunction: consistent. our goal is to combine without approaches independent description scheduler an ordered tions, DDB above, approach explored. detailed are not part 7. two in one solution!3 consumer tains the is true control(C1, {p, 2) is an envi- by the ATMS not explored ex- being A more The than statement need not be explored backtracking. was explored 4 but in parallel. it is not surprising dependency-directed ronment solution hand, better This only interested in which on the other if not of solutions only one path ordering good rately. the observation explores on the ATMS, corre- of the environment makes and thus solution, are supplied). DDB of choices by the add new con- etc. during the new information already been mechanism. im- Thus, 3 In addition, the same claim holds for the number of environments explored, since cnvironmcnts arc only explored if they have consumers associated with them. 4 The set of assumptions in an environment can be broken into two sets: control assumptions and non-control assumptions. The environment will be consistent with the current environment only if 1) the set of control assumptions I‘s a subset of the current anvironmrnt, and 2) the addition of the non-control assumptions does not cause the current cnvironmcnt to become inconsistent with the current environment. if new knowledge solving space is added activity, from relatively the the beginning. inexpensive uler guarantees of a consumer stipulation during must In the ATMS (but not fret) itself already If a consumer depend imposed framework as adding control{A, control(C, sched- every external Prior Minimizing itself). to running the backtracker consistencies. executed limit first is of primary Yw2=1. knowledge. tested bilities importance, do not reduce they do reduce must examine. Unlike ATMS number (which only using ample, the number the identify of two capaexecuted, directed backtracking ronments {A, D,X}, In each case is a superset ning any consumers. ing to each able the identifies A conventional nogood it comes the current environment a conventional would identified we already have A,z the which first which explicitly TMS, TMS excluded ATMS. by the For ex- may be explicitly {A, a} ventional TMS tests siders it. ately, so {A, p, 1}, the the assumption-based The ATMS set, of choices Consider also will backtracker takes in each the example say {(u, 1) while As pro- never never nogood be a concon- immedi- considered by either. advantage control of the fact disjunction ( H indicates is also a nogood. contains further. the (of which following control dis- @ cq for all i infers: Y} A, X) Y} the ATMS-controlled nogoods that the is exhaustive. a consumer): at the choices Generalized beginning become of interest to reason scheme of problem During solver all the itself from neces- in its northe nogoods independent. problem some solving solving in addition choice these about sets make DDB outlined the set of control is completely Together that Assumption-based backtracking presumes Furthermore, the to note by consumers. practice. others. is unchanged: by the ATMS and are indistinguishable The ATMS ous section considers It is important algorithm are detected explicitly 9. backtracker next. C, X} {B, backtracking sary an ATMS a result the ATMS is marked {A, ,B, 2) {A} {A;}] the ATMS environment as well. {p} the exhaustivity nogood Therefore, {A, a, 2) while In addition, - nogood{A, {A, cy, 1) a consumer noted, is the backtracker plus and Ajf-i control{X, only one of the two contradic- immediately run- switch- AZ, . ..} at where A, E q case, detected detects ,.... before is wasted is considered rule for disjunctions mal operation TMS the ATMS nogood{ duces: In a conventional this =+ I, environment that envi- the cnviron- nogoods of {A} the {A, E,Y} that time ATMS disjunction the justifications: P =$ L and in the current the environment nogoodUi[a; In this try exploring {A, E,X}, will realize Using dependent; are an instance). nogood may have have been then {A, C, the context Traditional the two nogoods, control control(A1, as 1,z =+ I, tions would Nevertheless, from hyperresolution across as well. of one of t,he explicit no superset junctions and the correspond- it explores {A, D,Y}, context. to infer Thus Next the backtracker ment {A, C, X}. the environment is inconsistent {A, Y} is nogood of the third backtracker allnogoods set of justifications. identify As a result, suppose to justification-based environments nogoods is Intrinsic of consumers to explicitly necessarily to consider procedure these of contexts a conventional inconsistent). Although to explores is recorded. Y} noticing To accomplish follow from the current will which reduce the number the is guaranteed TMS it is also important inconsistencies. for consistency. in- first {A, X} that ing nogood of consumers the backtracking for possible are two capabilities contexts discovered the number backtracker It is found : in an environment, it for previously limiting of contexts to examine the ATMS consumers checks Although the number forced any Y}, X+-vc=l, actions, Checks Consistency {X, A-x=2, (a The 8. D, E, . ..}. control action scheduler arbitrary B}, is on all its antecedents to perform this would be the same the this and remembers Second, by the ATMS were permitted searching as the consumer ever encountered. must the problem- start no work is ever done twice all contradictions then externally backtracker in the previ- disjunctions and that Neither set of is the case a new set of choices to the ones already are logically it diihcult it#s own control. AUTOMATED is lixed each known. dependent for the We follow REASONING in may on problem the ideas 1 915 of PI and well. allow control For example, decisions to have to state that if 5 holds, disjunction disjunction. tion, a control they appear part of the current which solely cution condition control which will be executed. disjunction is the same antecedents. exe- for the following also depends cl first, be to be used within For example, u2,... hold, explore The as that any inferences assumptions never no consumer 7. is designed that (unless will on them ensures one of its control disjunction’s disjunctions), of Section When assumptions and hence DDB The completely. its for consumers a schema al, control con- control has no valid justifica- environment depends assumption-based of a normal is ignored is passive, in other B} is an active full force and disjunction B) disjunction it is pnssive does not then al A a2 A . . . --) Cl v is inconsistent. change, than from on the control the proposition (if tions can be sorted, each in turn. space is explored by the control The passive case unwind and C2, . ..}. control in which assumption lieved ensures being in some This that text. ing After with ing is extremely to dynamically requiring tation. The the current powerful heavily on the nogood tracker maintains becomes the it that by the chosen the search problem consistent complex whose only reexamine the current assumption Such a scheme twice. records thus it is almost first those (i.e., the en- environment) of the newly would Fortunately, all pending active their context). was blocked with some.environments still (selecting a control disjunction. explicitly would con- the remain- for the current strategy assump- the current disjunctions stack exploration containing control from is removed control was inconsistent stack up to As each disjunction. disjunction strate- is to temporarily the active assumption A more becoming on the active control on the control environments control technique is removed removed control disjunction far more complex avoid exthe ATMS consumers free to reexamine with en- an environ- of its algorithm is, outline it here. search space or represenThe version of the ATMS. significant becomes active, rather general- by depending The of the currently back- active events: an active cand the current control disjunction select the and make the resulting If no such first cona pas- control environment added / ENGINEERING assump- to the environment assumption rule will have determined active becomes control that current stack context is unchanged, becomes inconsistent, the backtracking as in the simple assumption-based DDB one of these three conditions operations must be interleaved taneously, needless these but proceeds when more than scheme. However, occurs simul- to avoid thrashing. current the new exists, the the current Related 10. solver however, are three stack, the active it must problem of terminology can be consistently environment. hyperresolution si- disjunc- intended control is removed, back backtrack- the shape the simpler passive, a passive environment, 916 may be be- inconsistent. When current allows data-base There add it to the active from and a single stack disjunction disjunction becomes active that Although disjunction temporarily environment. any change follows control to be active of dependency-directed backtracking trol disjunctions. disjunction in order and we briefly ized backtracker tion but manipulate without sive control active the affected are pushed the some c; will hold only in a con- A control active. context, formulation complicated c;. ~22, . . . hold as well as the specified al, be consistent become the control and an assumption order affected disjunction When text stack order. ment. a1,a2, "', ci 3 encoding active guarantees disjunctions the tion for that vironments, This first, the simplest the control scheduler and justifications, of an including passive control(C1, can if desired sorting in the gies are possible, amining a1,a2, -** * oldest The is more complex. vironment disjunction, disjunction cases as the in chronological solver. by nogoods is encoded As long continues control In such from ~a,...), c2 v ..* search one multaneously. control{A, then environment More and has the If a control then as we write: x =+- control(A, trol justifications Our approach [4,5,6] ATMS but Work to backtracking exploits [8] and previous reasoning Our approach telligent disjunctions are fixed to [11’s value generators). tered, the stack When is unwound the reasons This The which corresponds basic is that goods trackers to difference the is used the throw a generator while backtrackthe control correspond is encoun- ATMS’ use the PROLOG away contradiction to form backtracking. of hyperresolution. backtracker the contribut- is exhausted, are combined to guide (as far as backtracking assumption-based permanently The where disjunctions value of [9,12]. to the use of in- [ 1,2,3]. to the first generator for each eliminated a contradiction related a contradiction When ing to the contradiction. control to backtracking to the case (our control on the of explicit approaches in PROLOG of [l] is similar is dependent ideas is also strongly backtracking ing scheme the records is concerned) records all no- intelligent when back- the stack is unwound. As a consequence be continually Becording worth some [l] rediscovered. <and checking contradictions argues for possible the computational that must the cost contradictions overhead 8. de Kleer, of G.J., is not J., telligence: incurred. ston Doyle, Explicit and An MIT R.H. Problem ficult solvers to control. to the ATMS, built Some control culties. paper This scheme which worst superior problems of the case performance to the two approaches single solution to all solutions. Non-control assumptions ATMS from problems assumptions, like DDB the system to model choices. The result of both is an overall of algorithm This are treated TMS. control “not quite McAllester, tem, 11. 1977, maintenance and computer-aided 9 (1977) Steele, computer Proceedings of and Program- Readings R.J. Win- in Knowl- Brachman and 1985). Artificial system, In- used truth maintenance sys- 1985. Sussman, and dependency-directed 12. in: by In- by P.H. in: Kaufman, D., A widely R. edited Also Also Sussman, (1979). unpublished, Stallman, and in Artificial Intelligence edited (Morgan A truth 24 G.L. G.J., Forward backtracking circuit analysis, reasoning in a system Artificial for Intelligence 135-196. G.L., The definition programming AI Technical Report and implementation language 595, MIT, based of a on constraints, Cambridge, MA, 1979. In addition, disjunctions problem a as conventional assumptions 10. is from Levesque, J., 1979. on Artificial Languages, telligence perfor- anywhere are treated between an ATMS properties individually. conditional diffr- on rule invocations in a justification-based the interactions vantages unique demanding while control supports of the backtracking in a hybrid based holds many H.J. P erspective, Representation, 9. Doyle, of a simple a simple resulting mance much resolves some and DDB, ill-suited the addition presented edge are often very dif- are inherently others structure has exploits the ATMS whose on the ATMS but for many backtracking both ming Conclusions Steele, of reasoning, Brown, the Symposium 11. J., control used independent” solver with the ad- and dependency-directed back- tracking. ACKNOWLEDGMENTS Ken Forbus, Morris, Bob cussion, insights, David Nado McAllester, and Leah Phil Williams and comments McBride, provided Paul lively dis- on the topic. BIBLIOGRAPHY 1. Bruynooghe, Solving M., lems by intelligent ing Letters M. and by intelligent (Ed.), search Information prob- Process- 12 (1981) 36-39. 2. Bruynooghe, sion combinatorial backtracking, Current Pereira, L.M., backtracking, Issues Deduction in: in Prolog J.A. revi- Campbell Implementation, (Wi- ley, New York, 1984) 194-215. 3. Clocksin, W.F. and C.S. log, (Springer-Verlag, 4. de Kleer, 5. de Kleer, gence 28 6. dc Kleer, J., Extending (1986) J., J., Austin, the ATMS, solving 28 (1986) Choices ings of the National gence, truth maintenance 28 (1986) 127-162. Artificial Intelli- 163-196. Problem cial Intelligence 7. de Kleer, Intelligence in Pro- 1981). J., .4n assumption-based Artificial system, Programming Mellish, New York, TX with without ATMS, backtracking, Conference (August the Art+ 197-224. 1984), on Artificial ProceedIntelli- 79-85. AUTOMATED REASONING / 9 17