Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | sebastian-camacho |
View: | 25 times |
Download: | 0 times |
Informed Search
Reading: Chapter 4.5
HW #1 out today, due Sept 26th
2
Pending Questions
• The state space for the word problem: Isn’t it all permutations of the letters, not the power set?
• Yes
3
Agenda
• Introduction of heuristic search
• Greedy search
• Examples: 8 puzzle, word puzzle
• A* search– Algorithm, admissable heuristics, optimality
• Heuristics for other problems
• Beginning of online search if time
4
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
5
0 1 2
3 4 5
6 7
6
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
7
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
8
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
9
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
10
Greedy search
• Evaluation function = heuristic function
• Expand the node that appears to be closest to the goal
11
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
12
0 1 2
3 4 5
6 7
13
Fill-In Station
14
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
15
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?
16
Solution to 2nd puzzle
A P E
I L K
L Y E
17
How does heuristic help us get there?
18
19
Analysis of Greedy Search
• Like depth-first
• Not Optimal
• Complete if space is finite
20
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
21
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
22
0 1 2
3 4 5
6 7
23
24
25
26
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’)
27
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?
28
29
30
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.
31
Heuristics for other problems
• Shortest path from one city to another• Straight line distance
• Touring problem: visit every city exactly once
• Challenge: What is an admissable heuristic for the word problem?
32
End of Class Questions
33
Online Search
• Agent operates by interleaving computation and action
• No time for thinking
• The agent only knows• Actions (s)• The step-cost function c(s,a,s’)• Goal-text (s)
• Cannot access the successors of a state without trying all actions
34
Assumptions
• Agent recognizes a state it has seen before
• Actions are deterministic
• Admissable heuristics• Competitive ratio: Compare cost that agent
actually travels with cost of the actual shortest path
35
What properties of search are desirable?
• Will A* work?
• Expand nodes in a local order• Depth first• Variant of greedy search
• Difference from offline search:• Agent must physically backtrack• Record states to which agent can backtrack and has not yet
explored
36
Depth-first
• 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• Put remaining successors on left end of OPEN
• End while
37
Online DFS - setup
• Inputs: s’, a percept that identifies the current state
Static: • result, a table indexed by action and state,
initially empty• unexplored: a table that lists, for each visited
state, the actions not yet tried• unbacktracked: a table that lists, for each visited
state, the backtracks not yet tried• s,a: the previous state and action, initially null
38
Online DFS – the algorithm
• If Goal-test(s’) then return stop• If s’ is a new state then unexplored[s’] actions(s’)• If s is not null then do
– result[a,s]s’– Add s to the front of unbacktracked[s’]
• If unexplored[s’] is empty– Then return stop– Else a action b such that
result[b,s’]=pop(unbacktracked[s’])• Else apop(unexplored[s’])• s s’• Return a
39
Homework