Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamic State-Space Partitioning in External-Memory Graph Search Rong Zhou † and Eric A. Hansen ‡ † Palo Alto Research Center ‡ Mississippi State University.

Similar presentations


Presentation on theme: "Dynamic State-Space Partitioning in External-Memory Graph Search Rong Zhou † and Eric A. Hansen ‡ † Palo Alto Research Center ‡ Mississippi State University."— Presentation transcript:

1 Dynamic State-Space Partitioning in External-Memory Graph Search Rong Zhou † and Eric A. Hansen ‡ † Palo Alto Research Center ‡ Mississippi State University

2 External-memory graph search Internal memory vs. External memory 1 ~ 4 GB 160 GB ~ 1.5 TB  External memory is cheap and almost inexhaustible  But random access of external memory (e.g., for duplicate detection) is 10 5 ~ 10 6 times slower than internal memory

3 Previous work  Hash-based delayed duplicate detection [Korf & Schultze AAAI-05; Korf JACM-08]  Structured duplicate detection [Zhou & Hansen AAAI-04, 06]  Both use state-space abstraction to …  partition nodes into buckets or disk files  leverage graph local structure to save RAM or disk space

4 Structured duplicate detection [Zhou & Hansen AAAI-04]  Localizes memory references in duplicate detection by exploiting graph structure revealed by a state-space projection function  Example of projection function … 0 1 15 blank pos. = ?? ? ?? ? ? ? ??? ?? ? ? ?? ? ?? ? ? ? ??? ?? ? ? ?? ? ?? ? ? ? ??? ?? ? ? …

5 Abstract state-space graph  Created by state-space projection function  Example B0B0 B3B3 B1B1 B2B2 B8B8 B4B4 B5B5 B6B6 B7B7 16 abstract states > 10 trillion states 31 4 65 2 8 7 91011 12 1314 15 B9B9 B 10 B 11 B 12 B 13 B 14 B 15

6 Duplicate-detection scope A set of blocks (of stored nodes) that is guaranteed to contain all stored successor nodes of the currently-expanding node B1B1 B0B0 B4B4 B0B0 B3B3 B1B1 B2B2 B8B8 B4B4 B5B5 B6B6 B7B7 B9B9 B 10 B 11 B 12 B 13 B 14 B 15 B0B0 B1B1 B4B4 B3B3 B2B2 B8B8 B5B5 B6B6 B7B7 B9B9 B 10 B 11 B 12 B 13 B 14 B 15 B2B2 B3B3 B5B5 B6B6 B7B7 B8B8 B 14 …

7 Edge Partitioning Reduces duplicate-detection scope to one block of stored nodes – Guaranteed! B1B1 B0B0 B3B3 B1B1 B2B2 B8B8 B4B4 B5B5 B6B6 B7B7 B9B9 B 10 B 11 B 12 B 13 B 14 B 15 B1B1 B0B0 B3B3 B2B2 B8B8 B5B5 B6B6 B7B7 B9B9 B 10 B 11 B 12 B 13 B 14 B 15 B4B4 B2B2 B3B3 B5B5 B6B6 B7B7 B8B8 B 14 B0B0 B4B4 … B3B3 B2B2 B8B8 B5B5 B6B6 B7B7 B9B9 B 10 B 11 B 12 B 13 B 14 B 15 B4B4 B1B1 B0B0 B4B4 B1B1 B4B4

8 What is a good abstraction?  Capture local structure  DDD: Interleaving expansion and merging  SDD: Fewer incremental expansions  Distribute nodes evenly into buckets  Make sure largest bucket fits in RAM  Not too many buckets  Achieving both is challenging, especially for static abstraction

9 A pathological example Degenerative state-space projection function 3 1 4 6 5 2 8 7 9 1011 12 1314 15 31 4 65 2 8 7 91011 12 1314 15 3 1 4 6 5 2 8 7 9 1011 12 1314 15 31 4 65 2 8 7 91011 12 1314 15 In theory, there are 518,918,400 buckets. Start Goal But most (> 99.99%) of them are empty!

10 Greedy abstraction algorithm  Starts with a “blank” abstraction  Mark all state variables as unselected  While ( size of abstract graph  M )  Find an unselected variable V i s.t. adding it to current abstraction minimizes largest bucket size  Add V i into set of abstraction variables  Mark V i as selected  Update current abstraction  Move nodes to their new buckets

11 Example NodeXYZ a146 b156 c246 d256 e347 f357 VarsValuesStates {X} {X = 1}{a, b} {X = 2}{c, d} {X = 3}{e, f} {Y} {Y = 4}{a, c, e} {Y = 5}{b, d, f} {Z} {Z = 6}{a, b, c, d} {Z = 7}{e, f} VarsValuesStates {X,Y} {X = 1, Y = 4}{a} {X = 1, Y = 5}{b} {X = 2, Y = 4}{c} {X = 2, Y = 5}{d} {X = 3, Y = 4}{e} {X = 3, Y = 5}{f} {X,Z} {X = 1, Z = 6}{a,b} {X = 1, Z = 7}  {X = 2, Z = 6}{c, d} {X = 2, Z = 7}  {X = 3, Z = 6}  {X = 3, Z = 7}{e, f} Nodes 1 st Iteration 2 nd Iteration

12 Computational results  Planning results on 15 Puzzle  First planner to optimally solve all 100 of Korf’s 15 Puzzle instances (93 for previous best solver)  5x RAM for #88)  Uses only Manhattan-Distance heuristic  STRIPS planning (6 domains from IPC)  Peak RAM reduced by up to ~19x  Better time-space tradeoff  Improves with accuracy of heuristic function

13 Bucket size histogram for instance #88

14 Conclusion and future work  Not all abstractions are created equal – even for the ones with the same resolution!  Largest bucket depends on starting state  Static abstraction ineffective for heuristic search  Future work  Sampling approach  Parallel search


Download ppt "Dynamic State-Space Partitioning in External-Memory Graph Search Rong Zhou † and Eric A. Hansen ‡ † Palo Alto Research Center ‡ Mississippi State University."

Similar presentations


Ads by Google