chapter 3 solving problems by searching 3 5 3 6 informed
play

Chapter 3 Solving Problems by Searching 3.5 3.6 Informed (heuristic) - PowerPoint PPT Presentation

Chapter 3 Solving Problems by Searching 3.5 3.6 Informed (heuristic) search strategies More on heuristics CS5811 - Advanced Artificial Intelligence Nilufer Onder Department of Computer Science Michigan Technological University A search


  1. Chapter 3 Solving Problems by Searching 3.5 –3.6 Informed (heuristic) search strategies More on heuristics CS5811 - Advanced Artificial Intelligence Nilufer Onder Department of Computer Science Michigan Technological University

  2. A ∗ search We have seen that A ∗ search ◮ May have exponential time and space complexity but will perform well with a good heuristic ◮ Is complete ◮ Finds the optimal solution We will look at another property that affects how the search proceeds.

  3. Consistency A heuristic is consistent if h ( n ) ≤ c ( n , a , n ′ ) + h ( n ′ ) If h is consistent, we have n f ( n ′ ) = g(n’) + h(n’) = g(n) + c(n,a,n’) + h(n’) c(n, a, n’) g(n) + h(n) h(n) ≥ = f(n) n’ We get f ( n ′ ) ≥ f ( n ), i.e., G f ( n ) is nondecreasing along any path. h(n’) Consistency is the triangle inequality for heuristics.

  4. Progress of A ∗ with an inconsistent heuristic I g=0, h=6, f=6 2 2 g=2, h=2, f=4 g=2, h=5, f=7 1 2 g=4, h=1, f=5 g=3, h=1, f=4 4 g=7, h=0, f=7 g=8, h=0, f=8 G Note that h is admissible. It never overestimates.

  5. Progress of A ∗ with an inconsistent heuristic I g=0, h=6, f=6 2 2 g=2, h=2, f=4 g=2, h=5, f=7 1 2 g=4, h=1, f=5 g=3, h=1, f=4 4 g=7, h=0, f=7 g=8, h=0, f=8 G The root node was expanded. Note that f decreased from 6 to 4.

  6. Progress of A ∗ with an inconsistent heuristic I g=0, h=6, f=6 2 2 g=2, h=2, f=4 g=2, h=5, f=7 1 2 g=4, h=1, f=5 g=3, h=1, f=4 4 g=7, h=0, f=7 g=8, h=0, f=8 G The suboptimal path is being pursued. The right hand side path is suboptimal.

  7. Progress of A ∗ with an inconsistent heuristic I g=0, h=6, f=6 2 2 g=2, h=2, f=4 g=2, h=5, f=7 1 2 g=4, h=1, f=5 g=3, h=1, f=4 4 g=7, h=0, f=7 g=8, h=0, f=8 G Goal found, but it appears as a child now. Remember that we cannot goal-test a node until it is selected for expansion.

  8. Progress of A ∗ with an inconsistent heuristic I g=0, h=6, f=6 2 2 g=2, h=2, f=4 g=2, h=5, f=7 1 2 g=4, h=1, f=5 g=3, h=1, f=4 4 g=7, h=0, f=7 g=8, h=0, f=8 G The node with f = 7 is selected for expansion. After expansion, the lower node of the diamond gets a new, lower cost.

  9. Progress of A ∗ with an inconsistent heuristic I g=0, h=6, f=6 2 2 g=2, h=2, f=4 g=2, h=5, f=7 1 2 g=4, h=1, f=5 g=3, h=1, f=4 4 g=7, h=0, f=7 g=8, h=0, f=8 G The optimal path to the goal is found. But nodes had to be reopened.

  10. Iterative deepening A* (IDA*) search ◮ Idea: perform iterations of DFS. The cutoff is defined based on the f -cost rather than the depth of a node. ◮ Each iteration expands all nodes inside the contour for the current f -cost, peeping over the contour to find out where the contour lies.

  11. The progress of IDA* Arad h=366 140 75 118 Sibiu h=253 f=393 Timisoara Zerind f=118+329=447 f=75+374=449 140 80 151 99 Arad Fagaras Oradea Rimnicu V. f=413 f=415 f=280+366=646 f=291+380=671 Sibiu Bucharest Craiova Pitesti Sibiu f=417 f=338+253=591 f=450+0=450 f=366+160=526 f=300+253=553 f−limits: 366 (Arad), 393 (Sibiu), 413 (RV), 417 (Pitesti) Bucharest Craiova Rimnicu V. 418 (Bucharest, goal) f=418+0=418 f=455+160=615 f=414+193=607 The blue nodes are the ones A* expanded. For IDA ∗ , they define the new f-limit.

  12. IDA* algorithm function IDA* ( problem ) returns a solution sequence (or failure) initialize the frontier using the initial state of problem f-limit ← f-cost( root ) // f-limit: current f-cost limit loop do solution , f-limit ← DFS-Contour ( root , f-limit ) if solution is non-null then return solution if f-limit = ∞ then return failure

  13. IDA* algorithm (cont’d) function DFS-Contour ( node, f-limit ) returns a solution sequence (or failure) and a new f-cost limit // next-f is initialized to ∞ if node .f-cost > f-limit then return null, node .f-cost if the node contains a goal state then return node, f-limit for each child n in node . Child-Nodes do solution, new-f ← DFS-Contour ( n, f-limit ) if solution is not null then return solution, f-limit next-f ← Min ( next-f,new-f ) return null, next-f

  14. F-contours for A* search O N Z I A S 380 F V 400 T R P L H M U B 420 D E C G

  15. Properties of IDA* ◮ Complete: Yes, similar to A*. ◮ Time: Depends strongly on the number of different values that the heuristic value can take on. 8-puzzle: few values, good performance TSP: the heuristic value is different for every state. Each contour only includes one more state than the previous contour. If A* expands N nodes, IDA* expands 1 + 2 + . . . + N = O ( N 2 ) nodes. ◮ Space: It is DFS, it only requires space proportional to the longest path it explores. If δ is the smallest operator cost, and f ∗ is the optimal solution cost, then IDA* will require b × f ∗ /δ nodes to be stored. ◮ Optimal: Yes, similar to A*

  16. Summary ◮ Consistency enforces the triangle inequality ◮ If an admissible but not consistent heuristic is used for graph search, we need to adjust path costs when a node is rediscovered ◮ Heuristic search usually brings dramatic improvement over uninformed search ◮ Keep in mind that the f-contours might still contain an exponential number of nodes

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend