tion will be added to the applicable actions of the cur-
rent action level.
At each action level, the numeric variables of an
action are instantiated just before the action applica-
tion at this current level. This instantiation is done
by replacing the variables by the corresponding val-
ues from the current fact level. This technique of
”‘on the fly”’ instantiation allows avoiding the flood
of numeric values and can be used for continuous and
discrete numeric values. Only the variables that are
parameters of external functions and the right hand
side numerical variables of expressions are instanti-
ated from the current fact level. All these on the fly
instantiated variables are added implicitly to the ac-
tion preconditions by direct edges. These edges to
implicit preconditions will allow us to follow the trace
of the functions application within the planning graph
during the extraction process. We run through the
planning graph during the extraction of a plan with-
out making difference between implicit and explicit
preconditions. This technique allows us to use black
box functions because we are only concerned by the
parameters and the returned value of a function to fol-
low its trace through edges during the planning pro-
cess. After all actions are instantiated propositionally
and numerically at the current level, the application of
these actions can take place.
The application of actions at the current action
level will lead to the creation of the next fact level.
Positive propositional effects in ef f
P
of an applica-
ble action a are pointed as added by a to the next fact
level and negative effects are pointed as deleted by
a from the current fact level using edges. For each
numerical variable which is assigned to an external
function or to an expression at the numerical effects
in ef f
N
, the old values of these variables are pointed
as deleted by a from the current fact level and the
new values returned by functions or expressions are
pointed as added by a to the next current level. This
organization of numerical effects will allow a uniform
representation for all types of values and thus, the run
through the graph will not be affected by the function
results. From now on, the next fact level becomes the
current fact level and the loop continue until the goal
conditions are found at this current fact level or until a
sufficient condition indicates that the problem has no
solution.
6 CONCLUSION
In this paper we proposed an extension to the plan-
ning graph construction algorithm in order to allow
it supporting the application of functions written in a
given programming language. This extension allows
the application of functions in a planning graph irre-
spective of their contents. As the planning graph is
build in a forward pass the parameters and the results
of the functions can be registered consequently during
the graph construction process. During the extraction
of a plan in a backward pass the algorithm is only con-
cerned by the graph nodes from which it finds a solu-
tion by following the direct edges of the graph. We
have proposed a method to instantiate numeric vari-
ables dynamically, in a way that the instantiation of
these variables is done step by step during the graph
expansion process. This technique resolves the prob-
lem of the flood that can be generated by the numeric
domains and allows handling continuous and discrete
numerical domains during a planning task.
REFERENCES
A., G. and D., L. (2005). Plan constraints and preferences
for PDDL3. Technical Report Technical report, R.T.
2005-08-07, Dept. of Electronics for Automation, U.
of Brescia, Brescia, Italy.
BAK M., P. N. and O., R. (2000). Path following mobile
robot in the presence of velocity constraints. Tech-
nical report, Kongens Lyngby, Denmark : Technical
University of Denmark.
Blum, A. L. and Furst, M. L. (1995). Fast planning through
planning graph analysis. Proceedings of the 14th In-
ternational Joint Conference on Artificial Intelligence
(IJCAI95), pages 1636–1642.
D., S. and D., W. (1999). Temporal planning with mutual
exclusion reasoning. 16th International Joint Confer-
ence on Artificial Intelligence (IJCAI99).
Do, M. B. and Kambhampati, S. (2001). Sapa: A domain-
independent heuristic metric temporel planner. In
Proceedings of the European Conference on Planning
(ECP 2001).
Geffner, H. (1999). Functional strips: A more flexible lan-
guage for planning and problem solving. Logic-based
AI Workshop, Washington D.C.
Hoffman, J. (2001). FF: The fast-forward planning system.
AI Magazine, 22:57 – 62.
Hoffmann, J. (2002). Extending FF to numerical state vari-
ables. In Proceedings of the 15th European Confer-
ence on Artificial Intelligence, Lyon, France.
Schmid, U., M
¨
uller, M., and Wysotzki, F. (2000). Integrat-
ing function application in state-based planning. Sub-
mitted manuscript.
Smith, D. and Weld, D. (1999). Temporal planning with
mutual exclusion reasoning. In Proceedings of the
Sixteenth International Joint Conference on Artificial
Intelligence (IJCAI-99).