CS4811: Homework 7 --- Planning
Due: Thursday, April 23, 2009, beginning of class.
(Assigned: Thursday, April 16, 2009.)
Reminder:
This is an individual assignment. All the work should be the
author's and in accordance with the university's academic integrity policies.
You are allowed to use any written source in preparing your
answers, but if you use any other source than the textbook and the class
notes, you should specify it on your assignment.
Problem:
In this assignment, you will explore the use and performance of two
planning systems. The first one is called
VHPOP (
http://www.tempastic.org/vhpop/
), and the second one is called Fast Forward or FF (
http://www.mpi-sb.mpg.de/~hoffmann/ff.html
).
VHPOP is a partial-order planning system developed at Carnegie Mellon
University. Its name stands for, "Versatile Heuristic Partial Order
Planner" and it implements several heuristics for planning algorithms.
FF is a state space planning system developed at
University of Freiburg and Max-Planck-Institute for Computer Science
both in Germany. It has one heuristic but is fast.
In
this assignment
you will design and write operators and have both planners
generate plans for you. You will compare their performance and plans.
Task 1:
Run VHPOP with two different heuristics and FF with its sole
heuristic for all the 9 Blocksworld problems in
/classes/cs4811/common/hw07-planning/Blocksworld.
The directory contains 4 simple problems, 4 large problems, and an
unsolvable problem.
Prepare tables showing the run times and the number of plan steps for
each problem (see the tables for task 2 below).
Task 2:
Could we represent the high level structure of a game similar to the
one in Bonzai'09 as a planning problem?
Consider the following goals the squirrel tribes have:
- Prepare food for winter: This involves picking three baskets of
nuts that were gathered and putting them in underground storage.
- Prepare lounges for long winter days: Either leaves or straw (but
not both) can be used to prepare the lounges. This makes the squirrels
tired.
- Scare the fox away: This involves going to the fox's den and
making loud noises. This cannot be done when the squirrels are tired,
because the fox might grab them if they are not fully alert.
Create a planning domain that contains operators to address the goals
above. While designing the operators, take into account the constraints listed.
You will have more assumptions or constraints based on your interpretation of the
domain:
explain the operators you use and the assumptions you have.
As always, use the easiest possible representation, avoid
overcomplicating the problem.
Decide on an initial state and clearly explain it. Use the same state
for all the runs described next.
Run VHPOP with two different heuristics and FF with its sole
heuristic 4 times:
- for each individual goal set (3 runs: G1, G2, G3)
- for three goals together (1 run: G1 & G2 & G3)
For Vhpop, run each of the above 4 problems with two heuristics S+OC and ADD.
Sample
commands are:
vhpop -f static -h S+OC squirrel-domain.pddl problem01.pddl
vhpop -f static -h ADD squirrel-domain.pddl problem01.pddl
A sample command for FF is:
ff -o squirrel-domain.pddl -f problem01.pddl
For grading, we need to have uniform names for the files:
- squirrel-domain.pddl : the domain file
- problem01.pddl : the problem file with G1 as the goal
- problem02.pddl : the problem file with G2 as the goal
- problem03.pddl : the problem file with G3 as the goal
- problem04.pddl : the problem file with G1 & G2 & G3 as the goal
Write a report based on the results of the runs.
The report should include two tables summarizing all the runs
similar to the following:
Time to find a plan (specify the unit)
Problem |
Vhpop S+OC |
Vhpop ADD |
FF |
Problem01 |
|
|
|
Problem02 |
|
|
|
Problem03 |
|
|
|
Problem04 |
|
|
|
Number of plan steps
Problem |
Vhpop S+OC |
Vhpop ADD |
FF |
Problem01 |
|
|
|
Problem02 |
|
|
|
Problem03 |
|
|
|
Problem04 |
|
|
|
For each run, show the resulting plan and comment on whether it is
correct and optimal (optimal means it does not have unnecessary steps).
Carefully compare the plans generated by Vhpop and FF.
Include a written
discussion of what kinds
of representational problems, if any, you encountered.
Submit (both online and hardcopy)
- The domain description in PDDL.
- The four problem descriptions in PDDL.
- Your report.
For the first two items, please use enscript (or a similar program)
with two columns to save paper:
enscript -2Gr -Pprinter files
Running the planners
VHPOP is available in
/classes/cs4811/common/hw07-planning/VHPOP-2.2 . All the
examples provided with the package are in the examples
directory.
FF is available in
/classes/cs4811/common/hw07-planning/FF-v2.3 .
I suggest that you begin by getting familiar with the systems:
try running the gripper domains listed on the slides.
Vhpop's examples
directory contains several examples.
It might be easier to create a directory for your domain and problem
files and put a symbolic link to the Vhpop and FF executables in that
directory:
[nilufer@wopr my-examples]$ ln -s /classes/cs4811/common/hw07-planning/VHPOP-2.2/vhpop vhpop
[nilufer@wopr my-examples]$ vhpop gripper-domain.pddl gripper-2.pddl
;strips-gripper2
1:(pick ball1 rooma left)
2:(move rooma roomb)
3:(drop ball1 roomb left)
Time: 0
Finally, all the executables were built on Linux. If you would like to
use another platform you'll need to download the code and recompile.