# CS 1571: Homework 10

## Planning Algorithms (Chapter 11): Paper (100 pts)

Assigned: November 20, 2008 (by end of day)

Due: December 4, 2008

#### 1. Partial Order (50 pts)

Consider the following simple domain:

- Initial State: A, B, C
- Goal: C, D, E
- Operator O1 Preconditions: A; Add Effects: F; Delete Effects: C
- Operator O2 Preconditions: A; Add Effects: D; Delete Effects: B
- Operator O3 Preconditions: B; Add Effects: C
- Operator O4 Preconditions: F; Add Effects: D, E, G

  Trace in detail how a partial-order regression planner finds a plan for this problem. This means show the various partial-order plans together with their ordering constraints and causal links.

  To get full credit, you should first - in words - describe each step in your plan space search. For example:

- Step 0 The plan is created with only the start and goal states.
- Step 1 The planner selects for a subgoal the blah precondition from the goal state. It then chooses the blah operator to satisfy this subgoal. It places the following ordering constraints and causal links. Etc.

  In addition, you should create a corresponding diagram representing the partial plan for each state.Here's one suggested notation, similar to that used in class. Use a labelled square to represent an operator. Use letters above the squares for preconditions and letters below for effects. Use single width arrow lines for ordering constraints, and double width arrow lines for causal links. (As discussed in class, not all ordering constraints need to be shown in the graph as causal links are assumed to be accompanied by a similar ordering constraint).

  #### 2. STRIPS (50 pts)

  Assume a blocks world with the STRIPS operator Move(x,y,z) defined as follows:

- Preconditions: On(x,y), Clear(x), Clear(z)
- Add list: On(x,z), Clear(y)
- Delete list: On(x,y), Clear(z)

  The initial state is

- ON(A,Table), ON(B,Table), ON(C,Table), Clear(A), Clear(B), Clear(C), Clear(Table)

  The goal condition is:

- ON(A,B), On(B,C)

  (a) Draw the full search tree in a state-space search (assume no repeated states). Give each state a unique number. For full credit, be sure to show the list of predicates (or the equivalent graphical representation of the blocks) for each state, and explicitly label the actions that get you from one state to another (as in Figure 11.5).

  (b) Assume you want to use a forward heuristic search to explore this space, using the following evaluation function:

- f(s) = g(s) + h(s), where g(s) is the length of the path from the initial state and the heuristic h(s) is the number of subgoals of the goal state that remain to be satisfied.

  List the states in the order they would be visited, using your numbering from part (a). (Pick randomly in case of ties for f.)