Running VHPOP
Installation
The easiest way to access VHPOP is to use the command
module add
/home/TDDC17/www-pub/info/labs/planning/planners.mod, which
will
include the required directories in your path. After that, you can run them by just typing the planners name.
Questions, Problems and Bugs
Through the
WWW links provided you can find out more about the planning systems, but
please, do not bother their authors with trivial
questions.
How VHPOP Works
VHPOP is a partial-order planner. Partial-order planning is explained in
section 10.4.4 of the course book. A point to note is that VHPOP can plan
with fully instantiated (i.e. propositional) actions, or with
partially instantiated actions (see the section Partial-order planning
with unbound variables in the book).
Search in the partial-plan space is guided by two different heuristics,
a plan ranking/evaluation function and a flaw selection strategy. The
plan evaluation function guides the choice of which partial plan to
elaborate, while the flaw selection strategy guides the order in which
flaws in the partial plan are repaired. The two heuristics are in a sense
complimentary: the plan evaluation function should select "promising"
candiates, i.e. partial plans close to being finished or with
an estimated high quality, while the flaw selection strategy should
select the "hardest" plan flaw, or one whose repair will constrain
choices of repairs for other flaws.
VHPOP implements several search algorithms and a lot of different heuristics.
If plans found are guaranteed to be optimal or not depends on the particular
heuristic used.
Input
VHPOP accepts PDDL/STRIPS input, some subset of ADL (including certain kinds
of conditional effects) and actions with duration (but only fixed durations,
as in e.g. the
simple timed satellite domain.
Running VHPOP
VHPOP is started with the command
- vhpop [-g] [-h <heuristic>] [-f <flaw selection>]
[-s <search alg>] [-v] <domain file> <problem file>
More options are available, run vhpop --help for a summary.
The choices for heuristic and flaw selection strategy are legio.
Examples of reasonable heuristics are "ADDR/BUC/LIFO" and
"MAX_COST/FIFO" (the FOO/BAR notation means that
FOO is the primary heuristic, and BAR is used to
order plans that have the same score according to FOO).
Examples of flaw selection strategies are LCFR, ZLIFO
and {n,s}LR/{o}MW_add. The first two favor flaws for which there
are fewer possible repairs (this keeps the branching factor down), while
the last combines this strategy with a preference for chosing actions with
a low heuristic cost.
See the README file for a complete description.
There is also a script called ipc3-vhpop which runs vhpop with
the settings used when it participated in the 2002 planning competition.
The script takes only the domain and problem file as arguments.
Output
VHPOP produces very little output: by default, it will only print a comment
with the problem name and then the plan (when found). If run with the option
-v it provides a progres indicator as it searches.
Known Problems
It seems that VHPOP uses the same "namespace" for types, predicates and
actions: thus, it's not possible to have e.g. a type and a
predicate with the same name, which is the case in some of the example
ADL domains.
More about VHPOP
- Homepage:
-
http://www.tempastic.org/vhpop/