Download presentation
Presentation is loading. Please wait.
Published byRachel Wilson Modified over 9 years ago
1
Informed Search and Heuristics Chapter 3.5~7
2
Outline Best-first search Greedy best-first search A * search Heuristics
3
Review: Tree Search A search strategy is defined by picking the order of node expansion function TREE-SEARCH(problem, fringe) return a solution or failure fringe INSERT(MAKE-NODE(INITIAL-STATE[problem]), fringe) loop do if EMPTY?(fringe) then return failure node REMOVE-FIRST(fringe) if GOAL-TEST[problem] applied to STATE[node] succeeds then return SOLUTION(node) fringe INSERT-ALL(EXPAND(node, problem), fringe)
4
Best-First Search Idea: use an evaluation function f(n) for each node –estimate of "desirability" Expand most desirable unexpanded node Implementation: Order the nodes in fringe in decreasing order of desirability Special cases: –greedy best-first search –A * search
5
GreedyBFS A*
6
Greedy Best-First Search Evaluation function f(n) = h(n) (heuristic) = estimate of cost from n to goal e.g., h SLD (n) = straight-line distance from n to Bucharest Greedy best-first search expands the node that appears to be closest to goal
7
Greedy Best-First Search Example Arad SibiuTimisoaraZerind 366 AradFagarasOradea Sibiu Rimnicu Vicea Bucharest 253329374 176366380193 2530
8
Properties of Greedy Best-First Search Complete? No –can get stuck in loops, e.g., Iasi Neamt Iasi Neamt … Time? O(b m ) –but a good heuristic can give dramatic improvement Space? O(b m ) –keeps all nodes in memory Optimal? No
9
A * search Idea: avoid expanding paths that are already expensive Evaluation function f(n) = g(n) + h(n) –g(n) = cost so far to reach n –h(n) = estimated cost from n to goal –f(n) = estimated total cost of path through n to goal
10
A * Search Example Arad SibiuTimisoaraZerind AradFagarasOradea Sibiu Rimnicu Vicea PitestiBucharestCraiovaSibiu Rimniou ViceaBucharestCraiova 393=140+253447=118+329449=75+374 366=0+366 646=280+366415=239+176671=291+380413=220+193 526=366+160417=317+100553=300+253591=338+253450=450+0 418=418+0615=455+160607=414+193
11
Admissible Heuristics A heuristic h(n) is admissible if for every node n, h(n) ≤ h * (n), where h * (n) is the true cost to reach the goal state from n. An admissible heuristic never overestimates the cost to reach the goal, i.e., it is optimistic Example: h SLD (n) (never overestimates the actual road distance) Theorem: If h(n) is admissible, A * using TREE- SEARCH is optimal
12
Optimality of A * (Proof) Suppose some suboptimal goal G 2 has been generated and is in the fringe. Let n be an unexpanded node in the fringe such that n is on a shortest path to an optimal goal G. f(G 2 ) = g(G 2 )since h(G 2 ) = 0 f(G) = g(G)since h(G) = 0 g(G 2 ) > g(G) since G 2 is suboptimal f(G 2 ) > f(G)from above
13
Optimality of A * (Proof) Suppose some suboptimal goal G 2 has been generated and is in the fringe. Let n be an unexpanded node in the fringe such that n is on a shortest path to an optimal goal G. h(n) ≤ h * (n)since h is admissible g(n) + h(n) ≤ g(n) + h * (n) = f(G) f(n) ≤ f(G) f(G) < f(G 2 ) from previous page Hence f(G 2 ) > f(n), and A * will never select G 2 for expansion
14
BUT … Graph Search Discards new paths to repeated state. –Previous proof breaks down Solution: –Add extra bookkeeping i.e. remove more expensive of two paths. –Ensure that optimal path to any repeated state is always first followed. Extra requirement on h(n): consistency (monotonicity)
15
Consistent Heuristics A heuristic is consistent if for every node n, every successor n' of n generated by any action a, h(n) ≤ c(n,a,n') + h(n') If h is consistent, we have f(n') = g(n') + h(n') = g(n) + c(n,a,n') + h(n') ≥ g(n) + h(n) = f(n) i.e., f(n) is non-decreasing along any path. Theorem: If h(n) is consistent, A * using GRAPH-SEARCH is optimal
16
Optimality of A * A * expands nodes in order of increasing f value Gradually adds "f-contours" of nodes Contour i has all nodes with f=f i, where f i < f i+1
17
Properties of A * Complete? Yes –(unless there are infinitely many nodes with f ≤ f(G) ) Time? Exponential Space? Keeps all nodes in memory Optimal? Yes
18
Admissible Heuristics E.g., for the 8-puzzle: h 1 (n) = number of misplaced tiles h 2 (n) = total Manhattan distance (i.e., no. of squares from desired location of each tile) h 1 (S) = ? h 2 (S) = ? 8 3+1+2+2+2+3+3+2 = 18
19
Dominance If h 2 (n) ≥ h 1 (n) for all n (both admissible) then h 2 dominates h 1 h 2 is better for search Typical search costs (average number of nodes expanded): d=12IDS = 3,644,035 nodes A * (h 1 ) = 227 nodes A * (h 2 ) = 73 nodes d=24 IDS = too many nodes A * (h 1 ) = 39,135 nodes A * (h 2 ) = 1,641 nodes
20
A problem with fewer restrictions on the actions is called a relaxed problem The cost of an optimal solution to a relaxed problem is an admissible heuristic for the original problem Admissible heuristics can be derived from the exact solution cost of a relaxed version of the problem: –Relaxed 8-puzzle for h 1 : a tile can move anywhere As a result, h 1 (n) gives the shortest solution –Relaxed 8-puzzle for h 2 : a tile can move to any adjacent square. As a result, h 2 (n) gives the shortest solution. Inventing Admissible Heuristics
21
Admissible heuristics can also be derived from the solution cost of a subproblem of a given problem. This cost is a lower bound on the cost of the real problem. Pattern databases store the exact solution to for every possible subproblem instance. –The complete heuristic is constructed using the patterns in the DB
22
Inventing Admissible Heuristics Another way to find an admissible heuristic is through learning from experience: –Experience = solving lots of 8-puzzles –An inductive learning algorithm can be used to predict costs for other states that arise during search.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.