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:
  1. 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.
  2. 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.
  3. 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 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:
  1. rover-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 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.