You will define a simple planning domain and run the Blackbox
planner. The Blackbox planner is available from here.
Martin Michalowski compiled Blackbox for MacOS X. You can get it here. This should appear soon in
the Blackbox download page.
The domain we will define is a simple trucking domain, which has
three types of objects: trucks, cities and packages. Trucks are used
to transport packages from one city to another. Define a Blackbox
domain with three operators: "drive", "load" and "unload". A truck can
go directly from any city to any other city with a "drive"
operator. Each truck can transport just one package at a time from one
city to another. To load a package in a truck, the truck must be empty
and the truck and package must both be at the same city. When you
unload a package from a truck, it becomes empty again.
- Define this planning domain in Blackbox.
- Test your domain on a simple problem that requires moving a
package from one location to another. Make sure that the package is
not in two cities at the same time.
- Turn in a print out of your domain, initial state, goal state,
and trace of a successful run.
- Test your domain on problems that require moving 1, 5 and 10
packages from one location to another. Use the statistics reported
by Blackbox to see how long the planner takes for each of these
problems. What if you also increase the number of cities?
- Remove the restriction that a truck can only transport one
package at a time. How does it affect Blackbox's performance for the
different numbers of packages?
- Turn in a description of the behavior of Blackbox when you
increase the number of packages, cities, and trucks (assume no more
than 5 trucks).
Hints:
- The language that Blackbox accepts is PDDL. The best way to
understand the language is look at the Examples directory in the
Blackbox distribution. There are several versions of PDDL with
increasing expresive power:
PDDL 1.2,
PDDL 2.1 (the
latest version). You probably don't need to look at those specs for
this homework. You can consult a couple of tutorial pages:
PDDL
examples (from Manuela Veloso), and
writing PDDL (from Patrick Doherty).
Send the results in electronic form to ambite@isi.edu
Back to CS541 Home page