Download presentation

Presentation is loading. Please wait.

Published byKarin Rose Modified over 2 years ago

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

Similar presentations

OK

1 CPS216: Data-intensive Computing Systems Operators for Data Access (contd.) Shivnath Babu.

1 CPS216: Data-intensive Computing Systems Operators for Data Access (contd.) Shivnath Babu.

© 2018 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on reflection in c# Ppt on ozone layer in hole By appt only movie device Ppt on two point perspective art Ppt on transformational leadership theory Ppt on fire drill in company Ppt on three layers of the earth Ppt on types of plants for grade 1 Ppt on sports day japan Ppt on 2 stroke ic engines