University of Washington
Department of Computer Science and Engineering

CSE473–Introduction to Artificial Intelligence

Winter 1998

 

Problem Set #3

Assigned February 9, 1998

Due February 23, 1998

 

Planning: UCPOP and Graphplan

 

Here's the Truckworld scenario for this assignment, much like the one for Problem Set 2:

 

Here is more detail about the world:

 

  1. There is no refueling to worry about in this assignment.
  2. The cargo bays and the box can hold an unlimited number of objects.
  3. Carrying the glass in a cargo bay and moving the truck will break the glass unless it is contained in a box.
  4. Exploding a bomb at a location breaks everything at that location. Exploding a bomb in the truck breaks everything in the truck (unless it is in a box in the truck). Exploding in a bomb that is in a box breaks everything in that box. The truck cannot be broken, and being broken does not affect a box's ability to hold items.

 

Keep in mind that in this assignment we are just planning, and not executing. Therefore the positions of objects don't matter.

 


Part I: UCPOP

 

First transform the following goals into UCPOP axioms. I have annotated each one with how much luck I had trying to solve it (in UCPOP). I don't expect you to get them all, especially the ones I couldn't! You should define these goals in the file common.lsp.

 

;;; Trivial

Glass-2 is at A

 

;;; Almost trivial

Garbage-1 has been recycled

 

;;; Easy

Glass-1 is broken

 

;;; Almost trvial

Glass-1 and garbage-1 have both been recycled

 

;;; Can be nasty if you're not careful, but easy if you are

Glass-2 and garbage-1 have both been recycled

 

;;; Pretty easy

Glass-1 and glass-2 are both broken

 

;;; Easy if you order things right!

Glass-2 has been recycled

 

;;; Ditto

Glass-1, glass-2, and rock-1 have been recycled

 

;;; Surprisingly easy

The bomb (bomb-1) has been exploded, but glass-2 is not broken

 

;;; Pretty easy

Glass-1 and rock-1 are broken, but glass-2 is not

 

;;; Easy

All the glass is at B

 

;;; Solve these in sequence....

  1. The truck is at C
  2. The truck is at C, and glass-1 is in the truck
  3. The truck is at C and so is glass-1
  4. Glass-1 is in the box (box-1)

 

;;; I couldn't solve this one, but I kept thinking I could...

Glass-1 and rock-1 are both in the box

 

;;; Forget about it! Laughably hard!

Glass-1 is at B and is unbroken

 

 

Next, write UCPOP axioms for the operators (e.g. travel, load into truck, put into box, explode bomb), and build the initial conditions. Then try to use UCPOP to solve the goals.

 

Here are some tips on how to approach the problem.

 

 

A framework to get you started and some hints on how to build the cheats are in the file my_ucpop.lsp in the ps3 directory. Also note the ucpop\domains subdirectory, which will give you plenty of examples on how to define operators, problems, and domains.

 


PART II: GraphPlan

 

Now convert the domain and problems to GraphPlan. A framework for your GraphPlan domain is in my_gplan.lsp in the ps3 directory. Try it on a number of problems, including the UCPOP ones. Comment on the following, or on anything else you found interesting in the process of converting and testing.

 

Final note:

Look in the file "readme.txt" in the ps3 directory to get started. It should help explain what's going on.