CS 289, Fall 2004
Assignment 2: Planning, due 11/5




This assignment to be done in pairs. As with assignment 1, it's a good idea to start early and find out what the problems are sooner rather than later.

This assignment deals with STRIPS planning problems. You will need to choose a representation for these. I recommend using the PDDL STRIPS subset. Look here for examples of STRIPS problems in PDDL, and here for the current PDDL language definition. I recommend using LISP for this assignment if you can. (LISP code for DPLL and CNF conversion, as well as some first-order operations on variables and bindings, is available here.)

1. Write a program for satisfiability-based planning. It should take a STRIPS domain and a problem and return an action sequence (not just a propositional model). You may choose any of the SAT encodings in AIMA2e Ch.11 or the related papers; you may use your SAT algorithm(s) from Assignment 1, the provided LISP code, or any available SAT solver.

2. Show that your system solves the two-plane, three-airport example.

3. Modify the domain description so that an aeroplane can fly from A to B only if B is reachable from A; furthermore, only two aeroplanes can be in any one airport at the same time. One aeroplane is at each of A1 through An and C1 through Cn; each airport in A1 through An and C1 through Cn is connected to all of the "hubs" B1 through Bm; and the goal has the aeroplanes at Ai and Ci switched for all i. Use your SAT planner to find the shortest solution for a variety of values of m and n and comment on the runtimes.

4. Discuss how you would translate the rules of Monopoly into a suitable logical formalism (e.g., STRIPS, ADL, situation calculus, etc.) to enable generation of legal actions and computation of outcome state descriptions. (Don't forget the Chance and Community Chest cards.) This question is deliberately open-ended -- a full solution would complete and implement the formalization (perhaps in Prolog).