Welcome to the Homepage of IPP
1997 - 1999
Project History:
After the Dagstuhl Workshop on Control of Search in Planning, Jana Koehler
decided to develop her own planning system as the topic of her
habilitation thesis. It began with an extension of GRAPHPLAN to
the ADL planning language handling conditional effects and more
expressive preconditions. The first algorithm prototypes were
discussed with Bernhard Nebel
and Yannis Dimopoulos and soon the IPP planning system began to
emerge. Bernhard Nebel later contributed the RIFO strategy to IPP. In
march 1997 three students, Jörg
Hoffmann, Frank
Rittinger, and Michael
Brenner, joined the team and implemented the first protopye of IPP
as well as the subsequent revised versions. Version 3.3 won the ADL
track of the first planning systems
competition. In 1998, a first investigation into metric
planning/resource-constrained planning started and experimental
algorithms were implemented. At the same time, the whole IPP system
was reimplemented, which required more effort than expected. Jörg
Hoffmann took mainly care of this. Andreas Schön and Dietmar Jäckle
joined the team temporarily in 1999 and contributed to the
reimplementation resulting in IPP version 4.0. To enter the Planning Competition
2000, RIFO was integrated into IPP again and several bugs were
fixed resulting in IPP 4.1.
Between July 1997 and December 1998
IPP source code has been downloaded more than 200 times and the system
has been used in several other projects (see e.g. the AIPS 2000
proceedings for references). IPP was also used in two commercial
environments: at Schindler for
rapid prototyping of elevator domain models (with our permission) and
at Celcorp as a source for own
planning software development (without our permission).
Source Code Available
-
IPP 4.1 as of 5/1/00. This is the last version of IPP fixing bugs in
release 4.0 and containing RIFO again.
- IPP
4.0 as of 9/1/99. This version takes only PDDL syntax as
input. The source code also contains files for the original IPP
syntax, but they are not used anymore. A collection of domains in the PDDL input format
and the PDDL handbook can also be
downloaded. Note that you need to specify full names of files (which
can be arbitrary) in the -o and -f arguments, while in IPP 1.0 to 3.3
you need to use the .ops extension for operator files and the .fct
extension for factfiles, which are omitted in the -o and -f
arguments). The main differences to version 3.3 are
- true negation, i.e. we have positive and negative atoms
represented in the graph and goal sets are checked for consistency,
- an improved parser for PDDL-ADL including a
correct normal form computation for general FOL formulas without
function symbols,
- the new instantiation algorithm handling inertia, which encodes
ground operators (actions) and states as bitvectors,
- the implicit graph representation, which generates only a single
action and fact layer.
- IPP 3.3 as of 6/1/98 won
the ADL track of the planning competition having improved performance
and memory management compared to version 3.2. The version above takes
IPP syntax as input. To download the competition variant using PDDL as
input language follow this link . Syntax
descriptions for operators and fact files for versions 3.0 to 3.3
are available, and there is a collection of domains.
- Only for historical reasons: IPP
3.2 as of 3/5/98, IPP 3.1 as
of 2/6/98, IPP 3.0 as of 11/1/97,
IPP 2.0 as of 6/1/97,
IPP 1.0 as of 5/1/97 showing all
our attempts to get the backward search correctly handle conditional
effects in planning graphs, adding more details to the expressivity,
and gradually improving the implementation techniques for subset
memoization, mutex computation, and graph search.
- RIPP 0.1 as of 10/1/97. This
is a very prototypical implementation of IPP with resources. The
algorithm is incomplete and extremely slow. Some domains using resources are
also available and there is a description of the syntax of operators and fact files that can be parsed. Note that
equations are not supported by the algorithm.
Publications related to IPP and
links to additional webpages that explain some of the IPP features
in more detail and also contain code for XGV, the graphical
displayer for planning graphs, and IPP 3.3 with the goal agenda
manager integrated.
The future: IPP will not be further developed. Many new
techniques are available, which should be worth integrating into the
algorithm. These are in particular the TIM module of STAN
and the dectection of symmetries, which is described in the IJCAI-99
paper by Fox & Long. Some of the IPP ideas are also further pursued in
the FF
planner developed by Joerg
Hoffmann, which is based on heuristic forward search.
Besides this, it seems to be worth to get rid of Graphplan's no-ops
and build planning graphs that are no-op free, because no-ops cause a
huge overhead in the computation of mutexes. In many domains, one has
just a few hundred "real" ground actions, but many thousands facts
each of them requiring a no-op. I also argue that keeping a
disjunctive normal form of preconditions could be more effective than the
conjunctive normal form and the separation of different disjunctive
preconditions into different actions. Both changes will require a
modification of the backward search algorithm.
As for planning with metric constraints, I believe that using planning
graphs and a backward search algorithm is not the most promising way
to go. To solve such problems, which are extremely important for
practical applications of planning systems, a forward searching
algorithm appears more promising to me.
Jana Koehler,
10/15/2006