Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Succinct Representation of
Labeled Graphs
Jérémy Barbay, Luca Castelli Aleardi,
Meng He, J. Ian Munro
1
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
2
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
3
Planar Triangulations
Planar Triangulations: A
planar graph whose faces
are all triangles
Applications: computer
graphics, computational
geometry
4
An Example: Terrain and
Triangulations
Geometric Modeling and Computer Graphics Research Groups,
University of Genova
5
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
6
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
7
Realizer: An Example
T2
T0
T1
8
Three Traversal Orders on a
Planar Triangulations
π2
T2
11
1
0
10
7
3
6
5
2
9
8
4
8
9
5
10
7
6
π0
T0
5
6
8
2
4
7
0
4
2
1
3
9
π1
1
0
T1
9
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
10
Succinct Representation of
Unlabeled Planar Triangulations
Observation
Approach
For any node x, its children in T1 (or T2), listed in
ccw (or cw) order, have consecutive numbers in π1
or π2
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)
11
Succinct Unlabeled Planar
Triangulations: An Example
T2
11
adjacency(4,6) =true
degree(6)
=8
rank_neighbor_ccw(4, 5, 1)
10
9
8
π0
T0
5
7
2
0
=3
6
4
π1
3
1
T1
(([[[[)(](](]{[[){)(}]{)(}]{[[[[)…
01
12 3 4
4 35
56
6…
12
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
13
Vertex Labeled Planar
Triangulations: An Example
{b,c} 11
lab_degree(a,5)
=3
lab_select_ccw(c,6,4,2)
lab_rank_ccw(b,6,10,5) =4
{a,b}
10
{a,b}
6
9
{a} 8
{b}
{c}5
7 {b}
2
0
{a,b,c}
=5
{b}
4
3 {a,c}
{a,b}
{c}
1
14
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
15
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 σ)
16
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 α
17
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
18
More Results
Succinct representation of unlabeled kpage 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)
19
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
20
Thank you!
21