Download presentation
Presentation is loading. Please wait.
Published byDerick Wray Modified over 10 years ago
1
I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton University Norbert Zeh, Dalhousie University
2
Background: Succinct Data Structures What are succinct data structures (Jacobson 1989) Representing data structures using ideally information-theoretic minimum space Supporting efficient navigational operations Why succinct data structures Large data sets in modern applications: textual, genomic, spatial or geometric
3
Background: External Memory Model Parameters N: number of elements in the problem instance M: size of the internal memory B: size of a disk block Cost: number of I/O’s (block transfers) between internal memory and external memory Aggarwal and Vitter 1988 CPU Internal Memory Block External Memory
4
Our Contributions Our goal is to design data structures that are both succinct and efficient in the External Memory setting Our results A succinct representation of bounded-degree planar graphs that supports I/O-efficient path traversal A succinct representation of triangulated terrains that supports various geometric queries
5
Notation N: number of vertices of the given graph G d: maximum degree of vertices q: number of bits required to encode the key of each vertex K: the length of the path 3 53 1 9 9 4 12 22 18 4
6
Two-Level Partition A tool: graph separator (Frederickson 1987) Size of each subgraph (region): r Number of regions: Θ(N/r) Number of boundary vertices: O(N/(r 1/2 )) Two-level partition Subdivide G into regions of fixed maximum size Subdivide each region into sub-regions of smaller fixed maximum size Types of vertices for each region / subregion Interior vertices Boundary vertices
7
α-Neighbourhood Definition Beginning with a given vertex v, we perform a breadth-first search in G and select the first α vertices encountered The α-neighbourhood of v is the subgraph of G induced by these vertices Internal and terminal vertices Property: The distance between v and any terminal vertex in its α- neighbourhood is at least log d α In our representation, we store α-neighbourhood of each boundary vertex. If a sub-region boundary vertex is interior to a region, we add an additional constraint that its α-neighbourhood cannot be extended beyond the region
8
Overview of Labeling Scheme Labels at three levels for the same vertex Graph-label (unique) Region-label (one or more) Subregion-label (one or more) Assign the labels for bottom up
9
Sub-Region Labels Encoding subregion R i,j using any succinct representation for planar graphs This induces a permutation of the vertices in R i,j Subregion-label: the k th vertex in the above permutation has subregion-label k in R i,j
10
Region-Labels and Graph-Labels 1, 2, 3, 4, 5, 61, 2, 3, 4, 51, 2, 3, 4, 5, 6, 7 R 1,1 R 1,2 R 1,3 R1R1 1, 2, 3, 4, 5, 6 7, 8, 9, 10, 11, 12,13,14,15 … The assignment of graph-labels are similar Succinct structures of o(n) bits are constructed to support conversion between labels at different levels in O(1) I/O’s
11
Data Structures Denote by A the maximum number of vertices that may be stored in a block, and this is our maximum sub-region size Choose Alg 3 N to be the maximum size of each region We only encode sub-regions and α-neighbourhoods of boundary vertices as components Encode the graph structure of each component in a succinct fashion Information is encoded so that we can retrieve the graph labels of the internal vertices in an α-neighbourhood without requiring additional I/O’s
12
Space Analysis We assume B = Ω(lg N) A = (B lg N) / (c + q) c: number of bits per vertex required to the sub-graph structure and boundary bit vector Choose α = A 1/3 Intuitively, our structures are space-efficient because: Region boundary vertices are few enough, so that information such as the graph labels of the vertices in their α- neighbourhoods do not occupy too much space The number of sub-region boundary vertices is larger, but information such as region-labels uses fewer bits (lg (Alg 3 N)) Total space: O(N) + Nq + o(Nq) bits
13
Traversal Algorithm Load either a sub-region or the α-neighbourhood of a boundary vertex Traverse the above component until a boundary/terminal vertex is encountered Load the next component from external memory and traversal continues
14
I/O Efficiency Observations When encountering a terminal/boundary vertex, the next component can be loaded in O(1) I/O’s Given a component, the graph labels of all interior/internal vertices can be reported without incurring any additional I/O’s By loading a constant number of components, we can visit Ω(lg B) vertices along the path I/O complexity: O(K / lg B)
15
Main Result A succinct representation of bounded- degree planar graph: Space: O(N) + Nq + o(Nq) bits I/O complexity for path traversal: O(K / lg B)
16
Terrains Modeled as Triangular- Irregular Network Notation N: number of points Φ: number of bits required to store the coordinates of each point Space: NΦ + O(N) + o(NΦ) bits I/O complexity: Reporting a path crossing K faces: O(K / lg B)
17
Queries on Triangulated Terrains Point location: O(log B N) I/O’s Terrain profile: O(K / lg B) I/O’s Trickle path: O(K / lg B) I/O’s Connected component O(K / lg B) I/O’s if the component is convex Can be generalized to components that are not convex, though the result is more complex
18
Conclusions We designed a succinct representation of bounded-degree planar graphs that supports I/O-efficient path traversal, and applied this to terrains modeled as TIN to support queries This provides solutions to modern applications that process very large data Future work: combining succinct data structures and external memory data structures for other problems
19
Thank you!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.