1 / 56

CSM6120 Introduction to Intelligent Systems

CSM6120 Introduction to Intelligent Systems. Search 3. Quick review. Uninformed techniques. Informed search. What we’ll look at: Heuristics Hill-climbing Best-first search Greedy search A* search. Heuristics. A heuristic is a rule or principle used to guide a search

derron
Download Presentation

CSM6120 Introduction to Intelligent Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSM6120Introduction to Intelligent Systems Search 3

  2. Quick review • Uninformed techniques

  3. Informed search • What we’ll look at: • Heuristics • Hill-climbing • Best-first search • Greedy search • A* search

  4. Heuristics • A heuristic is a rule or principle used to guide a search • It provides a way of giving additional knowledge of the problem to the search algorithm • Must provide a reasonably reliable estimate of how far a state is from a goal, or the cost of reaching the goal via that state • A heuristic evaluation function is a way of calculating or estimating such distances/cost

  5. Heuristics and algorithms • A correct algorithm will find you the best solution given good data and enough time • It is precisely specified • A heuristic gives you a workable solution in a reasonable time • It gives a guided or directed solution

  6. Evaluation function • There are an infinite number of possible heuristics • Criteria is that it returns an assessment of the point in the search • If an evaluation function is accurate, it will lead directly to the goal • More realistically, this usually ends up as “seemingly-best-search” • Traditionally, the lowest value after evaluation is chosen as we usually want the lowest cost or nearest

  7. Heuristic evaluation functions • Estimate of expected utility value from a current position • E.g. value for pieces left in chess • Way of judging the value of a position • Humans have to do this as we do not evaluate all possible alternatives • These heuristics usually come from years of human experience • Performance of the game playing program is very dependent on the quality of the function

  8. Heuristic evaluation functions • Must agree with the ordering a utility function would give at terminal states (leaf nodes) • Computation must not take long • For non-terminal states, the evaluation function must strongly correlate with the actual chance of ‘winning’ • The values can be learned using machine learning techniques

  9. Heuristics?

  10. Heuristics?

  11. Heuristics for the 8-puzzle • Number of 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

  12. The 8-puzzle • Using a heuristic evaluation function: • h(n) = sum of the distance each tile is from its goal position

  13. Goal state Current state Current state h1=5 h2=1+1+1+2+2=7 h1=1 h2=1

  14. Search algorithms • Hill climbing • Best-first search • Greedy best-first search • A*

  15. Iterative improvement • Consider all states laid out on the surface of a landscape • The height at any point corresponds to the result of the evaluation function

  16. Hill-climbing (greedy local) • Start with current-state = initial-state • Until current-state = goal-state OR there is no change in current-state do: • a) Get the children of current-state and apply evaluation function to each child • b) If one of the children has a better score, then set current-state to the child with the best score • Loop that moves in the direction of decreasing (increasing) value • Terminates when a “dip” (or “peak”) is reached • If more than one best direction, the algorithm can choose at random

  17. Hill-climbing

  18. Hill-climbing drawbacks • Local minima (maxima) • Local, rather than global minima (maxima) • Plateau • Area of state space where the evaluation function is essentially flat • The search will conduct a random walk • Ridges • Causes problems when states along the ridge are not directly connected - the only choice at each point on the ridge requires uphill (downhill) movement

  19. Best-first search • Like hill climbing, but eventually tries all paths as it uses list of nodes yet to be explored • Start with priority-queue = initial-state • While priority-queue not empty do: • a) Remove best node from the priority-queue • b) If it is the goal node, return success. Otherwise find its successors • c) Apply evaluation function to successors and add to priority-queue

  20. Best-first example

  21. Best-first search • Different best-first strategies have different evaluation functions • Some use heuristics only, others also use cost functions: f(n) = g(n) + h(n) • For Greedy and A*, our heuristic is: • Heuristic function h(n) = estimated cost of the cheapest path from node n to a goal node • For now, we will introduce the constraint that if n is a goal node, then h(n) = 0

  22. Greedy best-first search • Greedy BFS tries to expand the node that is ‘closest’ to the goal assuming it will lead to a solution quickly • f(n) = h(n) • aka “greedy search” • Differs from hill-climbing – allows backtracking • Implementation • Expand the “most desirable” node into the frontier queue • Sort the queue in decreasing order of desirability

  23. Route planning: heuristic??

  24. Route planning - GBFS

  25. Greedy best-first search

  26. Route planning

  27. Greedy best-first search

  28. Greedy best-first search

  29. Greedy best-first search • Complete • No, GBFS can get stuck in loops (e.g. bouncing back and forth between cities) • Time complexity • O(bm) but a good heuristic can have dramatic improvement • Space complexity • O(bm) – keeps all the nodes in memory • Optimal • No! (A – S – F – B = 450, shorter journey is possible)

  30. Practical 2 • Implement greedy best-first search for pathfinding • Look at code for AStarPathFinder.java

  31. A* search • A* (A star) is the most widely known form of Best-First search • It evaluates nodes by combining g(n) and h(n) • f(n) = g(n) + h(n) • Where • g(n) = cost so far to reach n • h(n) = estimated cost to goal from n • f(n) = estimated total cost of path through n start g(n) n h(n) goal

  32. A* search • When h(n) = actual cost to goal, h*(n) • Only nodes in the correct path are expanded • Optimal solution is found • When h(n) < h*(n) • Additional nodes are expanded • Optimal solution is found • When h(n) > h*(n) • Optimal solution can be overlooked

  33. Route planning – A*

  34. A* search

  35. A* search

  36. A* search

  37. A* search

  38. A* search

  39. A* search • Complete and optimal if h(n) does not overestimate the true cost of a solution through n • Time complexity • Exponential in [relative error of h x length of solution] • The better the heuristic, the better the time • Best case h is perfect, O(d) • Worst case h = 0, O(bd) same as BFS • Space complexity • Keeps all nodes in memory and save in case of repetition • This is O(bd) or worse • A* usually runs out of space before it runs out of time

  40. A* exercise NodeCoordinatesSL Distance to K A (5,9) 8.0 B (3,8) 7.3 C (8,8) 7.6 D (5,7) 6.0 E (7,6) 5.4 F (4,5) 4.1 G (6,5) 4.1 H (3,3) 2.8 I (5,3) 2.0 J (7,2) 2.2 K (5,1) 0.0

  41. Solution to A* exercise

  42. GBFS exercise NodeCoordinatesDistance A (5,9) 8.0 B (3,8) 7.3 C (8,8) 7.6 D (5,7) 6.0 E (7,6) 5.4 F (4,5) 4.1 G (6,5) 4.1 H (3,3) 2.8 I (5,3) 2.0 J (7,2) 2.2 K (5,1) 0.0

  43. Solution

  44. To think about... f(n) = g(n) + h(n) • What algorithm does A* emulate if we set • h(n) = -2*g(n) • h(n) = 0 • Can you make A* behave like Breadth-First Search?

  45. 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 • Example: hSLD(n) (never overestimates the actual road distance) • Theorem: If h(n) is admissible, A* is optimal (for tree-search)

  46. Optimality of A* (proof) • Suppose some suboptimal goal G2has been generated and is in the frontier. Let n be an unexpanded node in the frontier such that n is on a shortest path to an optimal goal G • f(G2) = g(G2) since h(G2) = 0 (true for any goal state) • g(G2) > g(G) since G2 is suboptimal • f(G) = g(G) since h(G) = 0 • f(G2) > f(G) from above

  47. Optimality of A* (proof) • f(G2) > f(G) • h(n) ≤ h*(n) since h is admissible • g(n) + h(n) ≤ g(n) + h*(n) • f(n) ≤ f(G) • Hence f(G2) > f(n), and A* will never select G2 for expansion

  48. Heuristic functions • Admissible heuristic example: for the 8-puzzleh1(n) = number of misplaced tilesh2(n) = total Manhattan distance i.e. no of squares from desired location of each tileh1(S) = ??h2(S) = ??

  49. Heuristic functions • Admissible heuristic example: for the 8-puzzle h1(n) = number of misplaced tilesh2(n) = total Manhattan distance i.e. no of squares from desired location of each tileh1(S) = 6h2(S) = 4+0+3+3+1+0+2+1 = 14

  50. Heuristic functions • Dominance/Informedness • if h1(n)  h2(n) for all n (both admissible)then h2 dominates h1 and is better for searchTypical search costs: • d = 12 IDS = 3,644,035 nodes A*(h1) = 227 nodes A*(h2) = 73 nodes • d = 24 IDS  54,000,000,000 nodes A*(h1) = 39,135 nodes A*(h2) = 1,641 nodes

More Related