i/o and space-efficient path traversal in planar graphs craig dillabaugh, carleton university meng...

19
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

Upload: derick-wray

Post on 31-Mar-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

Page 2: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

Page 3: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

Page 4: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

Page 5: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

5 31

99

4

12

22

18

4

Page 6: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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/(r1/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

Page 7: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

α-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 logd α

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

Page 8: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

Page 9: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

Sub-Region Labels Encoding subregion Ri,j using any succinct

representation for planar graphs

This induces a permutation of the vertices in Ri,j

Subregion-label: the kth vertex in the above permutation has subregion-label k in Ri,j

Page 10: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

Region-Labels and Graph-Labels

1, 2, 3, 4, 5, 6 1, 2, 3, 4, 5 1, 2, 3, 4, 5, 6, 7

R1,1R1,2

R1,3

R1

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

Page 11: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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 Alg3N 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

Page 12: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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 α = A1/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 (Alg3N))

Total space: O(N) + Nq + o(Nq) bits

Page 13: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

Page 14: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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)

Page 15: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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)

Page 16: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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)

Page 17: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

Page 18: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

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

Page 19: I/O and Space-Efficient Path Traversal in Planar Graphs Craig Dillabaugh, Carleton University Meng He, University of Waterloo Anil Maheshwari, Carleton

Thank you!