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!