Partial Plans Completion with GRAPHPLAN Alfredo Milani, Stefano Marcugini and Marco Baioletti Department of Mathematics and Computer Science - University of Perugia Via Vanvitelli 1, 06100 Perugia ITALY Tel: +39-75-585-5049, Fax:+39-75-585-5024, E-mail: milani@unipg.it Abstract Completion of partial plans is a subtask for many planning techniques such as plan reusing, replanning and accomplishing complex user goals. The new generation of fast planners such as Graphplan, Satplan and others, is characterized by very efficent planning algorithms which exploit techniques of multiple plans representation. Unfortunately it is fairly difficult to give Graphplan a partial plan fragment to complete, because the internal plan network representation, only represents ordered by levels and complete plans. On the other hand it is very easy and straigthforward to provide an initial partial plan to complete to a planner like UCPOP, because its planning algorithm completes a partial initial plan in the internal representation. We present an original technique for using Graphplan in order to solve partial plan completion problems. The technique, called domain embedding, modifies the problem domain in order to induce only solutions which are completion of the given partial plan. The technique is planner independent, that is to say it is proved to be correct without regards to the internal implementation details of the given planner. The result has a general validity in order to combine the flexibility of Ucpop-like planners with the performance of Graphplan, and it can be trasferred to any other planner with minor modifications depending on the planning model and representation. Experiments show that partial plan completion with Graphplan outperforms Ucpop despite of the additional cost due to domain embedding thus resulting in a suitable technique for partial plan completion. 1 Introduction A partial plan completion problem is the problem of completing a given partial plan fragment in order to accomplish a given set of goals of a given problem domain. This class of completion problems arises in many planning applications. A typical case is that of complex goals: in this framework the user wants to express complex goals which cannot be modeled by the classical initial state/goal state pair. An example of such complex goals are task goals [Baioletti et al.97], a task goal may require that the final plan contains some specific actions in a specific order (e.g. the user wants to complete the plan: go_to Rome, then go_to the Opera), a task goal can be seen as a partial plan to complete in conjunction with the global problem goals. Plan reusing [Hammond86], can be seen as a technique for combining and completing partial plans in order to obtain the problem goal. Replanning components are used planning systems which operates in dynamical environments [CurrieTate91] [Knoblock95] [WangChien97]. Replanning system require to be able of completing partial plans, i.e. in this case the fragment derived from the failed plan. 2 Partial Plans A planning problem in this framework is characterized by a tuple D=(I,G,O), where I denotes the initial situation, G the goal situation and O a set of operators schema, described in terms of preconditions and effects. A plan P=(>,A,C) for a planning problem is characterized by a partial order relation >, on a set of actions A which are instances of operators O, plus a set of codesignation and not codesignation constraints, C, on actions parameters. The notion of complete solution plan denotes a plan where actions have fully estabilished preconditions, and the plan reaches the final goal when executed in the initial situation. It must be pointed out that on the other hand a partial plan can be: not completed, i.e. some actions preconditions must be satisfied by introducing codesignations, precedences and new actions into the plan (by estabilishing/step adding); partially uninstantiated, not all the action variables are bound to constant; a partial plan could also contain contradictions or unsolved conflict, e.g. if the a user submitt a task goal in the form of partial plan