Interpolation of plans for time-critical adaptation
Introduction
A planner's task is to generate plans—in effect, sequences of actions—to respond to given problems. Because planning is among the oldest technical preoccupations of artificial intelligence, many different approaches have been suggested over the years. All these approaches can be viewed as lying between two extreme views of planning: classical planning [1], and reactive planning [2].
In the classical approach, one first constructs an entire plan and then evaluates it by execution. The underlying assumption here is that the world remains unchanged between the times when a problem is given and the solution is applied. But such an assumption is untenable in real-time or time-critical systems which, by nature, are highly dynamic. A time-critical planner should therefore be adaptive in the face of changes of conditions [3]. Moreover, two important properties of real-time systems are timeliness and responsiveness [4]. The former indicates that such a system should provide an answer within some pre-imposed time limit, and the latter emphasises a system's ability to monitor incoming events to identify those that require quick responses. Considering all these aspects of real-time or time-critical systems, one can easily see that designing a complete plan right at the outset of some problem-solving application is impracticable. Hence classical approaches are unlikely to be adequate for time-critical requirements.
Reactive planning, on the contrary, involves spending less time on a priori planning [5]. It requires that at each stage a planner should check the situation relevant to it in the world and decide the next action accordingly. An evident disadvantage of a technique that does only this is that, while solving a given problem, minor subproblems may change the focus of attention of the solver. Also, in a varying world, the computational demands of the overall procedure may increase explosively, so that it may then not be suitable for time-bounded planning.
Several useful approaches that are intermediate between the two extremes have also been proposed. Among these are systematic non-linear planning (SNLP) [6] and case-based planning [7]. Both of them are search-based. SNLP operates by searching a space of partial plans, while a case-based planner designs a plan by retrieving a past case from its knowledge base and then adapting it to suit the new situation. The efficiency of these systems in dealing with time-critical problems therefore depends on the underlying search mechanism. Various attempts have been made to speed up the search procedure, e.g. by using indexes as in the ‘case-based search’ (CBS) algorithm [8] or secondary preconditions in SNLP, as described in Ref. [9]. But none of these approaches has a particularly high probability of delivering an answer within a stipulated time limit.
This is because real-time decision-making almost invariably demands computational procedures where the nature of the possible computations and their demands on resources should be clear during the design phase. But search procedures because of their intrinsic tactic of searching forward and/or backtracking until some suitable match is found are open-ended in nature. As a consequence, their time requirements cannot be established realistically. Therefore, if one wishes to reuse past plans in real-time decision making, one should evidently find a way of avoiding any extended search procedure. To permit this, a scheme should be developed that is algorithmic in nature, and will therefore have a time complexity that can be estimated at the design stage. Evidently, the scheme should not depend on exact matches (as searching should be avoided). Instead, it should be able to generate a plan for a current problem even when the past plans deal with problems that are not closely matched to the current one.
In this paper we present a scheme that we call plan interpolation in response to this demand. It imitates the kind of ‘interpolation’ that is commonly used in numerical analysis. In a numerical domain, in order to find the value of the dependent variable Y at a point x0 for the independent variable X, one uses the distances of x0 from x1 and x2 to interpolate linearly between the values y1 and y2 where x1≤x0≤x2. The interpolated value y0 should be such that:where d(m, n) is the distance between m and n (measured with an appropriate metric) and k a constant of proportionality.
The same notion is intuitively relevant for generating a plan for a given problem, by using two past plans as dependent variables and the problems that they deal with as independent variables. In this paper, we study the feasibility and requirements of such a technique, making use of our experience in applying it. In particular, we develop suitable methods for:
- •
how to carry out interpolation when the two interpolating pieces of knowledge are described in the form of plans;
- •
identification of knowledge that should be stored in the plans in order to facilitate their interpolation;
- •
efficient representation of plans, so that relevance of a plan to a given situation can be judged easily and the information necessary for carrying out the interpolation can be retrieved quickly; and
- •
conducting actual interpolation between two selected plans.
In the next section we present the fundamentals of the interpolation technique. In those that follow it, we describe the plan-interpolation algorithm in detail, and illustrate it with examples.
Section snippets
Plan interpolation: some basics
We first consider what a plan is. Following Dean and Wellman [12] (chap. 5), we regard a plan as being organised around the concept of task, which is an abstract operation that has to be carried out. For example, “communicate” is a task indicating that some message needs to be passed to someone. A task can be performed in many ways; each of them is called an action. Some pertinent actions for accomplishing the task “communicate” are: email, fax, telephone, walkie-talkie, send-person,
Carrying out plan interpolation
Time-critical computations demand that the computing system has to adapt quickly to changes in the environment. If its job is to establish plans, then at each stage it has to decide upon the next task that ought to be taken up, and also the most suitable action to accomplish that task. Interpolation between two plans means:
- 1.
deciding which task should be carried out next;
- 2.
identifying what will be the most appropriate actions for the next task;
- 3.
determining the values of the relevant parameters for
Plan interpolation: critical evaluation
To evaluate plan interpolation as a means of generating new plans to meet time-critical demands, three important issues need to be considered:
- •
whether the solution obtained via plan interpolation is robust;
- •
given a problem situation, how to choose suitable plans from the knowledge base;
- •
performance measurement of plan interpolation in respect to time-critical demands.
Concluding remarks
The objective of this work has been to design a plan-adaptation scheme that will bypass the ubiquitous search procedures normally associated with knowledge-based reasoning schemes. Search mechanisms are open-ended in nature, and it is usually not possible to forecast how much time one will take to find an answer to a given request. Particularly, in systems having large plan libraries, a search-intensive procedure may require considerable time in searching forward and in backtracking: more than
References (27)
- et al.
STRIPS: a new approach to the application of theorem proving to problem solving
Artificial Intelligence
(1971) - et al.
Structure and significance of analogical reasoning
Artificial Intelligence in Medicine
(1990) An investigation into reactive planing in complex domains
- et al.
An architecture for real-time reasoning and system control
IEEE Expert
(1992) Real-time AI systems, a definition and an architecture
- et al.
Pengin: an implementation of a theory of activity
- et al.
Systematic non-linear plans
Case-Based Reasoning
(1993)- S. Bradtke, W.G. Lehnert, Some experiments with case-based search, Proc. AAAI-88, AAAI Press/MIT Press, Cambridge, MA,...
- et al.
Achieving the functionality of filter conditions in a partial order planner