Presentation is loading. Please wait.

Presentation is loading. Please wait.

Succinct Representation of Labeled Graphs

Similar presentations


Presentation on theme: "Succinct Representation of Labeled Graphs"— Presentation transcript:

1 Succinct Representation of Labeled Graphs
Jérémy Barbay, Luca Castelli Aleardi, Meng He, J. Ian Munro

2 Background: Succinct Data Structures
What are succinct data structures Representing data structures using ideally information-theoretic minimum space Supporting efficient navigational operations Jacobson 1989 Why succinct data structures Large data sets in modern applications: textual, genomic, spatial or geometric An implementation: Delpratt et al. 2006

3 Motivations and Objectives
Initial Problem: representing unlabeled graphs succinctly Connectivity information: degree, neighbors, adjacency Jacobson 89, Munro and Raman 97, Chuang et al. 98, Chiang et al. 01, Castelli Aleardi et al. 05 & 06 New Problem: representing labeled graphs succinctly Properties of an object is often modeled as labels on vertices or edges Label-based queries

4 Planar Triangulations
Planar Triangulations: A planar graph whose faces are all triangles Applications: computer graphics, computational geometry

5 An Example: Terrain and Triangulations
Geometric Modeling and Computer Graphics Research Groups, University of Genova

6 Planar Triangulations and Realizers
Planar Triangulation T Number of vertices: n; number of edges: m External face: (v0, v1, vn-1) Realizer (Schnyder 1990) A partition of the set of internal edges into three set of directed edges T0, T1, T2 the edges incident to any internal vertex v in ccw order are: one outgoing edge in T0, zero or more incoming edges in T2, one outgoing edges in T1, zero or more incoming edges in T0, one outgoing edge in T2 and zero or more incoming edges in T1

7 Planar Triangulations and Realizers (Continued)
Property T0 is a spanning tree of T / {v1, vn-1} T1 is a spanning tree of T / {v0, vn-1} T2 is a spanning tree of T / {v0, v1} Canonical spanning tree T0 T0 with edges (v0, v1) and (v0, vn-1) Canonical Ordering

8 Realizer: An Example T2 T0 T1

9 Three Traversal Orders on a Planar Triangulations
π2 T2 1 2 3 4 5 6 7 8 9 10 11 4 3 2 6 5 10 9 8 7 1 7 9 1 8 2 6 5 4 3 π0 π1 T0 T1

10 Operations on Unlabeled Planar Triangulations
Old operations adjacency Degree New operations select_neighbor_ccw(x, y, r): the rth neighbor of x staring from y in ccw order if x and y are adjacent rank_neighbor_ccw(x, y, z): the number of neighbors of vertex x between y and z in ccw order if y and z are neighbors of x Conversions between the numbers of vertices under π0, π1 and π2

11 Succinct Representation of Unlabeled Planar Triangulations
Observation For any node x, its children in T1 (or T2), listed in ccw (or cw) order, have consecutive numbers in π1 or π2 Approach Represent T0, T1 and T2 using different types of parentheses in orders π0, π1 and π2, respectively Combine the three sequences into a multiple parenthesis sequence Results Space: 2m log26 + o(m) bits Time: O(1)

12 Succinct Unlabeled Planar Triangulations: An Example
1 2 3 4 5 6 7 8 9 10 11 adjacency(4,6) =true degree(6) =8 rank_neighbor_ccw(4, 5, 1) =3 π0 π1 T0 T1 ( ( [ [ [ [ ) ( ] ( ] ( ] { [ [ ) { ) ( } ] { ) ( } ] { [ [ [ [ ) …

13 Vertex Labeled Planar Triangulations
Notion Number of labels: σ Number of vertex-label pairs: t Operations lab_degree(α,x): number of neighbors of vertex x associated with label α lab_select_ccw(α,x,y,r): rth vertex labeled α among neighbors of vertex x after vertex y in ccw order if y is a neighbor of x lab_rank_ccw(α,x,y,z) : number of neighbors of vertex x labeled α between vertices y and z in ccw order if y and z are neighbors of x

14 Vertex Labeled Planar Triangulations: An Example
{b,c} 1 2 3 4 5 6 7 8 9 10 11 lab_degree(a,5) =3 lab_select_ccw(c,6,4,2) =5 lab_rank_ccw(b,6,10,5) =4 {a,b} {a,b} {b} {b} {a} {c} {b} {a,c} {a,b} {a,b,c} {c}

15 Succinct Index for Vertex Labeled Triangulations
ADT node_label: f(n, σ, t) time Succinct Index Space: t∙o(lg σ) bits Time: O((lg lg lg σ)2(f(n, σ, t)+lglg σ) time for lab_degree, lab_select_ccw and lab_rank_ccw

16 Succinct Representation of vertex labeled planar triangulations
Space: t lg σ+t∙o(lg σ) bits Time: node_label : O(1) lab_degree, lab_select_ccw and lab_rank_ccw : O((lg lg lg σ)2lglg σ)

17 Edge Labeled k-Page Graphs
Notion Number of labels: σ Number of edge-label pairs: t Operations lab_adjacency(α,x,y): whether there is an edge labeled α between vertices x and y lab_degree_edge(α,x): the number of edges of vertex x that are labeled α lab_edges(α,x): the edges of vertex x that are labeled α

18 Edge Labeled k-Page Graphs
Results Space: kn + t(lg σ + o(lg σ)) bits Time: lab_adjacency and lab_degree_edge: O(k lglg σ(lg lg lg σ)2) lab_edges: O(d lglg σ lg lg lg σ+k) , where d is the number of such edges

19 More Results Succinct representation of unlabeled k-page graphs for large k Succinct representation of edge Labeled k-page graphs for large k The results on edge labeled k-page graphs also apply to edge labeled planar graphs (k = 4)

20 Conclusions Summary Subsequent Work and Open Problems
First succinct representations of labeled graphs Two preliminary results on succinct representations of unlabeled graphs Subsequent Work and Open Problems Edge labeled planar triangulations (done) Vertex labeled k-page graphs

21 Thank you!


Download ppt "Succinct Representation of Labeled Graphs"

Similar presentations


Ads by Google