1 / 18

Artificial Intelligence

Artificial Intelligence. Search: 3. Ian Gent ipg@cs.st-and.ac.uk. Artificial Intelligence. Search 3. Part I : Best First Search Part II: Heuristics for 8s Puzzle Part III: A*. Search Reminder. Search states, Search trees Don’t store whole search trees, just the frontier.

makya
Download Presentation

Artificial Intelligence

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. Artificial Intelligence Search: 3 Ian Gent ipg@cs.st-and.ac.uk

  2. Artificial Intelligence Search 3 Part I : Best First Search Part II: Heuristics for 8s Puzzle Part III: A*

  3. Search Reminder • Search states, Search trees • Don’t store whole search trees, just the frontier

  4. Best First Search • All the algorithms up to now have been hard wired • I.e. they search the tree in a fixed order • use heuristics only to choose among a small number of choices • e.g. which letter to set in SAT / whether to be A or a • Would it be a good idea to explore the frontier heuristically? • I.e. use the most promising part of the frontier? • This is Best First Search

  5. Best First Search • Best First Search is still an instance of general algorithm • Need heuristic score for each search state • MERGE: merge new states in sorted order of score • I.e. list always contains most promising state first • can be efficiently done if use (e.g.) heap for list • no, heaps not done for free in Lisp, Prolog. • Search can be like depth-first, breadth-first, or in-between • list can become exponentially long

  6. Search in the Eights Puzzle • The Eights puzzle is different to (e.g.) SAT • can have infinitely long branches if we don’t check for loops • bad news for depth-first, • still ok for iterative deepening • Usually no need to choose variable (e.g. letter in SAT) • there is only one piece to move (the blank) • we have a choice of places to move it to • we might want to minimise length of path • in SAT just want satisfying assignment

  7. Search in the Eights Puzzle • Are the hard wired methods effective? • Breadth-first very poor except for very easy problems • Depth-first useless without loop checking • not much good with it, either • Depth-bounded -- how do we choose depth bound? • Iterative deepening ok • and we can use increment = 2 (why?) • still need good heuristics for move choice • Will Best-First be ok?

  8. Search in the Eights Puzzle • How can we use Best-First for the Eights puzzle? • We need good heuristic for rating states • Ideally want to find guaranteed shortest solution • Therefore need to take account of moves so far • And some way of guaranteeing no better solution elsewhere

  9. Manhattan distance heuristic • There is an easy lower bound on #moves required • Just calculate how far each piece is from its goal • add up this for each piece • sum is minimum number of moves possible • This is Manhattan distance • because pieces move according to Manhattan geometry • Manhattan is not exact • Why not? • Can use it as heuristic as estimate of distance to solution • makes sense to explore apparently nearest first

  10. The Eights Puzzle • Inaccuracy of Manhattan • Manhattan distance = ? • optimal solution = 18

  11. Using Heuristics • Take the Manhattan distance as an example • In Best first, order all states in list by Manhattan • In Depth first, order only new states by Manhattan • still hope to explore most promising first • In Breadth first, similarly • Heuristics important to all search algorithms • Almost all problems solved by search solved by good heuristics • Excepting small problems like 8’s puzzle

  12. Manhattan Distance in 8’s • Manhattan distance in 8’s puzzle is NOT a good heuristic • It can be misled • Suppose we have a small Manhattan distance for move A • but any solution for move A must reverse move A eventually (e.g. to allow a vital move B) • We have in reality made the solution 2 moves longer • moving piece A and then putting it back again • Heuristic thinks we are closer to a solution • Infinite loops can occur in Best First + Manhattan

  13. Total distance Heuristic • Can use Manhattan as basis of excellent heuristic • The result will in fact be the A* algorithm • sorry about the name • pronounced “A star” • Total distance heuristic takes account of moves so far • Manhattan distance + moves to reach this position • This must be a lower bound on #moves from start state to goal state via the current state

  14. A-ghastly name-* • Actually the name is just A* • The Total distance heuristic has a guarantee • 1. heuristic score is guaranteed lower bound on true path cost via the current state • 2. heuristic score of solution is the true cost of solution • A* = Best First + heuristic with this guarantee • A* guarantees that first solution found is optimal • Helpful because we can stop searching immediately • otherwise must continue to find possible better solutions • e.g. in Depth First for 8s puzzle.

  15. The A* Guarantee • A* guarantees to find optimal solution • Proof: suppose not, and we derive a contradiction • Then there is a solution with higher cost found first • must be earlier in list than precursor of optimal solution • heuristic cost = true cost (by guarantee 2) • true cost of worse solution > true cost of optimal • true cost of optimal  heuristic cost of precursor (guar. 1) •  true cost of worse solution > heuristic cost of precursor •  precursor of optimal earlier in list than worse solution • Contradiction, w5 (which was what was wanted)

  16. Branch and Bound • BnB is not always bed and breakfast • Branch and bound is similarly inspired to A* • Unlike A* may not guarantee optimal solution first • As in A*, look for a bound which is guaranteed lower than the true cost • Search the branching tree in any way you like • e.g. depth first (no guarantee), best first • Cut off search if cost + bound > best solution found • If heuristic is cost + bound, search = best first • then BnB = A*

  17. BnB example: TSP • Consider the Travelling Salesperson Problem • Branch and Bound might use depth-first search • Cost so far is sum of costs of chosen edges • Bound might be cost of following minimum spanning tree of remaining nodes • MST: tree connected to all nodes of min cost among all such trees • all routes have to visit all remaining nodes • can’t possibly beat cost of MST • Bounds often much more sophisticated • e.g. using mathematical programming optimisations

  18. Summary and Next Lecture • Summary • Best first tries to explore most promising node first • In 8s puzzle, Manhattan distance is one heuristic • Total distance is much better and has guarantees • Best First + Guarantees = A* • Branch and Bound also uses guaranteed bounds • Next Lecture: Heuristics in decision problems • so far looked at heuristics for optimisation • what about when just want any old solution, e.g. SAT • Look at heuristics in these situations

More Related