Presentation on theme: "1 Chapter 4 Search Methodologies. 2 Chapter 4 Contents l Brute force search l Depth-first search l Breadth-first search l Properties of search methods."— Presentation transcript:
1 Chapter 4 Search Methodologies
2 Chapter 4 Contents l Brute force search l Depth-first search l Breadth-first search l Properties of search methods l Implementations l Depth first iterative deepening l Heuristics
3 Chapter 4 Contents Continued l Hill climbing l Best first search l Beam search l Optimal paths l A* algorithms l Uniform cost search l Greedy search
4 Brute Force Search l Search methods that examine every node in the search tree – also called exhaustive. l Generate and test is the simplest brute force search method: nGenerate possible solutions to the problem. nTest each one in turn to see if it is a valid solution. nStop when a valid solution is found. l The method used to generate possible solutions must be carefully chosen.
5 Depth-First Search l An exhaustive search method. l Follows each path to its deepest node, before backtracking to try the next path. l Use a depth threshold
6 Breadth-First Search l An exhaustive search method. l Follows each path to a given depth before moving on to the next depth.
7 Comparison of Depth-First and Breadth-First Search l It is important to choose the correct search method for a given problem. l In some situations, for example, depth first search will never find a solution, even though one exists.
8 Start State vs Goal State l Forward chaining nData driven search l Backward chaining nGoal driven search –Good when goal is well defined
9 Properties of Search Methods l Complexity nHow much time and memory the method uses. l Completeness nA complete method is one that is guaranteed to find a goal if one exists. l Admissibility nA method is admissible if it is guaranteed to find the best path to the goal. l Irrevocability nA method is irrevocable if, like hill climbing, it does not ever back-track.
10 Implementations l Depth-first search can be implemented using a queue to store states nBut a stack makes more sense nAnd enables us to create a recursive depth-first search function l Breadth-first search implementations are almost identical to depth-first nExcept that they place states on the back of the queue instead of on the front.
11 Depth-First Iterative Deepening l An exhaustive search method based on both depth-first and breadth-first search. l Carries out depth-first search to depth of 1, then to depth of 2, 3, and so on until a goal node is found. l Efficient in memory use, and can cope with infinitely long branches. l Not as inefficient in time as it might appear, particularly for very large trees, in which it only needs to examine the largest row (the last one) once.
12 Heuristics l Heuristic: a rule or other piece of information that is used to make methods such as search more efficient or effective. l In search, often use a heuristic evaluation function, f(n): nf(n) tells you the approximate distance of a node, n, from a goal node. l f(n) may not be 100% accurate, but it should give better results than pure guesswork.
13 Heuristics – how informed? l The more informed a heuristic is, the better it will perform. l Heuristic h is more informed than j, if: h(n) j(n) for all nodes n. l A search method using h will search more efficiently than one using j. l A heuristic should reduce the number of nodes that need to be examined.
14 8 puzzle l Search tree depth 20 l Branching factor nMiddle – 4 nEdge – 3 nCorner – 2 l Exhaustive search 3 20
15 Heuristics l Count tiles out of position. nAdmissible, but poor l Count moves to get each tile to its correct position. nAdmissible l H 2 ≥ H 1 Thus, H 2 is better, it more nearly reflects the remaining work.
18 Admissible l A search technique that never overestimate the cost to the goal state. Thus, such a technique should yield the best solution.
19 Monotone l Search technique that always reaches a given node by the shortest possible path. l So, a search method that reaches a given node at different depths in the search tree is not monotone. l A heuristic where for every node n and every successor n’ the estimated cost of reaching the goal from n is no greater than the step cost of getting to n’ plus the estimated cost of reaching the goal from n’.
20 Hill Climbing l An informed, irrevocable search method. l Easiest to understand when considered as a method for finding the highest point in a three dimensional search space. l Check the height one foot away from your current location in each direction; North, South, East and West. l As soon as you find a position whose height is higher than your current position, move to that location, and restart the algorithm.
21 Steepest Ascent Hill Climbing l Check each location around the current position, chose the one with the largest gain.
22 Foothills nCause difficulties for hill-climbing methods. nA foothill is a local maximum.
23 Plateaus nCause difficulties for hill-climbing methods. nFlat areas that make it hard to find where to go next.
24 Ridges nCause difficulties for hill-climbing methods nB is higher than A. n At C, the hill- climber can’t find a higher point North, South, East or West, so it stops.
25 Best-First Search l Works rather like hill-climbing: l Picks the most likely path (based on heuristic value) from the partially expanded tree at each stage. (the whole tree) l Tends to find a shorter path than depth- first or breadth-first search, but does not guarantee to find the best path.
26 Beam Search l Breadth-first method. l Only expands the best few paths at each level. l Thus has the memory advantages of depth-first search. l Not exhaustive, and so may not find the best solution. l May not find a solution at all.
27 Optimal Paths l An optimal path through a tree is one that is the shortest possible path from root to goal. l In other words, an optimal path has the lowest cost (not necessarily at the shallowest depth, if edges have costs associated with them). l The British Museum procedure finds an optimal path by examining every possible path, and selecting the one with the least cost. l There are more efficient ways.
28 A* Algorithms l Uses the cost function: nf(node) = g(node) + h(node). l g(node) is the cost of the path so far leading to the node. l h(node) is an underestimate of how far node is from a goal state. l f is a path-based evaluation function. l An A* algorithm expands paths from nodes that have the lowest f value.
29 A* Algorithms (continued) l A* algorithms are optimal: nThey are guaranteed to find the shortest path to a goal node. l Provided h(node) is always an underestimate. (h is an admissible heuristic). l A* methods expand the fewest possible paths to find the right one. l If h is not admissible, the method is called A, rather than A*.
30 Uniform Cost Search l Also known as branch and bound. l Like A*, but uses: nf(node) = g(node). ng(node) is the cost of the path leading up to node. l Once a goal node is found, the method needs to continue to run in case a preferable solution is found.
31 Greedy Search l Like A*, but uses: nf(node) = h(node). l Hence, always expands the node that appears to be closest to a goal, regardless of what has gone before. l Not optimal, and not guaranteed to find a solution at all. l Can easily be fooled into taking poor paths.