Informed Search
Reading: Chapter 4.5
2
Agenda
Introduction of heuristic search Greedy search Examples: 8 puzzle, word puzzle A* search
Algorithm, admissable heuristics, optimality
Heuristics for other problems Homework
3
8-puzzle URLS
http://www.permadi.com/java/puzzle8
http://www.cs.rmit.edu.au/AI-Search/Product
4
5
Breadth first Algorithm
6
7
8
9
10
Depth-first Algorithm
11
12
13
14
15
16
17
18
19
Heuristics
Suppose 8-puzzle off by one
Is there a way to choose the best move next?
Good news: Yes! We can use domain knowledge or
heuristic to choose the best move
20
0 1 2
3 4 5
6 7
21
Nature of heuristics
Domain knowledge: some knowledge about the game, the problem to choose
Heuristic: a guess about which is best, not exact
Heuristic function, h(n): estimate the distance from current node to goal
22
Heuristic for the 8-puzzle
# tiles out of place (h1)
Manhattan distance (h2) Sum of the distance of each tile from its
goal position Tiles can only move up or down city
blocks
23
0 1 2
3 4 5
6 7
0 1 2
3 4 5
6 7
0 2 5
3 1 7
6 4
Goal State
h1=1h2=1
h1=5h2=1+1+1+2+2=7
24
Best first searches
A class of search functions Choose the “best” node to expand
next Use an evaluation function for each
node Estimate of desirability
Implementation: sort fringe, open in order of desirability
Today: greedy search, A* search
25
Greedy search
Evaluation function = heuristic function
Expand the node that appears to be closest to the goal
26
Greedy Search OPEN = start node; CLOSED = empty While OPEN is not empty do
Remove leftmost state from OPEN, call it X
If X = goal state, return success Put X on CLOSED
SUCCESSORS = Successor function (X) Remove any successors on OPEN or CLOSED Compute f=heuristic function for each node Put remaining successors on either end of OPEN Sort nodes on OPEN by value of heuristic function
End while
27
8-puzzle URLS
http://www.permadi.com/java/puzzle8
http://www.cs.rmit.edu.au/AI-Search/Product
28
Sodoku
29
30
Analysis of Greedy Search
Like depth-first
Not Optimal
Complete if space is finite
31
A* Search
Try to expand node that is on least cost path to goal Evaluation function = f(n)
f(n)=g(n)+h(n) h(n) is heuristic function: cost from node to goal g(n) is cost from initial state to node
f(n) is the estimated cost of cheapest solution that passes through n
If h(n) is an underestimate of true cost to goal A* is complete A* is optimal A* is optimally efficient: no other algorithm using h(n) is
guaranteed to expand fewer states
32
A* Search OPEN = start node; CLOSED = empty While OPEN is not empty do
Remove leftmost state from OPEN, call it X
If X = goal state, return success Put X on CLOSED
SUCCESSORS = Successor function (X) Remove any successors on OPEN or CLOSED Compute f(n)= g(n) + h(n) Put remaining successors on either end of OPEN Sort nodes on OPEN by value of heuristic function
End while
33
8-puzzle URLS
http://www.permadi.com/java/puzzle8
http://www.cs.rmit.edu.au/AI-Search/Product
34
35
36
37
Admissable heuristics
A heuristic that never overestimates the cost to the goal
h1 and h2 for the 8 puzzle are admissable heuristics
Consistency: the estimated cost of reaching the goal from n is no greater than the step cost of getting to n’ plus estimated cost to goal from n’
h(n) <=c(n,a,n’)+h(n’)
38
Which heuristic is better?
Better means that fewer nodes will be expanded in searches
h2 dominates h1 if h2 >= h1 for every node n
Intuitively, if both are underestimates, then h2 is more accurate
Using a more informed heuristic is guaranteed to expand fewer nodes of the search space
Which heuristic is better for the 8-puzzle?
39
40
41
Relaxed Problems
Admissable heuristics can be derived from the exact solution cost of a relaxed version of the problem
If the rules of the 8-puzzle are relaxed so that a tile can move anywhere, then h1 gives the shortest solution
If the rules are relaxed so that a tile can move to any adjacent square, then h2 gives the shortest solution
Key: the optimal solution cost of a relaxed problem is no greater than the optimal solution cost of the real problem.
42
Heuristics for other problems
Problems
Shortest path from one city to another
Touring problem: visit every city exactly once
Challenge: Is there an admissable heuristic for sodoku?
43
End of Class Questions
44
Homework
45
Homework
46
Fill-In Station
47
Language Models
Knowledge about what letters in words are most frequent
Based on a sample of language What is the probability that A is the first letter Having seen A, what do we predict is the next
letter?
Tune our language model to a situation 3 letter words only Medical vocabulary Newspaper text
48
Formulation
Left-right, top-down as path
Choose a letter at a time
Heuristic: Based on language model Cost of choosing letter A first = 1 – probability of A
next Subtract subsequent probabilities
Successor function: Choose next best letter, if 3rd in a row, is it a word?
Goal test?
49
How does heuristic help us get there?