1 succinct representation of labeled graphs jérémy barbay, luca castelli aleardi, meng he, j. ian...
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
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
Planar Triangulations and Realizers (Continued)
8
Realizer: An Example
T0 T1
T2
9
Three Traversal Orders on a Planar Triangulations
T0 T1
T2
π0 π1
π2
0 1
23
45
6
78
9
10
11
0
43
26
5
109
8
7
1
79
18
2
65
4
3
0
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
( ( [ [ [ [ ) ( ] ( ] ( ] { [ [ ) { ) ( } ] { ) ( } ] { [ [ [ [ ) …0 1 1 2 3 4 4 3 5 5 6 6 …
T0
π0
T2
π1
0 1
23
45
6
78
9
10
11
T1
adjacency(4,6) =true
degree(6) =8
rank_neighbor_ccw(4, 5, 1)
=3
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
0 1
23
45
6
78
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
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 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!