CS4811: Homework 5 --- Planning
Due: Monday, March 27, 2006, beginning of class.
(Assigned: Monday, March 13, 2006.)
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.
Note that extensions to this homework will not be possible
because other homeworks are coming up.
Problem:
In this assignment, you will explore the use and performance of two
planning systems. The first one is called
VHPOP (
http://www-2.cs.cmu.edu/~lorens/vhpop.html
), 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:
Implement a planning domain for the simplified Mars Rover problem.
Assume that the Rover starts at the base, and there are 4 locations
arranged in a circle: base, l1, l2, l3, l4, l5, base.
The Rover can travel back and forth between adjacent locations.
It has the following tasks:
- At location L1 (G1): Take a picture and collect rock samples. The
picture can be taken with either of the two cameras (CAM1, CAM2). Rock
samples must be placed in a special container, and samples should not be
mixed.
- At location L3 (G2): Take a picture and collect sand samples. The
picture can be taken with either of the two cameras (CAM1, CAM2). Sand
samples must be placed in a special container.
- At location L4 (G3): Take a picture and set up a communication antenna.
Taking the picture is similar to other locations. Setting up the
communication antenna requires carrying the equipment. The Rover cannot
carry anything else if the antenna equipment is on board (it cannot
carry the containers).
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 use the same state for all the runs
described next. Initially, all the containers and equipment are at the
base. The cameras are permanently mounted on the Rover.
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 rover-domain.pddl problem01.pddl
vhpop -f static -h ADD rover-domain.pddl problem01.pddl
A sample command for FF is:
ff -o rover-domain.pddl -f problem01.pddl
For grading, we need to have uniform names for the files:
- rover-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 with two columns to save
paper:
enscript -2Gr -Pprinter files
Running the planners
VHPOP is available in
/classes/cs4811/common/2006-spring/hw05-planning/VHPOP-2.2 . All the
examples provided with the package are in the examples
directory.
FF is available in
/classes/cs4811/common/2006-spring/hw05-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/2006-spring/hw05-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, so make sure that you use a
Linux machine.
Extra 10 points
Make the planning problem increasingly more complex such that more
plan steps are required (e.g., add more locations). Comment on the
results in your report. Make sure to indicate if you choose to do this
part.