Sacerdoti, E. D. (1975). A structure for plans and behavior. SRI INTERNATIONAL MENLO PARK CA ARTIFICIAL INTELLIGENCE CENTER.
This report describes progress that has been made in the ability of a computer system to understand and reason actions. A new method for representing actions within a computer memory has been developed, and this new representation, called the procedural net, has been employed in developing new strategies for solving problems and monitoring the execution of the resulting solutions. A set of running computer programs, called the NOAH (Nets of Action Hierarchies) systems, embodies the representation and strategies discussed above. Its major goal is to provide a framework for storing expertise about the actions of a particular task domain and to impart that expertise to a human in the cooperative achievement of nontrivial tasks. A problem is presented to NOAH as a statement that is to be made true by applying a sequence of actions in an initial state of the world. The actions are drawn from a set of actions previously defined to the system. NOAH first creates a one-step solution to the problem (essentially “Solve the given goal??). Then it progressively expands the level of detail of the solution, filling in ever more detailed actions. All the individual actions, composed into plans at differing levels of detail, are stored in a data structure called the procedural net. The system avoids imposing unnecessary constraints on the order of the actions, rather than as linear sequences. The same data structure is used to guide the human user through a task. Since the system has planned the task at varying levels of detail, it can issue requests for action to the user at varying levels of detail, depending on his competence and understanding of the higher-level actions. If more detail should be needed than was originally planned for, or if an unexpected event causes the plan to go awry, the system can continue to plan from any point during execution. The key ideas that are explored include:
- Planning at many levels of detail
- Representing a plan as a partial ordering of actions with respect to time.
- Execution monitoring and error recovery using hierarchical plans.
- Using procedures that represent a task domain to generate declarative (frame-like) structures that represent individual actions.
- Using abstract actions to model iterative operators. The major point of the report is that the structure of a plan of actions is as important for problem solving and execution monitoring as the nature of the actions themselves.