anytime search in dynamic graphs
play

Anytime search in dynamic graphs Max Likhachev, Dave Ferguson, Geoff - PowerPoint PPT Presentation

Anytime search in dynamic graphs Max Likhachev, Dave Ferguson, Geoff Gordon, Anthony Stentz, Sebastian Thrun (2008) Presented by: Eric Andrews Thu 3, October 2013 Outline of presentation Motivation, anytime search, and incremental search 1


  1. Anytime search in dynamic graphs Max Likhachev, Dave Ferguson, Geoff Gordon, Anthony Stentz, Sebastian Thrun (2008) Presented by: Eric Andrews Thu 3, October 2013

  2. Outline of presentation Motivation, anytime search, and incremental search 1 Generalization of A* 2 Anytime search algorithm: ARA* 3 Incremental search algorithm: LPA* 4 Anytime and incremental: Anytime D* 5 Example domains and results 6 Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 2 / 39

  3. Realistic planning problems Agents planning and operating in real world. Two problems: ◮ Limited time available for planning = ⇒ producing optimal plans often infeasible. ◮ Model of world imperfect a priori, or world changes while executing plan. ◮ A* alone not good enough! E.g. Autonomous car in traffic trying to get from A to B. Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 3 / 39

  4. Anytime planners: a solution to time limitations Quickly find an initial, highly suboptimal plan. With left over time, try to (iteratively) improve plan. Two desirable traits: ◮ Ability to reuse work of previous iterations. ◮ Controllable bound ( ǫ ) on the suboptimality of the produced plan. One solution: Anytime Repairing A* (ARA*) Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 4 / 39

  5. Incremental planners: a solution to dynamic graphs While executing the plan, we may notice that our model (graph) of the world is no longer in sync with reality. Re-planning after each (minor) change is expensive! Solution: try to reuse as much of previous search efforts as possible. One approach: Lifelong Planning A* (LPA*) Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 5 / 39

  6. Both have downsides... Anytime planners: ◮ Discrepancies in world model = ⇒ new plan from scratch. ◮ Interleaving planning and execution problematic. Incremental planners: ◮ Pre-configured to search for optimal or bounded suboptimal solution. ◮ Can’t improve solution if time left. Novelty of paper: combine both planner types to get Anytime D* (ADA*). ◮ Controllable suboptimality bound. ◮ Allows interleaving. Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 6 / 39

  7. Section 2 Generalization of A* Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 7 / 39

  8. Algorithm 1 A* search ComputePath function. 1: Initialize: g ( s start ) = 0 and for rest of nodes g ( s ) = ∞ . OPEN = { s start } . 2: function ComputePath() while s goal is not expanded do 3: remove s with smallest f ( s ) from OPEN 4: for each successor s ′ of s do 5: if g ( s ′ ) > g ( s ) + c ( s , s ′ ) then 6: g ( s ′ ) = g ( s ) + c ( s , s ′ ) 7: insert/update s ′ in OPEN with f ( s ′ ) = g ( s ′ ) + h ( s ′ ) . 8: end if 9: end for 10: end while 11: 12: end function Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 8 / 39

  9. Naive anytime algorithm using Weighted A* Use inflated heuristics, f ( s ) = g ( s ) + ǫ ∗ h ( s ) , ǫ ≥ 1 ⇒ Bound on returned suboptimal solution is ǫ ! = Series of ComputePath() calls, decrease ǫ in between each. Good: anytime capability, controllable ǫ -suboptimality bound. Bad: duplicate search effort, no reuse. Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 9 / 39

  10. Generalizing A*: v -values New bookkeeping variable along with f and g values. No effect on operation of one-time A*. Allows reuse of search results in subsequent A* runs. Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 10 / 39

  11. Algorithm 2 A* search ComputePath function. 1: Initialize: g ( s start ) = 0 and for rest of nodes g ( s ) = ∞ . v ( s ) = ∞ for all nodes s . OPEN = { s start } . 2: function ComputePath() while s goal is not expanded do 3: remove s with smallest f ( s ) from OPEN 4: v ( s ) = g ( s ) 5: for each successor s ′ of s do 6: if g ( s ′ ) > g ( s ) + c ( s , s ′ ) then 7: g ( s ′ ) = g ( s ) + c ( s , s ′ ) 8: insert/update s ′ in OPEN with f ( s ′ ) = g ( s ′ ) + h ( s ′ ) . 9: end if 10: end for 11: end while 12: 13: end function Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 11 / 39

  12. Inconsistent states A state s is either ◮ inconsistent v ( s ) � = g ( s ) ◮ consistent v ( s ) = g ( s ) Turns out OPEN contains all inconsistent states. So A* expands only inconsistent states. Additionally we have two types of inconsistent states: ◮ Overconsistent v ( s ) > g ( s ) ◮ Underconsistent v ( s ) < g ( s ) (later on) Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 12 / 39

  13. Invariant of A ∗ with v -values For every state s ∈ S : � 0 if s = s start g ( s ) = min s ′ ∈ pred ( s ) ( v ( s ′ ) + c ( s ′ , s )) otherwise Inconsistency is propagated to the children of some state s . Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 13 / 39

  14. Generalizing A*: priority function Good old A* expands states in the order of increasing f -values. Let’s generalize this to any priority function key ( s ) (satisfying certain restrictions...) Goal: restrictions allow the search to gurantee suboptimality bounds even when heuristics are inadmissible! A* with consistent heuristics, and with consistent (constant) inflated heuristics: OK! Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 14 / 39

  15. Restriction For any two states s , s ′ ∈ S s.t. 1 There exists a path from start to goal via s ′ 2 s’ is consistent or overconsistent. 3 s is overconsistent 4 g ( s ′ ) > g ( s ) + ǫ ∗ c ∗ ( s , s ′ ) Then it must hold that key ( s ′ ) > key ( s ) . Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 15 / 39

  16. Section 3 Anytime search algorithm: ARA* Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 16 / 39

  17. Towards Anytime Repairing A* (ARA*) To reuse previous search efforts: make sure that before each execution of ComputePath() , OPEN contains all the inconsistent states. CLOSED set to prevent multiple expansions of same state in single iteration. We now also need INCONS : set of all inconsistent states that are in CLOSED . key ( s ) = g ( s ) + ǫ ∗ h ( s ) Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 17 / 39

  18. Algorithm 3 ARA* search ComputePath function. 1: function ComputePath() while key ( s goal ) > min s ∈ OPEN ( key ( s )) do 2: remove s with smallest key ( s ) from OPEN 3: v ( s ) = g ( s ) ; CLOSED = CLOSED ∪ { s } 4: for each successor s ′ of s do 5: if s ′ was never visited by ARA* before then 6: v ( s ′ ) = g ( s ′ ) = ∞ 7: end if 8: if g ( s ′ ) > g ( s ) + c ( s , s ′ ) then 9: g ( s ′ ) = g ( s ) + c ( s , s ′ ) 10: if s ′ / ∈ CLOSED then 11: insert/update s ′ in OPEN with f ( s ′ ) = g ( s ′ ) + h ( s ′ ) . 12: else 13: insert s ′ into INCONS 14: end if 15: end if 16: end for 17: end while 18: Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 18 / 39

  19. Algorithm 4 ARA main function 1: function Main() g ( s start ) = 0; v ( s start ) = ∞ 2: g ( s goal ) = ∞ ; v ( s goal ) = ∞ 3: OPEN = CLOSED = INCONS = ∅ 4: insert s start into OPEN with key ( s start ) . 5: ComputePath() 6: publish current ǫ -suboptimal solution. 7: while ǫ > 1 do 8: decrease ǫ 9: Move states from INCONS to OPEN 10: Update priorities of states in OPEN according to key 11: CLOSED = ∅ 12: ComputePath(); 13: publish current ǫ -suboptimal solution. 14: end while 15: 16: end function Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 19 / 39

  20. Theoretical properties After ComputePath() exits: for any state s with key ( s ) ≤ min s ′ ∈ OPEN ( key ( s ′ )) , it holds that g ∗ ( s ) ≤ g ( s ) ≤ ǫ ∗ g ∗ ( s ) . ◮ Correctness of ARA* ComptePath() expands a state at most once and only if its v -value is lowered during its expansion. ◮ Computational savings of ARA* Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 20 / 39

  21. ARA* search example Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 21 / 39

  22. Section 4 Incremental search algorithm: LPA* Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 22 / 39

  23. Edge costs can change because of imperfect model or dynamic environment. Edge cost change: update g -value of the node on the incoming side. Decreasing edges? ◮ g only decreases, thus v ( s ) ≥ g ( s ) holds. ◮ No problem for ARA*. Increasing edges? ◮ g increases, thus can happen that v ( s ) < g ( s ) . ◮ Problem for ARA*: doesn’t support underconsistent states! Presented by: Eric Andrews Anytime search in dynamic graphs Thu 3, October 2013 23 / 39

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