Lecture 3 - Informed Search
Lecture 3 - Informed Search
Informed Search
Heuristics
Greedy Search
A* Search
Graph Search
Recap: Search
Recap: Search
Search problem:
States (configurations of the world)
Actions and costs
Successor function (world dynamics)
Start state and goal test
Search tree:
Nodes: represent plans for reaching states
Plans have costs (sum of action costs)
Search algorithm:
Systematically builds a search tree
Chooses an ordering of the fringe (unexplored nodes)
Optimal: finds least-cost plans
Example: Pancake Problem
4
2 3
2
3
4
3
4 2
3 2
2
4
3
General Tree Search
The bad:
Explores options in every “direction”
No information about goal location Start Goal
Video of Demo Contours UCS Empty
Video of Demo Contours UCS Pacman Small Maze
Informed Search
Informed Search
A heuristic is:
A function that estimates how close a
state is to a goal
Designed for a particular search problem
Search Heuristics
A heuristic is:
Examples: Manhattan distance, Euclidean distance for pathing
Manhattan distance, also known as taxicab distance or city block distance, is a measure of the
distance between two points in a grid-based space, like a city grid where you can only travel along
the streets.
Euclidean distance is a measure of the straight-line distance between two points in Euclidean space.
10
5
11.2
Example: Heuristic Function
h(x)
Example: Heuristic Function
Heuristic: the number of the largest pancake that is still out of place
3
4
h(x)
3
4
3 0
4
4 3
4
4 2
3
Greedy Search
Greedy Search
h(x)
Greedy Search
Expand the node that seems closest…
A common case:
Best-first takes you straight to the (wrong) goal b
…
Uniform-Cost A*
b b
… …
A* Search
UCS Greedy
A*
Combining UCS and Greedy
Uniform-cost orders by path cost, or backward cost g(n)
Greedy orders by goal proximity, or forward cost h(n)
8 g=0
S h=6
h=1 g=1
e a
1 h=5
1 3 2 g=2 g=9
S a d G
h=6 b d g=4 e h=1
h=6 h=5 h=2
1 h=2 h=0
1 g=3 g=6
c b g = 10
h=7 c G h=0 d
h=2
h=7 h=6
g = 12
A* Search orders by the sum: f(n) = g(n) + h(n) G h=0
2 A 2
S h=3 h=0 G
2 B 3
h=1
1 A 3
S h=7
G h=0
366
15
Examples:
4
15
Claim:
A will exit the fringe before B
Optimality of A* Tree Search: Blocking
Proof:
…
Imagine B is on the fringe
Some ancestor n of A is on the
fringe, too (maybe A!)
Claim: n will be expanded before B
1. f(n) is less or equal to f(A)
Definition of f-cost
Admissibility of h
h = 0 at a goal
Optimality of A* Tree Search: Blocking
Proof:
…
Imagine B is on the fringe
Some ancestor n of A is on the
fringe, too (maybe A!)
Claim: n will be expanded before B
1. f(n) is less or equal to f(A)
2. f(A) is less than f(B)
B is suboptimal
h = 0 at a goal
Optimality of A* Tree Search: Blocking
Proof:
…
Imagine B is on the fringe
Some ancestor n of A is on the
fringe, too (maybe A!)
Claim: n will be expanded before B
1. f(n) is less or equal to f(A)
2. f(A) is less than f(B)
3. n expands before B
All ancestors of A expand before B
A expands before B
A* search is optimal
Example: 8 Puzzle
With A*: a trade-off between quality of estimate and work per node
As heuristics get closer to the true cost, you will expand fewer nodes but usually
do more work per node to compute the heuristic itself
Graph Search
Tree Search: Extra Work!
Failure to detect repeated states can cause exponentially more work.
d e p
b c e h r q
a a h r p q f
p q f q c G
q c G a
a
Graph Search
A S (0+2)
1
1
S h=4
C
h=1 A (1+4) B (1+1)
h=2 1
2
3 C (2+1) C (3+1)
B
h=1
G (5+0) G (6+0)
G
h=0
Consistency of Heuristics
Main idea: estimated heuristic costs ≤ actual costs
Tree searches don't revisit nodes, so even if the heuristic underestimates the cost
a little, A* can still explore the correct path eventually.
Graph search:
A* optimal if heuristic is consistent (admissible and the estimated
cost never decreases along a path)
UCS optimal (h = 0 is consistent)