Informed Search Reading: Chapter 4.5 Agenda Introduction of heuristic search Greedy search Examples: 8 puzzle, word puzzle A* search Algorithm, admissable heuristics, optimality Heuristics for other problems Homework 2 8-puzzle URLS http://www.permadi.com/java/puzzle8 http://www.cs.rmit.edu.au/AISearch/Product 3 4 Breadth first Algorithm 5 6 7 8 9 Depth-first Algorithm 10 11 12 13 14 15 16 17 18 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 19 0 1 2 3 4 5 6 7 20 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 21 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 22 2 3 4 5 6 7 2 5 5 3 1 7 7 6 1 2 3 4 h1=1 h2=1 1 0 0 6 0 Goal State 4 h1=5 h2=1+1+1+2+2=7 23 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 24 Greedy search Evaluation function = heuristic function Expand the node that appears to be closest to the goal 25 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 26 8-puzzle URLS http://www.permadi.com/java/puzzle8 http://www.cs.rmit.edu.au/AISearch/Product 27 Sodoku 28 29 Analysis of Greedy Search Like depth-first Not Optimal Complete if space is finite 30 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 31 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 32 8-puzzle URLS http://www.permadi.com/java/puzzle8 http://www.cs.rmit.edu.au/AISearch/Product 33 34 35 36 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’) 37 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? 38 39 40 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. 41 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? 42 End of Class Questions 43 Homework 44 Homework 45 Fill-In Station 46 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 47 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? 48 How does heuristic help us get there? 49