Homework Five
out Thursday 11/09, due Tuesday 11/21
This homework assignment was taken from Jim Blythe of ISI at
the University of Southern
California. Here's
the original assignment.
You will define a simple planning domain and run the
Blackbox
planner. The Blackbox planner is available
from here.
There are binaries for Linux, Mac, and Windows, but the Windows
binary require Cygwin.
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.
- To get the Examples directory, you may have to
download the source code (i.e., not the binary) distribution of
BlackBox. When you unzip the file, you'll see a directory named
Examples.
- To run blackbox use a command such
as: blackbox -o myDomain.pddl -f
myProblemDescriptor.pddl, where myDomain.pddl contains
the description of the problem domain (names and argument lists of
predicates, as well as
constants). The myProblemDescriptor.pddl file defines the
particular planning problem that should be solved within the specified
domain.
- Follow the advice of the blackbox page and, after downloading the
Examples directory, try (from the command line):
cd Examples/logistics-strips
blackbox -o domain.pddl -f prob004-log-a.pddl
What to turn in: Submit a single file to
your
Homework 5 repository (either ASCII text or PDF) with all of the output
requested above.
|