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:

  1. Prepare food for winter: This involves picking three baskets of nuts that were gathered and putting them in underground storage.
  2. 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.
  3. 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 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:
  1. squirrel-domain.pddl : the domain file
  2. problem01.pddl : the problem file with G1 as the goal
  3. problem02.pddl : the problem file with G2 as the goal
  4. problem03.pddl : the problem file with G3 as the goal
  5. 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) 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.