<<

From: AAAI-90 Proceedings. Copyright ©1990, AAAI (www.aaai.org). All rights reserved.

Learning Abstraction for

Craig A. Knoblock* School of Computer Carnegie Mellon University Pittsburgh, PA 15213 [email protected]

Abstract consists of a set of operators with preconditions and ef- fects, and a problem to be solved, ALPINE reformulates The use of abstraction in problem solving is an this into successively more abstract ones. Each effective approach to reducing search, but finding abstraction space is an approximation of the original good abstractions is a difficult problem, even for problem space (base space), formed by dropping lit- people. This paper identifies a criterion for se- erals in the domain. The system determines what to lecting useful abstractions, describes a tractable abstract based on the ordered monotonicity . algorithm for generating them, and empirically This property separates out those features of the prob- demonstrates that the abstractions reduce search. lem that can be solved and then held invariant while The abstraction learner, called ALPINE, is inte- the remaining parts of the problem are solved. Since grated with the PRODIGY problem solver [Minton this property depends on the problem to be solved, et ab., 1989b, Carbonell et al., 19901 and has been ALPINE produces abstraction hierarchies that are tai- tested on large problem sets in multiple domains. lored to the problems. The paper is organized as follows. The next sec- Introduction tion defines the ordered monotonicity property. The third section describes the algorithm for generating ab- Hierarchical problem solving uses abstraction to re- straction hierarchies in ALPINE. The fourth section de- duce the complexity of search by dividing up a prob- scribes the use of the abstractions for hierarchical prob- lem into smaller subproblems [Korf, 1987, Knoblock, lem solving, which is implemented in PRODIGY. The 1989131. Given a problem space and a of fifth section presents extensive empirical results that abstractions, called abstraction , a hierarchi- demonstrate the effectiveness of the abstractions in re- cal problem solver first solves a problem in an ab- ducing search. The sixth section outlines the related stract space, and then uses the abstract solution to work on automatically generating abstractions. The guide the search for a solution in successively more last section summarizes the contributions and sketches detailed spaces. The technique was first used in GPS some directions for future work. [Newell and Simon, 19721 and has since been used in a number of problem solvers. ABSTRIPS [Sacerdoti, Ordered Abstraction Hierarchies 19741 was the first system that attempted to auto- mate the formation of abstraction spaces, but only par- This section defines the ordered monotonicity property tially automated the process. Most hierarchical prob- and describes how this property can be used as the lem solvers are simply provided with abstractions that basis for generating useful abstraction hierarchies. The are hand-tailored to a specific domain [Sacerdoti, 1977, ordered monotonicity property captures the that Tate, 1977, Wilkins, 19841. as an abstract solution is refined, the structure of the This paper describes an abstraction learner, called abstract solution should be maintained. The process of refining an abstract plan requires inserting additional ALPINE, that completely automates the formation of abstraction hierarchies. Given a problem space, which steps to achieve the literals (possibly negated atomic formula) ignored at the abstract level. The property *The author is supported by an Air Force Laboratory constrains this refinement process. Graduate Fellowship through the Resources Labo- The ordered monotonicity property of an abstrac- ratory at Brooks Air Force Base. This research was spon- tion hierarchy is defined as follows. (A more formal sored in part by the Office of Naval Research under contract definition of this property can be found in [Knoblock, number N00014-84-K-0415, and in part by the Defense Ad- 19901.) vanced Research Projects Agency (DOD), ARPA Order No. 4976, Amendment 20, under contract number F33615-87- Ordered Monotonic Refinement: A refinement of c-1499. an abstract plan that leaves the truth value of every

KNOBLOCK 923 literal in an abstract space unchanged.’ Using the ordered monotonicity property, ALPINE produces problem-specific abstraction hierarchies. The Ordered Monotonic Hierarchy An abstraction hi- standard approach to using abstraction spaces is to erarchy with the property that for every solvable provide a system with a single, fixed abstraction hi- problem there exists an abstract solution that has a erarchy, which is then used for all problem solving in sequence of ordered monotonic refinements into the a given domain. The disadvantage of this approach base space. is that it limits the possible abstractions in a domain (Throughout the remainder of the paper ordered is used since the hard parts-of one problem may be details in to mean ordered monotonic.) An ordered hierarchy can another problem and vice versa. Instead of attempt- be constructed by dividing the literals that comprise a ing to find a fixed abstraction hierarchy to use for all domain into levels (abstraction spaces) such that the problems, ALPINE dynamically generates an abstrac- literals in a given level do not interact with any lit- tion hierarchy that is tailored to the particular problem erals in a more abstract level. If a solution exists it to be solved. The next section describes how ALPINE will be found by searching for abstract solutions and generates these abstraction hierarchies. ordered refinements of those solutions. If there is no abstract solution, the problem is unsolvable. Unfortu- Abstraction Hierarchies nately, there is no guarantee that an ordered abstrac- ALPINE is a fully implemented abstraction learner, tion hierarchy will reduce the overall search, since it which produces abstraction hierarchies for use in the may be necessary to backtrack to find alternative ab- problem solver. The system is given a do- stract solutions. In practice, this property provides PRODIGY main specification, which consists of the operators and a surprisingly good criterion for producing useful ab- straction hierarchies. axioms that define a problem space. For each problem to be solved, ALPINE selects an abstraction hierarchy Consider an example that distinguishes an ordered and uses that hierarchy for problem solving. abstraction hierarchy from an unconstrained one. A forms abstraction hierarchies by grouping simple machine-shop scheduling domain consists of op- ALPINE the literals in a domain into classes and ordering the erations for changing the shape, making holes, and classes. Initially, literals of the same type are placed parts. The operations interact in various in the same class (e.g., (SHAPE A CYLINDRICAL) and ways. For example, changing the shape of a part also (SHAPE B RECTANGULAR) are both instances of the lit- removes any holes or paint. A problem solver is given eral type (SHAPE ob j shape)). The initial classes are the problem of producing a black, cylindrical part with further combined and then ordered based on an anal- a hole drilled through it. Imagine that the problem ysis of the domain. The abstraction spaces are then solver uses an abstraction that ignores shape and pro- formed by successively removing the literal classes from duces an abstract plan that drills the hole and paints the original problem space. An abstract space does not the part black. The plan is then refined in the next ab- simply involve dropping preconditions or goals; instead straction level to make the part cylindrical, but when an abstract space is an abstract model of the original this step is inserted in the abstract plan it changes problem space, where both the operators and states the truth values of the literals involving both holes are simplified. and paint that were achieved in the abstract space. Table 1 defines the algorithm for creating a problem- The resulting refined plan might be: drill hole, paint specific abstraction hierarchy. The first step in the al- black, make cylindrical, drill hole, paint black. This gorithm produces a set of constraints on the order of is a valid refinement in the sense that it achieves the the literals in an abstraction hierarchy. The constraints goal, but not an ordered refinement because it altered are placed in a directed graph, where the literals form the paint and hole properties, which had already been the nodes and the constraints form the edges. A con- achieved in a more abstract space. The ordered mono- straint in the graph indicates that some literal must be tonicity property requires that the operation of making higher (in a more abstract space) or at the same level the shape of a part cylindrical is placed at the same or in the abstraction hierarchy as some other literal. The more abstract level as the other two operators because constraints are sufficient to guarantee that a hierar- changing the shape undoes the effects of the other op- chy built from these constraints will have the ordered erators. If shape were dealt with first, the problem monotonicity property. The algorithm for determining solver would produce an abstract plan that made the part cylindrical and then insert the steps to make the these constraints is described below. The second step in the procedure finds the strongly connected compo- hole and paint the . nents and combines the literal classes within each con- nected component. Each strongly connected compo- ‘An ordered monotonic refinement is more restrictive than a monotonic refinement [Knoblock, 1989b] because it nent contains the literals that comprise an abstraction requires that every literal in the abstract space is left un- space, and the constraints between components deter- changed instead of just the specific literals that comprise mines a partial order of abstraction spaces. The third the abstract plan. The between an ordered mon- step in the procedure performs a topological sort of the otonic hierarchy and a monotonic one is analogous. strongly connected components to find a total ordering

924 MACHINE LEARNING of the literal classes, which forms an abstraction hierar- ator as a potential subgoal. However, this would over- chy. Efficient algorithms for determining the strongly constrain the final abstraction hierarchy since there are connected components and performing a topological preconditions of an operator will never be subgoaled sort can be found in [Aho et al., 19’741. on and there are other preconditions that would not be subgoaled on in the context of achieving particular goals. Instead, determines the subgoals based Input: Domain operators and a problem to be solved. ALPINE Output: An ordered hierarchyfor the givenproblem. on the goal context and some simple domain axioms. This analysis is performed in a preprocessing step that procedure CreateHierarchy(goal,operators): only needs to be done once for a domain. When an 1. Find-Constraints(goal,operators); hierarchy is created the algorithm simply looks up the 2. CombineStronglyXonnectedComponents(GRAPH); potential subgoals in a table. This step is completely described in [Knoblock, 19901. 3. Topological-sort(GR~PH1 When there are no abstractions for a problem the directed graph will collapse into a single node. An im- Table 1: Creating an Abstraction Hierarchy portant advantage of the problem-specific abstractions is that the algorithm will produce fewer constraints, Table 2 defines a recursive procedure for finding a which reduces the likelihood that the hierarchy will sufficient set of constraints to guarantee the ordered collapse. monotonicity property. Lines l-4 loop through each Consider a problem in the scheduling domain that of the literals in the goal and find the operators that requires making a part cylindrical, painting it black, can be used to achieve these literals. An operator can and joining it to another part. Each of these top-level only be used to achieve a literal if the literal is in the goals would generate constraints on the final abstrac- primary effects of the operator, which is part of the op- tion hierarchy. For example, a part can be made cylin- erator definition. Lines 5-6 add constraints that force drical using the lathe operator, which has the side ef- the other effects of those operators to be at the same or fect of removing any paint. Thus a constraint would lower level in the abstraction hierarchy as the goal lit- be generated that forces shape to be higher or at the erals. Lines 7-10 determine the preconditions of the op- same level in the hierarchy as painted. A part can erator that could be subgoaled on and add constraints be joined to another part by bolting the two parts to- that force these potential subgoals to be at the same or gether, and the bolt operator has a precondition that lower level in the hierarchy as the goal literals. Lastly, the two parts have holes. Thus another constraint is line 11 calls the procedure recursively on the potential generated that forces joined to be higher or at the subgoals. same level as has-hole. This process continues un- til all the required constraints have been generated. Input: Domain operators and a problem to be solved. The final directed graph for this problem is shown in Output: A sufficient set of constraints to guarantee an Figure 1. The dotted boxes indicate the connected ordered abstractionhierarchy for the given problem. components and the arrows indicate the constraints. procedure FindXonstraints(goaLlits ,operators) : ...... ~ l.for each lit in goallits do i (SHAPE obj shape): L ...... 2. if Constraints-NotDetermined(lit,GRAPH) then ,...... ~...... 4 3. for each op in operators do : (HAS-HOLE obj width orientation) : : : 4. iflit in Primary-Effects(op) do { : : : : 5. for each other-lit in Effects(op) do f4...... (PAINTED obj covlor)- (JOINED...... obj...... obj...... orientation)...... i

6. AddDirectedJZdge(lit,other-lit,GRAPH); :...... : (SCHEDULED obj machine time) 3 7. preconds t Preconditions(op); i ...... 8. subgoals t CanBe-SugoalehOn(preconds); 9. for each prec-lit in subgoals do Figure 1: Directed Graph for a Scheduling Problem 10. AddDirectedXdge(lit,prec-lit,GRAPH); 11. FindXonstraints(subgoals,operators) ) Each abstraction hierarchy generated by the algo- rithm above has the ordered monotonicity property. Table 2: Finding the Constraints on a Hierarchy The constraints guarantee that once the literals in a given space are achieved they cannot be undone in the The procedure for determining the potential sub- process of refining the plan. This holds because the goals, Can_BsSubgoaled-On, returns only those pre- constraints force any literal that could be changed, ei- conditions that could be subgoaled on while solving the ther directly or indirectly in the process of achieving given problem. The naive approach is simply to mark some goal, to be placed at the same or lower level in every precondition that can be achieved by some oper- the abstraction hierarchy as the goal literal. The proof

KNOBLOCK 925 that the basic algorithm produces ordered abstraction ALPINE produces useful abstraction hierarchies in hierarchies is given in [Knoblock, 1989131. both problem domains. In the scheduling domain, the The complexity of determining the constraints, and abstraction hierarchies provide an order on the op- thus the complexity of creating the problem-specific erations that need to be performed and separate the abstraction hierarchies, is O(o * n2), where o is the planning of the operations from the scheduling. In the maximum number of operators relevant to achieving robot planning domain the movement of boxes, keys, any given literal and n is the number of different types and the robot are separated from the details. of literal in the domain. The complexity of the other To evaluate the abstraction hierarchies produced by steps in creating the abstraction hierarchies, combining ALPINE, this section compares problem solving with the strongly connected components and performing the ALPINE'S abstractions to problem solving in PRODIGY. topological sort, are quadratic in the number of literal In the scheduling domain, the use of ALPINE'S abstrac- types. Thus, for reasonable values of n, it is tractable tions is also compared to the use of search control rules to produce problem-specific abstraction hierarchies. generated using explanation-based learning [Minton, 19881. The systems were tested on 100-200 randomly Hierarchical Problem Solving generated problems in each domain and were allowed To plan hierarchically, a problem is first mapped into to run on each problem until it was solved or the 300 the highest level of the abstraction hierarchy. This second CPU time limit was exceeded. Since ALPINE is done by removing details from the initial and goal uses problem-specific abstraction hierarchies, the time states to form the corresponding abstract states and spent creating the abstraction hierarchy for each prob- removing details from the preconditions and effects of lem (between 0.5 and 3.5 seconds) was included in the the operators to form a set of abstract operators. Next, cost of solving a problem. the problem is solved in this abstract problem space. Figure 2 compares ALPINE, PRODIGY, and EBL in the The resulting abstract plan is then mapped into suc- scheduling domain. The graph shows the cumulative cessively more detailed levels by forming subproblems CPU time (in seconds) on all solved problems up to the where each intermediate in an abstract plan forms given problem number. The systems were run on the an intermediate goal at the next level of detail. When 100 problems that were originally used for testing EBL, the problem has been refined into the base space (the but the graph only includes the problems that could be original problem space), the problem is solved. If an solved by all three systems within the time limit. The abstract plan cannot be refined (e.g., conditions intro- number of problems that could not be solved by each duced at the current abstraction level cannot be satis- system is shown in the key. Since the problems are fied), then the problem solver backtracks to reformu- ordered by increasing size, the cumulative time curves late the plan at a higher level of abstraction. upward. The graph shows that ALPINE and EBL pro- The hierarchical problem solving is implemented duce comparable speedups, and both systems produce in the [Carbonell et al., 19901. PRODIGY significant speedups over the basic problem solver. In is a means-ends analysis problem solver, PRODIGY addition, ALPINE solved 98% of the problems within which has been extended to perform the necessary hi- the time limit, while EBL solved 94%, and PRODIGY erarchical control and bookkeeping. The system can solved only 76%. As discussed later, future work will backtrack efficiently both across abstractions levels explore the integration of abstraction and EBL. and within an abstraction level by maintaining the rel- evant problem-solving traces. While PRODIGY makes effective use of alpine’s abstraction spaces, they are suf- PRODIGY: 24 Unsolved ficiently general to be used by any hierarchical problem EBL: 6 Unsolved solver that employs a state-space representation. ALPINE: 2 Unsolved p a

Results / / ALPINE produces useful abstraction hierarchies in a number of problem domains. This section demon- strates the effectiveness of ALPINE'S abstractions in a machine-shop scheduling domain and a robot planning domain [Minton, 1988, Minton et aZ., 1989a]. These domains were originally used to evaluate explanation- based learning (EBL) in PRODIGY. A problem in the machine-shop scheduling domain involves finding a valid sequence of machining operations and scheduling the operations to produce various parts. The robot plannin domain is an extended version of the STRIPS Number of Problems domain ‘i Fikes and Nilsson, 19711, which includes locks, keys, and a robot that can both push and carry objects. Figure 2: Comparison in the Scheduling Domain

926 MACHINELEARNING Figure 3 shows an analogous graph that compares tions based on which conditions hold during problem ALPINE and PRODIGY in the robot planning domain. solving, while ALPINE forms abstractions based on the EBL was not included in this comparison because structure of the domain, ALPINE uses about the primary effects of PABLO [Christensen, 19901 is a hierarchical planner the operators to produce the abstractions in this do- that also forms its own abstraction hierarchies, but the main, and EBL was not originally provided with this system uses a completely different approach from the knowledge. To avoid an unfair -bias in the favor of one described in this paper. The operators are par- ALPINE, both ALPINE and PRODIGY are given control tially evaluated before problem solving to determine knowledge to exploit the about primary the number of steps required to achieve any given goal. effects. -The systems were run on 200 problems, in- The system then solves a problem in successive ab- cluding the 100 problems used for testing EBL. As straction levels by first working on the parts of the the graph shows, ALPINE performed significantly better problem that require the greatest number of steps. than PRODIGY on the solvable problems, and ALPINE GPS did not create abstractions, but did automat- was able solve 99% of the problems within the time ically generate difference orderings [Eavarone, 1969, limit, while PRODIGY only solved 90%. Ernst and Goldstein, 19821, which specify the order in which to work on the various goal conditions. The algorithm described in this paper is similar to the tech- 2 3500 a- - -Al PRODIGY: 20 Unsolved ALPINE: 2 Unsolved niques for ordering differences, but the difference order- g w 3000 1 ing algorithm only considers the interactions between effects of operators, while the algorithm described in /I this paper considers the interactions between both ef- P fects and preconditions of operators. / Mostow and Prieditis [1989] identify a set of trans- formations that can be used to form admissible heuris- tics. One of these is the drop-predicate transformation, which produces abstract problem spaces. Since the ab- stractions are formed using a brute-force generate and test procedure, the techniques described in this paper could be applied to their work.

Discussion Number of Problems This paper described a general criterion for selecting abstraction hierarchies and presented a tractable al- Figure 3: Comparison in the Robot Planning Domain gorithm for generating them. The approach has been applied to a variety of problem-solving domains and, as shown in this paper, produces abstractions that are Related Work effective at reducing search. ABSTRIPS [Sacerdoti, 19741 was one of the earliest at- A current limitation of ALPINE is that the gran- tempts at automating the formation of abstraction hi- ularity of the abstractions is limited to the literal erarchies. The system was provided with an initial ab- types in a domain. To address this problem the sys- straction hierarchy, which was used to automatically tem has been extended to abstract specific instances assign criticalities to the preconditions of the opera- of literals. Thus, instead of dropping all the liter- tors: ABSTRIPS formed the abstraction levels by plac- als of the same type, the system can drop instances ing those preconditions which could not be achieved of literals that can been shown not to interact with by a “short plan” in a separate level. Any further different instances of the same literal (e.g., (SHAPE refinement of-the levels came from the user-defined ab- A CYLINDRICAL) could be separated from (SHAPE B straction hierarchy. In the ABSTRIPS'S domain, ALPINE RECTANGULAR)).The difficulty is that the cost of form- completely automates the formation of the abstraction ing these finer-grained abstraction hierarchies becomes hierarchies and nroduces abstractions that are con- prohibitive as the number of literal classes gets large. siderably more eifective at reducing search [Knoblock, Future work will include developing techniques to effi- 1989a]. ciently generate these finer-grained hierarchies. Unruh and Rosenbloom [1989] describe a weak Another promising direction for future work is the method implemented in SOAR that dynamically forms integration of ALPINE with other types of learning, such abstractions for look-ahead search by ignoring un- as explanation-based learning and learning by matched preconditions. The choices m&de& the-look- [Veloso and Carbonell, 19891. Since ALPINE forms ab- ahead search are stored by SOAR'S chunking mecha- stract models of the original problem space, these other nism and the chunks are then used to guide the search types of learning can be applied within the abstract in the original space. This approach forms abstrac- spaces. Thus, EBL could produce control knowledge

KNOBLOCK 927 within an abstract space, and analogy could store and [Korf, 19871 Richard E. Korf. Planning as search: reuse abstract problem-solving episodes. A quantitative approach. Artificial , 33( 1):65-88, 1987. Acknowledgements [Minton et al., 1989a] Steven Minton, Jaime G. Car- I am grateful to Jaime Carbonell, James Altucher, bonell, Craig A. Knoblock, Daniel R. Kuokka, Oren Oren Etzioni, Steve Minton, Josh Tenenberg, and Etzioni, and Yolanda Gil. Explanation-based learn- Qiang Yang for their insights on the work presented ing: A problem solving perspective. Artificial Intel- in this paper. I would also like to thank Claire Bono, ligence, 40(1-3):63-l 18, 1989. Dan Kahn, Alicia Perez, and Manuela Veloso for their [Minton et al., 1989b] Steven Minton, Craig A. comments on earlier drafts of this paper. Knoblock, Daniel R. Kuokka, Yolanda Gil, Robert L. Joseph, and Jaime G. Carbonell. PRODIGY 2.0: References The manual and tutorial. Technical Report CMU- CS-89-146, School of , Carnegie [Aho et a!., 19741 Alfred V. Aho, John E. Hopcroft, Mellon University, Pittsburgh, PA, May 1989. and Jeffrey D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, [Minton, 19881 Steven Minton. Learning Effective Massachusetts, 1974. Search Control Knowledge: An Explanation-Based Approach. PhD thesis, Computer Science Depart- [Carbonell et ab., 19901 J aime G. Carbonell, Craig A. ment, Carnegie Mellon University, Pittsburgh, PA, Knoblock, and Steven Minton. Prodigy: An inte- 1988. grated architecture for planning and learning. In Kurt VanLehn, editor, for Intelligence. [Mostow and Prieditis, 19891 Jack Mostow and Ar- Erlbaum, Hillsdale, NJ, 1990. Also Technical Report mand E. Prieditis. Discovering admissible heuristics CMU-CS-89-189. by abstracting and optimizing: A transformational approach. In Proceedings of the Eleventh Interna- [Christensen, 19901 Jens Christensen. A hierarchical tional Joint Conference on Artificial Intelligence, planner that creates its own hieararchies. In Pro- pages 701-707, San Mateo, CA, 1989. Morgan Kauf- ceedings of Eighth National Conference on Artificial mann. Intelligence, Boston, MA, 1990. [Newell and Simon, 19721 Allen Newell and Herbert [Eavarone, 19691 Daniel S. Eavarone. A program that A. Simon. Human Problem Solving. Prentice-Hall, generates difference orderings for GPS. Technical Englewood Cliffs, NJ, 1972. Report SRC-69-6, Systems Research Center, Case Western Reserve University, Cleveland, OH, 1969. [Sacerdoti, 19741 Earl D. Sacerdoti. Planning in a hi- erarchy of abstraction spaces. Artificial Intelligence, [Ernst and Goldstein, 19821 George W. Ernst and 5(2):115-135, 1974. Michael M. Goldstein. Mechanical discovery of [Sacerdoti, 19771 Earl D. Sacerdoti. classes of problem-solving strategies. Journal of A Structure for American Elsevier, New York, the Association for Machinery, 29:1-23, Plans and Behavior. 1982. 1977. [Tate, 19771 Austin Tate. Generating project net- [Fikes and Nilsson, 19711 Richard E. Fikes and Nils J. works. In Nilsson. Strips: A new approach to the application Proceedings of the Fifth International Joint Conference on Artificial Intelligence, pages of theorem proving to problem solving. Artificial 888-900, 1977. Intelligence, 2:189-208, 1971. [Unruh and Rosenbloom, 19891 Amy Unruh and Paul [Knoblock, 1989a] Craig A. Knoblock. Learning hier- S. Rosenbloom. Abstraction in problem solving and archies of abstraction spaces. In Proceedings of the learning. In Proceedings of th.e Eleventh Interna- Sixth International Workshop on Machine Learning, tional Joint Conference on Artificial Intelligence, pages 241-245, Los Altos, CA, 1989. Morgan Kauf- pages 681-687, San Mateo, CA, 1989. Morgan Kauf- Mann. mann. [Knoblock, 1989101 Craig A. Knoblock. A of [Veloso and Carbonell, 19891 M. M. Veloso and J. G. abstraction for hierarchical planning. In Paul Carbonell. Learning by analogy - the Benjamin, editor, Proceedings of the Workshop closed loop of organization and problem on Change of Representation and Inductive Bias. solving. In Proceedings of the Second Workshop on Kluwer, Boston, MA, 1989. Case-Bused Reasoning, pages 153-159, Los Altos, [Knoblock, 19901 Craig A. Knoblock. Learning and CA, May 1989. Morgan Kaufmann. Using Abstractions for Hierarchical Problem Solving. [Wilkins, 19841 David E. Wilkins. Domain-indepen- PhD thesis, School of Computer Science, Carnegie dent planning: Representation and plan generation. Mellon University, Pittsburgh, PA, 1990. In prepa- Artificial Intelligence, 22(3):269-301, 1984. ration.

928 MACHINE LEARNING