Monday Oct 6

- planning with A*

 

WHITEBOARD: WRITE

 

1. Rubik's cube         10

2. STRIPS planning     10

3. Assignment           10

4. Deriving heuristics      10

 

DISCUSSION: representing Rubik's cube

 

Possible approach: position and orientation of each cubit.

Corner cubit: 8 positions, 3 orientations

Edge cubit: 8 positions, 2 orientations

Center cubit: 1 position - fixed

 

heuristic functions:

1. # cubits out of place (wrong color on at least one side) / 8

    - must divide up 8 so is admissible

 

consistent = monotonic =>    h(n) <= c(n,n') + h(n')

 

WANT TO KNOW IF

 

h(n) - h(n') <= c(n,n') = 1

 

(change in # out of place) / 8 <= 1

 

CLEARLY TRUE!  PROBLEM: TOO OPTIMISTIC BECAUSE OF DIVIDE BY 8

 

Better: 

 

MAX( Sum ( Manhattan distance edge cubies ) / 4,

     Sum ( Manhattan distance corner cubies ) / 4 )

 

USED BY KORF 1997 - TOGETHER WITH PRE-COMPUTING HEURISTIC

 

CLASS HANDS IN ASSIGNMENT

 

********************************************************

 

1. LECTURE: STRIPS planning and A* heuristics

 

WHITEBOARD

 

PLANNING

 

[[ Many kinds of planning involved in intelligent behavior.

[[ We begin with

[[ the classic planning problem:

 

(States, Actions, initial state, goal(s))

 

Solution: (shortest) sequence of actions that transforms initial state into a goal state

             ^

           optional

 

State = set of true propositions

examples:    raining, Henry_teaching_473, Henry_jetlagged

 

proposition = Boolean (true / false) variable

 

[[ we often want to talk about sets of related propositions.

[[   we do this by writing a proposition as a list:

 

PREDICATE    ARGUMENTS

   |     |

   v     v

(teaching Henry 473) 

(holding block77)

 

[[ This is sometimes called LISP notation.

 

[[ Actions described by its preconditions and effects:

 

ACTION (fly amsterdam seattle)

precondition: (in amsterdam), (have_ticket amsterdam seattle)

makes true: (in seattle)

makes false: (in amsterdam), (have_ticket amsterdam seattle)

 

[[ We can represent a large set of actions by a SCHEMA:

[[   change constants to X, Y

 

[[ Because we represent a state by everything that is true in the

[[ state, making a proposition true just means adding to the set, and

[[ making it false means deleting it from the set.

 

[[ The GOAL specifies what must be true in the goal state.

[[ It may or may not be a complete state description.

[[ Why not complete?

 

Add effect: jetlagged

 

DISCUSS:

 

What assumptions does STRIPS make about the world?

 

[[ deterministic actions; completely observable state; only planner affects

world; actions are all the same cost ]]

 

*********************************************************

 

3. HAND OUT ASSIGNMENTS.  DISCUSS!

 

********************************************************

 

 

 

4. WHITEBOARD:

 

Deriving A* Heuristics

 

(1) Number of goal propositions not true

 

MAY NOT BE ADMISSIBLE!

 

(1') Number of goal propositions / (max # ``makes true'' effects)

 

VERY OPTIMISTIC - WEAK LOWER BOUND

 

(2) Length of solution to relaxed problem: no preconditions on actions

 

DISCUSS: WHAT ALGORITHM SOLVES?  SUBSET COVER.  WHY OKAY?  SMALL; CAN USE APPROXIMATION

 

(3) Length of solution to relaxed problem: no makes-false effects

  

DISCUSS: WHAT ALGORITHM?  A* SEARCH WITH HEURISTIC #1 OR #2

WHY IS EASIER?  SUSSMAN ANOMOLY:

 

               A

  C            B

B A    ==>     C

 

CANNOT ACHIEVE GOALS INDEPENDENTLY!

 

NEXT CLASS: WHAT MAKES PLANNING HARD!