Introduction Perfect Information Summary Computing Abstract Plans for Counterexample-Guided Cartesian Abstraction Refinement Samuel von Allmen 2019-05-21 1 / 20
Introduction Perfect Information Summary The Big Picture What are we trying to accomplish? Solve planning problems with informed search algorithms. Informed search needs a heuristic ( h ). How to get a good heuristic? Counterexample-Guided Cartesian Abstraction Refinement 2 / 20
Introduction Perfect Information Summary The CEGAR Algorithm We iteratively refine an abstract representation of the problem: 1 Find abstract solution (if not ✙ unsolvable) 2 Apply abstract solution to concrete problem 3 Find flaw in abstract solution (if not ✙ solved) 4 Refine abstraction to remove flaw If run long enough, this approach will eventually solve the problem or prove it to be unsolvable. If stopped before, the goal distance of each abstract state can serve as a heuristic for the concrete states represented by it. 3 / 20
Introduction Perfect Information Summary Example: Gripper Example for a planning task: A robot needs to pick up a ball in room A and drop it in room B. Possible locations of the robot: { A , B } (either room). Possible locations of the ball: { A , B , G } (either room or in gripper). 4 / 20
Introduction Perfect Information Summary Example: Gripper grab-in-A � A , A � � A , G � � A , B � start drop-in-A move-A-B move-B-A move-A-B move-B-A move-A-B move-B-A drop-in-B � B , A � � B , G � � B , B � grab-in-B 5 / 20
Introduction Perfect Information Summary A simple abstraction move-A-B move-B-A grab-in-A move-A-B drop-in-A move-B-A drop-in-B { A , B } × { A , G } { A , B } × { B } start grab-in-B 6 / 20
Introduction Perfect Information Summary The Flaw In the above abstraction, � drop-in-B � is a valid path. The action “drop-in-B” has the prerequisites “robot in B” and “ball in G”, and the effect “ball in B”. Applying it to the concrete problem, we see that drop-in-B cannot be applied to the initial state as both its prerequisites are not fulfilled. So we refine the abstract state with regard to one of these prerequisites. Let’s pick “robot in B”. We therefore separate the abstract state { A , B } × { A , G } into { A } × { A , G } and { B } × { A , G } . 7 / 20
Introduction Perfect Information Summary The refined abstraction grab-in-A drop-in-A { A } × { A , G } start move-B-A move-A-B move-A-B move-B-A drop-in-B { B } × { A , G } { A , B } × { B } grab-in-B 8 / 20
Introduction Perfect Information Summary Finding Abstract Solutions Step 1 of the CEGAR algorithm requires a search ✙ Originally implemented as A ⋆ A ⋆ needs a heuristic. Helpful property: over subsequent iterations, h can only increase! 9 / 20
Introduction Perfect Information Summary Updating h based on g We can use information gained during searches on previous abstractions to construct a heuristic for the current abstraction. If C ⋆ is the cost of an optimal abstract path and g ( s ) is the distance of state s from the initial state, then h ( s ) = C ⋆ − g ( s ) is an admissible heuristic: h ( s ) ≤ h ⋆ ( s ) What if we could have perfect information about the abstraction at all times? 10 / 20
Introduction Perfect Information Summary Dijkstra’s Algorithm Dijkstra’s algorithm computes the shortest path from each node to one specific node: 1 2 A B C 5 3 1 2 D E 11 / 20
Introduction Perfect Information Summary Dijkstra’s Algorithm - Results update-h-time abstract-search-time 10 4 10 1 10 2 full-astar (1730) full-astar (266) 10 0 10 0 10 − 2 10 − 1 10 − 4 10 − 5 10 − 4 10 − 3 10 − 2 10 − 1 10 0 10 − 5 10 − 3 10 − 1 10 1 10 3 10 1 gval-astar (1483) gval-astar (19) 12 / 20
Introduction Perfect Information Summary The Shortest-Path Tree Dijkstra’s algorithm computes an optimal path for every state (including the initial state), so performing a search is no longer necessary. Instead, the optimal paths form a shortest-path tree : 1 2 1 A B C E 3 D Finding an optimal solution is now the trivial task of traversing the tree. 13 / 20
Introduction Perfect Information Summary Shortest-Path Tree: Results abstract-search-time abstract-search-time 10 2 10 4 10 1 10 2 10 0 full-spt (29) 10 − 1 full-spt 10 0 10 − 2 10 − 2 10 − 3 10 − 4 10 − 4 10 − 5 10 − 5 10 − 3 10 − 1 10 1 10 3 10 − 5 10 − 4 10 − 3 10 − 2 10 − 1 10 0 10 1 10 2 full-astar (1697) full-astar 14 / 20
Introduction Perfect Information Summary Identifying Orphaned States 1 2 1 A B C E 3 D If state C is split into two new states, the optimal solutions for B and D cannot possibly change. The two new states as well as state E, however, are now ”orphaned” and need to be recomputed. 15 / 20
Introduction Perfect Information Summary Orphaned States: Results update-h-time update-h-time 10 2 10 2 10 1 10 1 obw-spt (186) ofw-spt (43) 10 0 10 0 10 − 1 10 − 1 10 − 2 10 − 2 10 − 3 10 − 3 10 − 5 10 − 3 10 − 1 10 1 10 3 10 − 5 10 − 3 10 − 1 10 1 10 3 full-spt (1554) full-spt (1703) 16 / 20
Introduction Perfect Information Summary Filtered Orphaned List 1 2 1 A B C E F 3 G D If there is still an optimal solution for E of cost 4 in the new abstraction, we don’t need to recompute F and G. Filtering such cases out (and reconnecting them) reduces the number of orphaned states. 17 / 20
Introduction Perfect Information Summary Filtered Orphans: Results update-h-time 10 2 filter-spt (245) 10 1 10 0 10 − 1 10 − 2 10 − 5 10 − 3 10 − 1 10 1 10 3 ofw-spt (1161) 18 / 20
Introduction Perfect Information Summary Final Comparison abstraction-time abstraction-time 10 2 10 2 10 1 10 1 filter-spt (336) ofw-spt (443) 10 0 10 0 10 − 1 10 − 1 10 − 2 10 − 2 10 − 3 10 − 2 10 − 1 10 0 10 − 3 10 − 2 10 − 1 10 0 10 1 10 2 10 3 10 1 10 2 10 3 gval-astar (1370) gval-astar (1069) 19 / 20
Introduction Perfect Information Summary Summary It is possible to have perfect information about goal distance and the shortest path for every abstract state, and updating this information incrementally every time the abstraction changes. While doing so is costly, the most efficient algorithms can compete with the speed of A ⋆ and an incrementally updated admissible heuristic. 20 / 20
Recommend
More recommend