An activity planning algorithm based on a network representations of conditions and actions is presented. The algorithm performs backward expansions on each desired condition in order to express them as a combination of initial conditions and actions. A global problem network of actions and conditions is used to represent the history of successful condition expansions. This representation maintains consistency and improves the efficiency of the search procedure. Interpretation of this problem network leads to an actions network from which feasible plans are directly obtained. The network algorithm was implemented in LISP and is applied here to solve blockworld problems similar to those found in the artificial intellience planning literature. However, the algorithm and the network representation are general and intended to be used as an analytical tool in planning systems that formulate sequences of multiple actions. University Libraries Carnegie Mellon University Pittsburgh, Pennsylvania 15213 Introduction In a certain and closed environment, planning may be conceived in its pure form as a search problem. Given an initial state of conditions, the purpose is to find a sequence of actions that will lead to a final state of desired conditions. In a closed environment, the available operators are known in advance along with their required pre-conditions and effects. In a certain environment, the resources required by an operator and the state of the world resulting from application of an operator are predictable. Examples of such environments include blockworlds with robot manipulators [Winston 84] or control problems involving sequencing analysis tools or decision points. In this paper, a network representation and algorithm for project planning are presented. In common with other planning models [Sacerdoti 85, Tate 77], this model involves backward expansion of desired conditions into pre-conditions through the introduction of pre-defined operators. However, in contrast to other planning models, the global problem network representation includes different nodes for conditions and operations. As a result, the global problem network is a bipartite graph, and efficient algorithms can be devised to obtain alternative project plans accomplishing desired goals from the global problem network of conditions and actions. These alternative plans can then be evaluated or further manipulated using standard scheduling procedures. The network representation provides a tool for analyzing the interactions among competitive operators. It belongs to the general class of systems that formulate sequences of actions such as NOAH [Sacerdoti 85] and NONLIN [Tate 77], in contrast to those that adopt a myopic or opportunistic scheduling mechanism such as MOLGEN [Stefik 81a, Stefik 81b] and Hearsay-ll [Earman 80]. However, the network representation could also be integrated into more general planning expert systems such as OMS [Hayes 85] that repeatedly formulate useful sequences of actions within a global opportunistic heuristic planning process. The discussion is focused on the network representation and on the plan extraction only in this paper. In the next section, some artificial intelligence (Al) planning models relevant to the planning algorithm are reviewed. The following section describes the operations used in forming the global problem network and then extracting an activity < network. The next section presents examples in a simple blockworld. A concluding section summarizes the characteristics of this planning model and contrasts it with existing architectures. Some Al Representation Models for Planning NOAH NOAH stands for Network Of Action Hierarchies. The system was developed after ABSTRIPS [Sacerdoti 74] and combines declarative and procedural knowledge in a framework that Sacerdoti describes as a Procedural Net [Sacerdoti 85, Sacerdoti 77]. Its main application has been to problems involving movements of blocks. The planning process proceeds by creating a small initial network in terms of general actions and expanding it successively until the plan has been expressed in simple operations or primitives. A description of the global state of the system is contained in a world model. The world model is modified each time the plan is detailed in order to register those changes resulting from inserting actions to the plan. Below we describe the components of the procedural net representation. Nodes of the procedural net represent actions. There are five different types of nodes: 1. GOAL nodes, used to represent actions whose preconditions are false in the world model. 2. PHANTOM nodes, used to represent actions whose preconditions are already true in the world model. 3. ANDSPLIT nodes, used to indicate points of the procedural net where an action can be divided into more detailed activities that may be done in parallel. 4. ANDJOIN nodes, used to indicate points of the procedural net where an action is accomplished when all the different detailed activities have been done. 5. PLANHEAD NODES, used to indicate the beginning of a procedural net. Some changes to the world model are stored in the body of a PLANHEAD node. A node of the procedural net may contain the following parts: 1. A verbal description of the goal to be achieved (this is only for goal nodes). 2. Preconditions that have to be true in order for the action to be performed. 3. The body of the node. This is a piece of code that specifies a sequence of actions that when executed sequentially have the same effect as the node. This is procedural knowledge used to create a more detailed plan. When expanding a node, NOAH assumes that every action of the body contains preconditions that have to be true in order to accomplish the final action. 4. Add and Delete lists. Contains a list of changes to be performed to the world model. The world model is maintained using two models: a global model and a distributed model. The global model contains those expressions that have not changed since the beginning of the planning process. When a expression in the world model changes, its new value is placed in the add-delete lists of the causal node; the aggregate of such changes forms the distributed model. The original expression is stored in the PLANHEAO node. The planning process of NOAH consists of the following three tasks: 1. Expand each node of the procedural net. Each node is expanded into a set of children nodes. Children actions are specified within the body code of the parent node. Those nodes whose conditions are already true in the world will be expanded as PHANTOM nodes; other children nodes are expanded by creating goal actions. 2. Apply critics to the new detailed procedural net. The main purpose of critics is to avoid conflicts and redundancies in the new procedural net. There are six types of critics in NOAH: resolve conflicts (a precondition of a node is deleted by another parallel node), use existing objects (bind formal objects only when choices are defined), eliminate redundant preconditions, resolve double-cross conflicts and optimize disjunctions. 3. Update the world model by adding and deleting objects from the world model. Using the add-delete lists of the new nodes in the expanded procedural net, both models of the world are maintained. These three tasks are repeated until the plan has been decomposed into primitive actions and the plan is at the greatest detail. NONLIN NONLIN is a planning system developed by Tate [Tate 77] for assistance in the formulation of project networks. It is an evolution of INTERPLAN, a planning system very similar to NOAH [Tate 74, Tate 75]. Tate identified some weaknesses of NOAH and created a Task Formalism (TF) for implementing a more powerful system. TF is a purely declarative description of the actions in a hierarchical fashion and is implemented using operator schemas. Tasks are decomposed into subtasks and each subtask is assigned a condition. Conditions are of each of these types: 1. Unsupervised Conditions. These conditions have to exist before a task is finished, but are the responsibility of other actions. 2. Supervised Conditions. These conditions have to exist before a task is finished and are the responsibility of the action being considered. 3. Use-when Conditions. These conditions are static in the sense that they do not depend on any action. However they must hold before an action is executed. During the planning process, it is common to find that an action can be performed in two or more different ways. NOAH expanded nodes in a predetermined manner. Therefore, it required specific knowledge in the description of the nodes [Stefik 81b]. Besides, NOAH did not keep track of the choice nodes and this caused expansion decisions to be irreversible. Search trough the solution space was incomplete and some easy problems could not be solved. NONLIN solves this problem using a decision graph for backtracking when choice decisions lead to a dead end. Nodes in Tate's network are similar to those of NOAH's Procedural Net. However, they have some other attributes in order to record interactions between each'node and its neighbors. Node components are: (1) Node number, (2) Node type (goal, action or phantom), (3) Pattern, used to look for expansion instructions, (4) Predecessor nodes, (5) Successor nodes, (6) Node context, (7) Parent node, and (8) Node mark, used to answer questions about node relations. A Planning Model The planning algorithm proceeds by searching backwards on each final condition until it is expressed in terms of actions and true conditions (figure 1). At the beginning, the user specifies the initial and final states using sets of conditions. Each final condition is expanded by adding links to a global problem network of conditions and actions. Once this network has been fully developed, an activity network is obtained. This final network represents the precedences of the required actions. One or more feasible
[1]
Barbara Hayes-Roth,et al.
A Blackboard Architecture for Control
,
1985,
Artif. Intell..
[2]
Earl D. Sacerdoti,et al.
The Nonlinear Nature of Plans
,
1975,
IJCAI.
[3]
Earl David Sacerdoti,et al.
A Structure for Plans and Behavior
,
1977
.
[4]
Mark Stefik,et al.
Planning and Meta-Planning (MOLGEN: Part 2)
,
1981,
Artif. Intell..
[5]
Brian Austin Tate.
Using goal structure to direct search in a problem solver
,
1975
.
[6]
Mark Stefik,et al.
Planning with Constraints (MOLGEN: Part 1)
,
1981,
Artif. Intell..
[7]
Austin Tate,et al.
Generating Project Networks
,
1977,
IJCAI.
[8]
Earl D. Sacerdott.
Planning in a hierarchy of abstraction spaces
,
1973,
IJCAI 1973.
[9]
Raj Reddy,et al.
The HEARSAY Speech Understanding System
,
1974
.
[10]
Daniel D. Corkill,et al.
Hierarchical Planning in a Distributed Environment
,
1979,
IJCAI.
[11]
Austin Tate,et al.
INTERPLAN: a Plan Generation System Which Can Deal With Interactions Between Goals
,
1974
.
[12]
Chris Hendrickson,et al.
An Expert System for Construction Planning
,
1987
.