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 (h 1 ) Manhattan distance (h 2 ) Sum of the distance of each tile from its goal position Tiles can only move up or down city blocks
23 012 345 67 012 345 67 025 317 64 Goal State h 1 =1 h 2 =1 h 1 =5 h 2 =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
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
37 Admissable heuristics A heuristic that never overestimates the cost to the goal h 1 and h 2 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 h 2 dominates h 1 if h 2 >= h 1 for every node n Intuitively, if both are underestimates, then h 2 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?
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 h 1 gives the shortest solution If the rules are relaxed so that a tile can move to any adjacent square, then h 2 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?
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 3 rd in a row, is it a word? Goal test?