6PP

Announcements
CS 188: Artificial Intelligence
ƒ New / changed office hours this week
Fall 2006
ƒ In particular Dan’s Wednesday office hours
moved to Friday 1
- 3
ƒ Extra lab time, see web page
Lecture 4: A* Search
9/5/2006
Dan Klein – UC Berkeley
Many slides over the course adapted from either Stuart
Russell or Andrew Moore
Today
Recap: Search
ƒ Search problems:
ƒ States, successors, costs, start and goal tests
ƒ A* Search
ƒ Search trees:
ƒ Heuristic Design
ƒ Nodes: represent paths, have costs
ƒ Strategies differing fringe management
ƒ Local Search
ƒ Tree vs. graph search
Best-First Search
Uniform Cost: Problems
ƒ Remember: explores
increasing cost contours
…
c≤1
c≤3
ƒ The good: UCS is
complete and optimal!
GOAL
a
2
c≤2
2
h=8
b
1
h=11
2
2
e
d
3
9
h=8
ƒ The bad:
h=12
1
1
p
1
5
f
9
h=4
h
4
h=11
Start
5
h=4
h=5
8
START
ƒ Explores options in every
“direction”
ƒ No information about goal
location
h=0
c
5
h=6
4
q
h=9
3
r
h=6
Goal
1
Best-First Search
Combining UCS and Greedy
ƒ A common case:
b
…
ƒ Best-first takes you straight
to the (wrong) goal
ƒ Uniform-cost orders by path cost, or backward cost g(n)
ƒ Best-first orders by goal proximity, or forward cost h(n)
5
ƒ Worst-case: like a badlyguided DFS in the worst
case
e
h=1
1
ƒ Can explore everything
ƒ Can get stuck in loops if no
cycle checking
S
b
1
1
h=6
…
b
ƒ Like DFS in completeness
(finite states w/ cycle
checking)
3
a
h=5
1
h=5
2
d
2
h=2
G
h=0
c
h=4
ƒ A* Search orders by the sum: f(n) = g(n) + h(n)
Example: Teg Grenager
When should A* terminate?
Is A* Optimal?
1
ƒ Should we stop when we enqueue a goal?
A
h=6
A
2
1
h=0
S
h=2
S
h=7
G
G
h=3
2
B
h=0
2
h=1
ƒ No: only stop when we dequeue a goal
Admissible Heuristics
ƒ A heuristic is admissible (optimistic) if:
where
3
is the true cost to a nearest goal
ƒ E.g. Euclidean distance on a map problem
ƒ Coming up with admissible heuristics is most of
what’s involved in using A* in practice.
5
ƒ What went wrong?
ƒ Actual bad goal cost > estimated good goal cost
ƒ We need estimates to be less than actual costs!
Optimality of A*: Blocking
This proof assumed
ƒ Proof: tree search! Where?
…
ƒ What could go wrong?
ƒ We’d have to have to pop
a suboptimal goal off the
fringe queue
ƒ This can’t happen:
ƒ Imagine a suboptimal goal
G’ is on the queue
ƒ Consider any unexpanded
(fringe) node n on a
shortest path to optimal G
ƒ n will be popped before G
2
Optimality of A*: Contours
ƒ Consider what A* does:
ƒ Expands nodes in increasing total f value (f-contours)
ƒ Proof idea: optimal goals have lower f value, so get
expanded first
Consistency
ƒ Wait, how do we know we expand in increasing f value?
ƒ Couldn’t we pop some node n, and find its child n’ to
have lower f value?
ƒ YES:
h=0 h=8
3
g = 10
B
G
A
h = 10
ƒ What do we need to do to fix this?
Holds for graph search as
well, but we made a different
assumption. What?
ƒ Consistency:
ƒ Real cost always exceeds reduction in heuristic
UCS vs A* Contours
Properties of A*
ƒ Uniform-cost expanded
in all directions
ƒ A* expands mainly
toward the goal, but
does hedge its bets to
ensure optimality
Uniform
Start
Goal
Start
Goal
Cost
A*
b
b
…
Admissible Heuristics
…
Example: 8-Puzzle
ƒ Most of the work is in coming up with admissible
heuristics
ƒ Good news: usually admissible heuristics are also
consistent
ƒ More good news: inadmissible heuristics are often quite
effective (especially when you have no choice)
ƒ Very common hack: use α x h(n) for admissible h, α > 1
to generate a faster but less optimal inadmissible h’
ƒ
ƒ
ƒ
ƒ
What are the states?
What are the actions?
What states can I reach from the start state?
What should the costs be?
3
8-Puzzle I
8-Puzzle II
ƒ Number of tiles
misplaced?
ƒ Why is it admissible?
Average nodes expanded when
optimal path has length…
ƒ h(start) = 8
…4 steps …8 steps …12 steps
ƒ This is a relaxed
problem heuristic
ID
112
6,300
3.6 x 106
TILES
13
39
227
ƒ What if we had an
easier 8-puzzle where
any tile could slide any
one direction at any
time?
ƒ Total Manhattan
distance
ƒ Why admissible?
ƒ How about using the actual cost as a
heuristic?
ƒ Would it be admissible?
ƒ Would we save on nodes?
ƒ What’s wrong with it?
ƒ With A*, trade-off between quality of
estimate and work per node!
3+1+2+…
= 18
ƒ
ƒ
ƒ
ƒ
Set of courses {c1, c2, … cn}
Set of room / times {r1, r2, … rn}
Each pairing (ck, rm) has a cost wkm
What’s the best assignment of courses to rooms?
ƒ States: list of pairings
ƒ Actions: add a legal pairing
ƒ Costs: cost of the new pairing
ƒ Admissible heuristics?
TILES
13
39
227
MANHATTAN
12
25
73
Trivial Heuristics, Dominance
ƒ Dominance:
ƒ Heuristics form a semi-lattice:
ƒ Max of admissible heuristics is admissible
ƒ Trivial heuristics
ƒ Bottom of lattice is the zero heuristic (what
does this give us?)
ƒ Top of lattice is the exact heuristic
Course Scheduling
ƒ From the university’s perspective:
…4 steps …8 steps …12 steps
ƒ h(start) =
8-Puzzle III
Average nodes expanded when
optimal path has length…
Other A* Applications
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
Pathing / routing problems
Resource planning problems
Robot motion planning
Language analysis
Machine translation
Speech recognition
…
ƒ (Who can think of a cs170 answer to this problem?)
4
Summary: A*
Local Search Methods
ƒ A* uses both backward costs and
(estimates of) forward costs
ƒ Queue-based algorithms keep fallback
options (backtracking)
ƒ A* is optimal with admissible heuristics
ƒ Local search: improve what you have until
you can’t make it better
ƒ Heuristic design is key: often use relaxed
problems
Example: N-Queens
ƒ Generally much more efficient (but
incomplete)
Types of Problems
ƒ Planning problems:
ƒ We want a path to a solution
(examples?)
ƒ Usually want an optimal path
ƒ Incremental formulations
ƒ Identification problems:
ƒ
ƒ
ƒ
ƒ
ƒ
What are the states?
What is the start?
What is the goal?
What are the actions?
What should the costs be?
ƒ We actually just want to know what
the goal is (examples?)
ƒ Usually want an optimal goal
ƒ Complete-state formulations
ƒ Iterative improvement algorithms
Example: N-Queens
Hill Climbing
ƒ Simple, general idea:
ƒ Start wherever
ƒ Always choose the best neighbor
ƒ If no neighbors have better scores than
current, quit
ƒ Why can this be a terrible idea?
ƒ Start wherever, move queens to reduce conflicts
ƒ Almost always solves large n-queens nearly instantly
ƒ How is this different from best-first search?
ƒ Complete?
ƒ Optimal?
ƒ What’s good about it?
5
Hill Climbing Diagram
Simulated Annealing
ƒ Idea: Escape local maxima by allowing downhill moves
ƒ But make them rarer as time goes on
ƒ Random restarts?
ƒ Random sideways steps?
Simulated Annealing
ƒ Theoretical guarantee:
ƒ Stationary distribution:
Beam Search
ƒ Like greedy search, but keep K states at all
times:
ƒ If T decreased slowly enough,
will converge to optimal state!
ƒ Is this an interesting guarantee?
ƒ Sounds like magic, but reality is reality:
ƒ The more downhill steps you need to escape, the less
likely you are to every make them all in a row
ƒ People think hard about ridge operators which let you
jump around the space in better ways
Greedy Search
ƒ
ƒ
ƒ
ƒ
Genetic Algorithms
ƒ Genetic algorithms use a natural selection metaphor
ƒ Like beam search (selection), but also have pairwise
crossover operators, with optional mutation
ƒ Probably the most misunderstood, misapplied (and even
maligned) technique around!
Beam Search
Variables: beam size, encourage diversity?
The best choice in MANY practical settings
Complete? Optimal?
Why do we still need optimal methods?
Example: N-Queens
ƒ
ƒ
ƒ
ƒ
Why does crossover make sense here?
When wouldn’t it make sense?
What would mutation be?
What would a good fitness function be?
6
Continuous Problems
ƒ Placing airports in Romania
ƒ States: (x1,y1,x2,y2,x3,y3)
ƒ Cost: sum of squared distances to closest city
Gradient Methods
ƒ How to deal with continous (therefore infinite)
state spaces?
ƒ Discretization: bucket ranges of values
ƒ E.g. force integral coordinates
ƒ Continuous optimization
ƒ E.g. gradient ascent
ƒ More on this next class…
Image from vias.org
7