Running the Planners
Installation
The available planners are all in the directory
/planners.
The easiest thing to do is use the command
module add /home/TDDA23/www-pub/ailabs/planners.mod, which will
include this
directory in your path. After that, you can run them by just typing
the planners name.
Questions, Problems and Bugs
Through the
WWW links below you can find out more about the planning systems, but
please, do not bother their authors with trivial
questions (such as "why doesn't your planner solve my problem?").
Available Planners
There are six planners available, covering a reasonably broad range of
approaches.
BlackBox
BlackBox combines the plan graph idea (from Graphplan) with the use of
state-of-the-art SAT solvers to extract a plan from the graph representation.
It can use several different SAT solvers.
- Plan form:
- Parallel.
- Optimal:
- w.r.t. parallel length, but only if a systematic SAT solver
is used.
- PDDL supported:
- Only STRIPS.
- To run:
- blackbox -o <domain> -f <problem>
[-solver <solver> [<solver options>]]
[-then <solver> [<solver options>]]*
- <solver> is the solver used to search for a plan in the graph
representation. It can be graphplan (which does plain regression
search), satz (a systematic SAT solver), walksat or
relsat (random SAT solvers) or compact. The compact
solver is special, in that it's only a simplfier and not a solver. If it's
used, another solver has to be specified after (using -then).
- Blackbox and each of the solvers have several options. To get a list
run blackbox without arguments or
blackbox -help -solver <solver>
- Examples:
- blackbox -o <domain> -f <problem> -solver compact -l
-then satz
- This combination produces optimal plans and is reasonably efficient.
- blackbox -o <domain> -f <problem> -solver compact -l
-then relsat -maxbt <M> -trials <N>
- This combination is not guaranteed to be optimal. The chances of missing
a solution can be decreased by increasing <M> and
<N> (the default values are 1000000 and 1, respectively) but
this also generally increases runtime. To speed up the planner (at the cost
of increasing the chances of missing a solution) decrease <M>
and/or <N>.
- Homepage:
-
http://www.cs.washington.edu/homes/kautz/blackbox/
HSP
HSP is a general heuristic search planner. It can do both forward-chaining
and regression planning, using both admissible and non-admissible heuristics.
- Plan form:
- Sequential.
- Optimal:
- w.r.t. sequential length, but only with certain settings
(-a bfs -h h1max -w 1 or -a bfs -d backward -h h2max -w 1).
- PDDL supported:
- Only STRIPS.
- To run:
- hsp [-a <algoritm>] [-d <direction>]
[-h <heuristic>] [-w <weight>] <problem> <domain>
- <algoritm> specifies the search algorithm to use, and
can be either bfs (Best First Search) or gbfs (Greedy BFS).
Default is bfs.
- <direction> specifies the direction of search, and can
be either forward or backward. Default is forward.
- <heuristic> specifies the heuristic, and can be any of
h1plus, h1max, h2plus and h2max (the
"max" heuristics are admissible). Default is h1plus.
- <weight> is a (decimal) number, greater or equal to 1.0.
Using a value greater than 1.0 makes the planner non-optimal (even if BFS
and an admissible heuristic is used), but can be more efficient.
- For more options, run hsp without arguments.
- Examples:
- hsp -a bfs -h h1max -w 1 <problem> <domain>
- hsp -a bfs -d backward -h h2max -w 1 <problem> <domain>
- These combinations produce optimal plans (the second is probably more
efficient, in most cases).
- hsp -a gbfs -h h1plus <problem> <domain>
- This combination is non-optimal, but can be pretty efficient.
- Homepage:
- http://www.cs.ucla.edu/~bonet/
FF
FF is forward-chaining heuristic search planner. It's, if not the fastest
at least one of the few fastest, non-optimal domain-independent planners
today.
- Plan form:
- Sequential.
- Optimal:
- No.
- PDDL supported:
- STRIPS, typing (though maybe not subtypes), ADL actions (though not
quantified goals).
- To run:
- ff -o <domain> -f <problem>
- For more options, run ff without arguments.
- Homepage:
-
http://www.informatik.uni-freiburg.de/~hoffmann/ff.html
IPP
IPP is a parallel regression planner, a descendant of Graphplan.
- Plan form:
- Parallel.
- Optimal:
- Yes, w.r.t. parallel length.
- PDDL supported:
- STRIPS, typing (not subtypes), ADL actions.
- To run:
- ipp -o <domain> -f <problem>
- For more options, run ipp without arguments.
- Homepage:
-
http://www.informatik.uni-freiburg.de/~koehler/ipp.html
MIPS
MIPS does forward-chaining, breadth-first search and uses an efficient
BDD-based representation for sets of states.
- Plan form:
- Sequential.
- Optimal:
- Yes.
- PDDL supported:
- Only STRIPS.
- To run:
- mips <domain> <problem>
- For more options, run mips -h.
- Homepage:
-
http://www.informatik.uni-freiburg.de/~edelkamp/Mips/index.html
STAN
STAN is another Graphplan descendant. It combines the plan graph
representation with domain analysis for improved performance.
- Plan form:
- Parallel.
- Optimal:
- Maybe. The basic planner is optimal w.r.t. parallel length.
Through domain analysis, however, it may recognize the "kind" of domain
the problem belongs to, and apply domain-specific strategies which
render it non-optimal.
- PDDL supported:
- Only STRIPS.
- To run:
- STAN <domain> <problem>
- Homepage:
-
http://www.dur.ac.uk/~dcs0www/research/stanstuff/stanpage.html