Luca Castelli Aleardi 21 april 2009, Dagstuhl
Graph encoding: an overview
algorithmics and combinatorics of (planar) graphs
LIX ´Ecole Polytechnique
Domain and problems
an overview
Triangulations and graphs
Geometric data
GIS Technology
Applications
Surface recontruction
Very large geometric data
St. Matthew (Stanford’s Digital Michelan- gelo Project, 2000)
186 millions vertices
6 Giga bytes (for storing on disk)
tens of minutes (for loading the model from disk)
David statue (Stanford’s Digital Michelan- gelo Project, 2000)
2 billions polygons
32 Giga bytes (without compression)
No existing algorithm nor data
structure for dealing with the entire
model
Research topics
Mesh compression
Compact representations of geometric data structures Geometric data structures
i ...
disk storage
Transmission
1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0
⇒ 2n bits for encoding a tree with n edges
ordered tree with n edges
balanced parenthesis word
kB
nk =
n+11 2nn≈ 2
2nn
−32Enumeration of plane trees with n edges
An example: plane trees
Enumeration and entropy of plane trees
Optimal encoding matching asymptotically the information-theory lower bound
log
2kB
nk = 2n + O(lg n)
1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0
⇒ 2n bits for encoding a tree with n edges
ordered tree with n edges
balanced parenthesis word
An example: plane trees
Enumeration and entropy of plane trees
with the guarantee the the encoding is still asymptotically optimal it is possible to test adjacency between vertices in O(1) time
( ( ( ( ) ) )
11 0 00 00 0 0 1 00 0 0 1 00 0 0 1 00 b1 b2 b3 b4 b5
5 2 4 4 5
0 3 2 3 2
D
B T 3
2
1 5
10
6 8
9
7 4
2n + o(n) bits are sufficient
) ( ) ) (( ( ) ) () ( ) ) (
(Jacobson, Focs89, Munro et Raman Focs97)
An example: succinct trees
the encoding is still asymptotically optimal in the worst case
it is possible to match the entropy of the tree based the node degrees distribution
0 3
S 2
3
2
6 7 8
4
nH ∗ (T ) ≤ 2n
Jansson, Sadakane and Sung (Soda07)
An example: ultrasuccinct encodings of trees
H
∗(T ) :=
Pi nnilog
nni
1
5
0 0 2 0 0
where ni is the number of nodes with i children
nH
∗(T ) + o(n) bits
(entropy of a tree)
with a given node degrees distribution
Encoding ”geometric” data
”regular” meshes
random graphs
Geometric object
x y z
between 30 et 96 bits/vertex
Geometric information
vertex triangle
1 reference to a triangle 3 references to vertices 3 references to triangles
log n ou 32 bits
Connectivity information
Combinatorial object
connectivity
2 × n × 6 × log n n × 1 × log n
13n log n
416n bits
Enumeration of planar triangulations (Tutte, 1962)
Enumeration and (Tutte’s) entropy of planar triangulations
Ψn = 2(4n + 1)!
(3n + 2)!(n + 1)! ≈ 16 27
r 3
2π n−5/2(256 27 )n
1
n log2 Ψn ≈ log2(256
27 ) ≈ 3.2451 bits/vertex Entropy
Graph encodings: trees decompositions
Edgebreaker
CCCRCCRCCRECRRELCRE
C CC
R C
R C
C
C R
S C
R R L E
C E R
Multiple parenthesis encoding
( [ [ [ ) ( ] ( ] ( ] [ [ [ ) [ ) ( ] ] [ ) . . .
V5V5V6V5V4V5V8V5V5V4S4V3V4 T ouma Gotsman(098)
1101000110000010010000011001000000000
P oulalhon Schaef f er(2003)
General visual framework (Isenburg Snoeyink)
T ouma Gotsman(098)
Edgebreaker via Schnyder woods (or canonical orderings)
Mesh compression Graph encoding Succinct representations
Jacobson (Focs89)
Munro and Raman (Focs97) Chuang et al. (Icalp98)
Chiang et al. (Soda01)
C-A, Devillers and Schaeffer (SoCG06)
C-A, Devillers and Schaeffer (Wads05, CCCG05)
Barbay et al. (Isaac07) Nakano et al. (2008) Poulalhon Schaeffer
(Icalp03)
Fusy et al. (Soda05)
Blandford Blelloch (Soda03) C-A, Fusy Lewiner
(SoCG08) Turan (’84)
Keeler Westbrook (’95) Computer graphics Graph theory / combinatorics
He et al. (’99) Edgebreaker
V alence (degree) Rossignac (’99)
Touma and Gotsman (’98) Alliez and Debrun
algorithms and DS
Cut − border machine Isenburg
Khodakovsky
Gumhold et al.
(Siggraph ’98)
Gumhold (Soda ’05)
3.2451n 3.67n
3.28n
Lope et al. (’03) Lewiner et al. (’04)
. . . . (many many others)
. . . . (many others)
≈ 2n ? n
Chuang et al. (Icalp98)
4n
≈ 2.5n
4n
3.2451n
Graph encoding: the combinatorial approach
Entropy of triangulations =Tutte’s entropy (from enumeration)
E(T) := 1
n log2 Ψn ≈ log2(256 27
) ≈ 3.2451 bits/vertex
Graph encoding: the combinatorial approach
Idea (combinatoricians): find a good description of planar graphs
Schnyder woods (also known as Schnyder trees or realizers)
(Schnyder ’90)
A partition T0, T1, T2 of the internal edges of T s.t. :
i) edge are colored and oriented in such a way that each inner nodes has exaclty one outgoing edge of each color
ii) colors and orientations around each inner node must respect the local Schnyder condition
x
0x
1x
n−1n nodes
Graph encoding: the combinatorial approach
Important properties of Schnyder woods (with applications)
Applications
• graph enumeration, graph drawing, graph encoding, ...
Theorem
A graph G is planar if and only if its dimension is at most 3 (Schnyder, Felsner, Trotter)
Theorem
A graph G is planar if and only if its dimension is at most 3
Theorem
The three set T0, T1, T2 are spanning trees of (the inner nodes of) T:
x1
x3 x2
R1(v) v R3(v)
R2(v) x1
x3 x2
α1 v α3 α2
Combinatorial interpretation of barycentric embedding
Applications: graph compression and succinct encoding
0 2 3 1
5 4 6 8 7
9 10
11
4 32 0 5
6 7
8 9 10
1 0
1 3 2
5 4
6 7 8
9 )
(
( [[ [[ ( ( (] ] ]{[ [ ) )({ }]{)(}]{[ [ [ [) )({ }]{)(}] ]( ) )({ { }}]{)(}}}])) S
T
0T
1T
2Succinct encoding (Chuang-Garg-He-Kao-Lu Icalp ’98)
(Barbay-Castelli Aleardi-He-Munro Isaac’07) Theorem
The three set T0, T1, T2 are spanning trees of (the inner nodes of) T:
(Nakano et al. 2008)
Th´eor`eme. (Poulalhon–Schaeffer Icalp 03)
Bijection between plane trees of size n, having two stems per node, and the class of rooted planar triangulations with n + 2 vertices.
Theorem. (Tutte 62) The number of planar triangulations with n + 2 vertices is
2(4n−3)!
(3n−1)!n! (25627 )n .
a new nice interpretation of Tutte’s formula:
|Tn| = 2n2 · |A(2)n |.
Optimal coding and sampling (planar case)
?
genus g triangulations
Bijective enumeration, optimal coding and sampling
planar triangulations Schnyder (Soda ’90)
Poulalhon and Schaeffer (Icalp ’03)
Castelli-Aleardi, Fusy and Lewiner (SoCG08)
work in progress
Optimal encoding is not adaptive
achieving ”bad” compression ratios for easy istances
Is Tutte’s entropy really always a good measure?
Near optimal encoding
Entropy of triangulations = entropy of vertex degrees sequence
E (T ) :=
∞
X
i=3
p
ilog 1 p
i”regular” meshes
node degree distribution: low dispersion around average degree (6)
(from Surface Reconstruction or Geometric Modeling)
adaptive behaviour
adaptive behaviour
Graph encoding: an heuristic approach
Entropy of triangulations = entropy of vertex degrees sequence
E (T ) :=
∞
X
i=3
p
ilog 1 p
iE (T ) ≤ log
2 25627≈ 3.2451 . . .= Tutte entropy !
quite surprisingly
∞
X
i=3
pi = 1
∞
X
i=3
i · pi = 6 Solve an optimization problem
using Lagrange multipliers
Alliez Desbrun (Eurographics ’01)
adaptive behaviour
How to define an interesting measure of disorder for graphs?
but not optimal encoder
E (T ) < log
2 25627≈ 3.2451 . . .= Tutte entropy !
unfortunately
Gotsman (2003)
E (T ) ≈ 3.2364 . . .
(via analytic calculations) pi ≈ 4(πi)−12 (3
4)i
Degree driven approach
Can we design a (non trivial) optimal encoder with adaptive behaviour?