SLIDE 1 Heuristic Search
Robert Platt Northeastern University Some images and slides are used from:
- 1. CS188 UC Berkeley
- 2. RN, AIMA
SLIDE 2
Recap: What is graph search?
Graph search: find a path from start to goal – what are the states? – what are the actions (transitions)? – how is this a graph? Start state Goal state
SLIDE 3
Recap: What is graph search?
Graph search: find a path from start to goal – what are the states? – what are the actions (transitions)? – how is this a graph? Start state Goal state
SLIDE 4 Recap: BFS/UCS
Image: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 5 Recap: BFS/UCS
Image: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
Start Goal
It's like this Notice that we search equally far in all directions...
SLIDE 6
Idea
Is it possible to use additional information to decide which direction to search in?
SLIDE 7
Idea
Is it possible to use additional information to decide which direction to search in?
Yes!
Instead of searching in all directions, let's bias search in the direction of the goal.
SLIDE 8 Example
Stright-line distances to Bucharest
SLIDE 9 Example
Start state Goal state
Expand states in order of their distance to the goal – for each state that you put on the fringe: calculate straight-line distance to the goal – expand the state on the fringe closest to the goal
SLIDE 10 Example
Start state Goal state
Expand states in order of their distance to the goal – for each state that you put on the fringe: calculate straight-line distance to the goal – expand the state on the fringe closest to the goal
Heuristic: Greedy search
SLIDE 11 Greedy Search
Image: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 12
Greedy Search
Each time you expand a state, calculate the heuristic for each of the states that you add to the fringe. – heuristic: – on each step, choose to expand the state with the lowest heuristic value. i.e. distance to Bucharest
SLIDE 13
Greedy Search
Each time you expand a state, calculate the heuristic for each of the states that you add to the fringe. – heuristic: – on each step, choose to expand the state with the lowest heuristic value. i.e. distance to Bucharest
This is like a guess about how far the state is from the goal
SLIDE 14
Example: Greedy Search
SLIDE 15
Example: Greedy Search
SLIDE 16
Example: Greedy Search
SLIDE 17
Example: Greedy Search
Path: A-S-F-B
SLIDE 18
Example: Greedy Search
Notice that this is not the optimal path! Path: A-S-F-B
SLIDE 19
Example: Greedy Search
Notice that this is not the optimal path! Path: A-S-F-B
Greedy Search: – Not optimal – Not complete – But, it can be very fast
SLIDE 20
Greedy vs UCS
Greedy Search: – Not optimal – Not complete – But, it can be very fast UCS: – Optimal – Complete – Usually very slow
SLIDE 21
Greedy vs UCS
Greedy Search: – Not optimal – Not complete – But, it can be very fast UCS: – Optimal – Complete – Usually very slow Can we combine greedy and UCS???
SLIDE 22
Greedy vs UCS
Greedy Search: – Not optimal – Not complete – But, it can be very fast UCS: – Optimal – Complete – Usually very slow Can we combine greedy and UCS??? YES: A*
SLIDE 23 Greedy vs UCS
UCS
Image: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 24 Greedy vs UCS
UCS Greedy
Image: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 25 Greedy vs UCS
UCS Greedy A*
Image: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 26 A*
Image: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 27
A*
: a state : minimum cost from start to : heuristic at (i.e. an estimate of remaining cost-to-go) UCS: expand states in order of Greedy: expand states in order of A*: expand states in order of
SLIDE 28
A*
: a state : minimum cost from start to : heuristic at (i.e. an estimate of remaining cost-to-go) UCS: expand states in order of Greedy: expand states in order of A*: expand states in order of
What is “cost-to-go”?
SLIDE 29
A*
: a state : minimum cost from start to : heuristic at (i.e. an estimate of remaining cost-to-go) UCS: expand states in order of Greedy: expand states in order of A*: expand states in order of
What is “cost-to-go”? – minimum cost required to reach a goal state
SLIDE 30 A*
Slide: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
S a d b G
h=5 h=6 h=2
1 8 1 1 2
h=6 h=0
c
h=7
3 e
h=1
1 S a b c e d d G G
g = 0 h=6 g = 1 h=5 g = 2 h=6 g = 3 h=7 g = 4 h=2 g = 6 h=0 g = 9 h=1 g = 10 h=2 g = 12 h=0
A*: expand states in order of
SLIDE 31 When should A* terminate?
Slide: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
S B A G 2 3 2 2
h = 1 h = 2 h = 0 h = 3
Should we stop when we enqueue a goal? No: only stop when we dequeue a goal
SLIDE 32 Is A* optimal?
A G S 1 3
h = 6 h = 0
5
h = 7
What went wrong? Actual cost-to-go < heuristic The heuristic must be less than the actual cost-to-go!
Slide: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 33 When is A* optimal?
It depends on whether we are using the tree search
- r the graph search version of the algorithm.
Recall: – in tree search, we do not track the explored set – in graph search, we do
SLIDE 34
Recall: Breadth first search (BFS)
What is the purpose of the explored set?
SLIDE 35 When is A* optimal?
It depends on whether we are using the tree search
- r the graph search version of the algorithm.
Optimal if h is admissible Optimal if h is consistent
SLIDE 36 When is A* optimal?
It depends on whether we are using the tree search
- r the graph search version of the algorithm.
Optimal if h is admissible – h(s) is an underestimate
Optimal if h is consistent – h(s) is an underestimate
SLIDE 37 When is A* optimal?
It depends on whether we are using the tree search
- r the graph search version of the algorithm.
Optimal if h is admissible – h(s) is an underestimate
Optimal if h is consistent – h(s) is an underestimate
What is “cost-to-go”? – minimum cost required to reach a goal state
SLIDE 38 When is A* optimal?
It depends on whether we are using the tree search
- r the graph search version of the algorithm.
Optimal if h is admissible – h(s) is an underestimate
Optimal if h is consistent – h(s) is an underestimate
More on this later...
SLIDE 39 Admissibility: Example
Stright-line distances to Bucharest
h(s) = straight-line distance to goal state (Bucharest)
SLIDE 40 Admissibility
Stright-line distances to Bucharest
h(s) = straight-line distance to goal state (Bucharest) Is this heuristic admissible???
SLIDE 41 Admissibility
Stright-line distances to Bucharest
h(s) = straight-line distance to goal state (Bucharest) Is this heuristic admissible??? YES! Why?
SLIDE 42
Admissibility: Example
h(s) = ?
Start state Goal state
Can you think of an admissible heuristic for this problem?
SLIDE 43 Admissibility
Why isn't this heuristic admissible?
A G S 1 3
h = 6 h = 0
5
h = 7
Slide: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 44 Consistency
What went wrong?
Slide: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
S A B C G
1 1 1 2 3 h=2 h=1 h=4 h=1 h=0
S (0+2) A (1+4) B (1+1) C (2+1) G (5+0) C (3+1) G (6+0)
State space graph Search tree
SLIDE 45
Consistency
Cost of going from s to s'
s s'
SLIDE 46
Consistency
Rearrange terms
SLIDE 47
Consistency
Cost of going from s to s' implied by heuristic Actual cost of going from s to s'
SLIDE 48
Consistency
Cost of going from s to s' implied by heuristic Actual cost of going from s to s'
SLIDE 49
Consistency
Consistency implies that the “f-cost” never decreases along any path to a goal state. – the optimal path gives a goal state its lowest f-cost. A* expands states in order of their f-cost. Given any goal state, A* expands states that reach the goal state optimally before expanding states the reach the goal state suboptimally.
SLIDE 50
Consistency implies admissibility
Suppose: Then:
SLIDE 51
Consistency implies admissibility
Suppose: Then:
SLIDE 52
Consistency implies admissibility
Suppose: Then: admissible
SLIDE 53
Consistency implies admissibility
Suppose: Then:
SLIDE 54
Consistency implies admissibility
Suppose: Then: admissible
SLIDE 55
Consistency implies admissibility
Suppose: Then: admissible admissible
SLIDE 56
Consistency implies admissibility
Suppose: Then:
SLIDE 57 A* vs UCS
equally in all “directions”
toward the goal, but does hedge its bets to ensure
Start Goal Start Goal
Slide: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
SLIDE 58 A* vs UCS
Slide: Adapted from Berkeley CS188 course notes (downloaded Summer 2015)
Greedy UCS A*
SLIDE 59
Choosing a heuristic
The right heuristic is often problem-specific. But it is very important to select a good heuristic!
SLIDE 60
Choosing a heuristic
How much better is ?
Consider the 8-puzzle: : number of misplaced tiles : sum of manhattan distances between each tile and its goal.
SLIDE 61
Choosing a heuristic
Consider the 8-puzzle: : number of misplaced tiles : sum of manhattan distances between each tile and its goal. Average # states expanded on a random depth-24 puzzle:
(by depth 12)
SLIDE 62
Choosing a heuristic
Consider the 8-puzzle: : number of misplaced tiles : sum of manhattan distances between each tile and its goal. Average # states expanded on a random depth-24 puzzle:
(by depth 12)
So, getting the heuristic right can speed things up by multiple orders of magnitude!
SLIDE 63
Choosing a heuristic
Consider the 8-puzzle: : number of misplaced tiles : sum of manhattan distances between each tile and its goal. Why not use the actual cost to goal as a heuristic?
SLIDE 64
How to choose a heuristic?
Nobody has an answer that always works. A couple of best-practices: – solve a relaxed version of the problem – solve a subproblem