MAN-MACHINE COOP ON FOR ACTION PLANNING Final Report November 1982

A domain independent planning program that supports both automatic and interactive * generation of hierarchical, partially ordered plans is described. An improved formalism for representing domains and actions is presented. The formalism makes extensive use of constraints, provides efficient methods for representing properties of objects that do not change over time, allows specification of pupoes for determining plan rationale, allows specification of resouarces, and provides the ability to express deductive rules about how the world works. * The system deduces the effects of actions using deductive rules. The implications of allowing parallel actions in a plan or problem solution are discussed. New techniques for efficiently detecting and remedying harmful parallel interactions are presented. The most important of these techniques, reasoning about resources, is emphasized and explained. The system * supports concurrent exploration of different branches in the search, making best-first search easy to implement. Meta-planning and its implications for domain independent planning are discussed in some detail, and primitive execution monitoring capabilites are described. 1. The Planning Problem The problem of generating a sequence of actions to accomplish a goal is referred to as planning. To automate planning in a computer program involves representing the world, representing actions and their effects on the world, reasoning about the effects of sequences of such actions, reasoning about the interaction of actions that are taking place concurrently, and controlling the search so that plans can be found with reasonable efficiency. The ability to reason about actions is a core problem for artificial intelligence. It is part * of the common-sense reasoning people do all the time. By reasoning about actions, a program * could plan your travel for you, control a robot arm in a changing environment, get a computer system or network to accomplish your computing goals, or any number of other things that are beyond the scope of current systems. This problem is even central to conversing in natural language. First, because many utterances are deliberately planned to achieve specific goals, and also because it is often necessary to create your own model of other people's plans in order to understand their utterances. Despite the importance of the problem, relatively little has been accomplished in recent years. This paper describes progress on this problem that has resulted from development of a planning program at SRI International. ' Planners designed to work efficiently in a single problem domain, though desirable, often depend on the structure of that domain to such an extent that the underlying ideas cannot be readily used in other domains. Currently, a new program (often requiring its own unique * representation and heuristics) must be developed for each new domain (if the domain is complex enough to be interesting) in order to get reasonable performance. This paper discusses domain independent planners which are of particular interest since they provide planning techniques that are applicable in many domains, and provide a general planning capability. Such a * common-sense . anning ability is likely to involve different techniques than those used by an expert planning in his particular domain of expertise, but is a necessary ability for people in IThe research reported here is supported by Air Force Office of Scientific Resarch Contract F49820.79-C0188. 2 their daily lives and for intelligent programs. Of course, a general planner should provide representations and methods for including domain specific knowledge and heuristics. There is no guarantee, except for human performance, that a large central core of domain independent planning techniques exists. It is important to enlarge this core as much ais possible so we do not have to write a new planner for each new domain. Such motivation lies liehind * other Al research; for example EMYCIN [151 is an attempt to clarify the domain independent core of expert systems such as MYCIN, and TEAM [3] provides natural language access to data bases independent of the domain or structure of the data base. This paper describes an implemented planning program that expands the core of domain independent planning * techniques as it builds on and extends previous domain independent planning systems such * as Sacerdoti's NOAH [10], Tate's NONLIN [141, Sridharan's PLANXIO [111, Veke's DEVISER S11], and SRI's STRIPS [1]. Two features found in many planning systems are also central in this work: hierarchical planning, and parallel actions. Hierarchical planning is often necessary for real-world domains * since it helps avoid the tyranny of detail that would result from planning at the most primitive level. By first planning at more abstract levels, the planner can reduce the search space by expanding these more abstract plans into more detailed plans. Parallel actions are also useful for real-world domains. Such domains are often multi-effector or multi-agent (e.g., having two robot arms to construct an object, or having two editors to work on your report), and the best plans should use these agents in parallel when possible. This distinguishe plnnn * from much of the work in program synthesis, since the goal there is often a strictly sequential r program. A planning system that allows parallel actions must be able to reason about how actions interact with each other since interference between parallel actions may prevent the * plan from accomplishing its goal. This is a major problem for planning systems and a major focus of this paper. 3 2. Overview of SEPE We have designed and implemented (in INTERLISP) a system, SIPE, (System for Interactive Planning and Execution monitoring), that supports domain independent planning. The program has produced correct parallel plans for problems in four different domains (the blocks world, cooking, aircraft operations, and a simple robotics assembly task). The system allows for hierarchical planning and parallel actions. Development of the basic planning system has led to several extensions of previous systems. These include the development of a perspicuous * formalism for encoding descriptions of actions, the use of constraints to partially describe ob* jects, the creation of mechanisms that permit concurrent exploration of alternative plans, the * incorporation of heuristics for reasoning about resources, mechanisms that make it possible to perform simple deductions, and advanced abilities to reason about the interaction between parallel actions. SIPE can automatically generate plans, but, unlike its predecessors, SIPE is designed to also allow interaction with users throughout the planning and plan execution processes, if this is desired. The user is able to watch and, when desired, guide and/or control the planning process. Our concern with interaction means that perspicuous representations have been favored and that some search control issues have not been addressed as yet. As the system evolves, more methods for controlling the search will be developed and more problems will be solved automatically. This evolutionary approach has several advantages. From the planning point of view it allows us to address larger, 'real-world" problems which may initially be beyond the capabilities of fully automatic planning techniques, but which could provide interesting research problems. Development of an interactive planner also encourages us to deal * with the issue of representing the planning problem in terms that can be easily communicated to a user. This is also important for an automatic planner, because the machine must still * be able to communicate about the planning it has performed. Our system raises issues in human-machine interaction, but this paper addresses only the planning aspects of our work. In SIPE, a plan is a set of partially ordered goals and actions, which is composed by the 4 sysem romoperators (the system's description of actions that it may perform). Plans that sysnte fromveth desired goal may sometimes be generated by simply applying operators, so the system also has critis which find possible problems and attempt to correct them. In particular, most of the reasoning about interactions between parallel actions is done by theI critics. The plans are represented in procedural nets 1101, primarily for graceful interaction between man and machine. Invariant properties of objects in the domain are represented in a type hierarchy, which allows inheritance of properties and the posting of constralnts on the values of attributes of these objects. The relationships which change over time, and therefore all goals, are represented in a version of first-order predicate calculus which is typed * and interacts with the knowledge in the type hierarchy. Operators are represented in an * easily understood formalism we have developed [71 in which the ability to post constraints on * variables is a primary feature. Each of these parts of the system will be described in more detail later in the paper. * It should be noted here that, like most domain independent planning systems (DEVISER * being an exception), ours assumes discrete time, discrete states, and discrete operators. Time need not be represented explicitly for many tasks since the ordering links in the procedural network provide the necessary ordering information. It is assumed that each world state that can be reached is discrete and can be represented explicitly. The operators are also discrete, with the effects of an action occurring instantaneously as far as the system is concerned. This * applies to a given abstraction level; using hierarchical planning, the system can order the *effects which occur at a lower level of detail. These assumptions are acceptable in many real-7 * world domains and have been made by most previous planners. They are however restrictive and prevent many real