Download presentation
Presentation is loading. Please wait.
Published byHamza Love Modified over 10 years ago
1
1 Succinct Representation of Labeled Graphs Jérémy Barbay, Luca Castelli Aleardi, Meng He, J. Ian Munro
2
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
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
4 Planar Triangulations Planar Triangulations: A planar graph whose faces are all triangles Applications: computer graphics, computational geometry
5
5 An Example: Terrain and Triangulations Geometric Modeling and Computer Graphics Research Groups, University of Genova
6
6 Planar Triangulations and Realizers Planar Triangulation T Number of vertices: n; number of edges: m External face: (v 0, v 1, v n-1 ) Realizer (Schnyder 1990) A partition of the set of internal edges into three set of directed edges T 0, T 1, T 2 the edges incident to any internal vertex v in ccw order are: one outgoing edge in T 0, zero or more incoming edges in T 2, one outgoing edges in T 1, zero or more incoming edges in T 0, one outgoing edge in T 2 and zero or more incoming edges in T 1
7
7 Property T 0 is a spanning tree of T / {v 1, v n-1 } T 1 is a spanning tree of T / {v 0, v n-1 } T 2 is a spanning tree of T / {v 0, v 1 } Canonical spanning tree T 0 T 0 with edges (v 0, v 1 ) and (v 0, v n-1 ) Canonical Ordering Planar Triangulations and Realizers (Continued)
8
8 Realizer: An Example T0T0 T1T1 T2T2
9
9 Three Traversal Orders on a Planar Triangulations T0T0 T1T1 T2T2 π0π0 π1π1 π2π2 01 2 3 45 6 7 8 9 10 11 0 4 3 26 5 10 9 8 7 1 7 9 18 2 6 5 4 3 0
10
Operations on Unlabeled Planar Triangulations Old operations adjacency Degree New operations select_neighbor_ccw(x, y, r): the r th 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
11 Succinct Representation of Unlabeled Planar Triangulations Observation For any node x, its children in T 1 (or T 2 ), listed in ccw (or cw) order, have consecutive numbers in π 1 or π 2 Approach Represent T 0, T 1 and T 2 using different types of parentheses in orders π 0, π 1 and π 2, respectively Combine the three sequences into a multiple parenthesis sequence Results Space: 2m log 2 6 + o(m) bits Time: O(1)
12
12 Succinct Unlabeled Planar Triangulations: An Example ( ( [ [ [ [ ) ( ] ( ] ( ] { [ [ ) { ) ( } ] { ) ( } ] { [ [ [ [ ) … 0 1 1 2 3 4 4 3 5 5 6 6 … T0T0 π0π0 T2T2 π1π1 01 2 3 45 6 7 8 9 10 11 T1T1 adjacency(4,6)=true degree(6)=8 rank_neighbor_ccw(4, 5, 1) =3
13
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): r th 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
14 Vertex Labeled Planar Triangulations: An Example 01 2 3 45 6 7 8 9 10 11 {a,b,c}{c} {b,c} {a,b} {a} {b} {a,b} {a,c} {c} {b} {a,b} {b} lab_degree(a,5)=3 lab_select_ccw(c,6,4,2)=5 lab_rank_ccw(b,6,10,5)=4
15
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
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 σ) 2 lglg σ)
17
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
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
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
20 Conclusions Summary 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
21 Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.