• Aucun résultat trouvé

LucaCastelliAleardi SuccinctrepresentationsoflabeledgraphsJ.IanMunroJeremyBarbayMengHe Journ´eesG´eom´etrieetInformatique 14juin2007,InriaSophia-Antipolis

N/A
N/A
Protected

Academic year: 2022

Partager "LucaCastelliAleardi SuccinctrepresentationsoflabeledgraphsJ.IanMunroJeremyBarbayMengHe Journ´eesG´eom´etrieetInformatique 14juin2007,InriaSophia-Antipolis"

Copied!
51
0
0

Texte intégral

(1)

Luca Castelli Aleardi

Journ´ees G´eom´etrie et Informatique

Succinct representations of labeled graphs

J. Ian Munro Jeremy Barbay Meng He

14 juin 2007, Inria Sophia-Antipolis

(2)

Domain and motivations

(3)

Triangulations and graphs

Geometric data

Geometric modeling

Tetrahedral Volume Meshes 3D meshes

GIS Technology

Applications

Surface recontruction

(4)

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

(5)

Research topics

Mesh compression

Compact representations of geometric data structures Geometric data structures

i ...

disk storage

Transmission

(6)

Unlabeled vs. labeled structures

Unlabeled graphs, meshes with no properties

Labeled graphs

meshes with properties

(7)

Goal: efficient dealing with additional attributes asso- ciated to elementary cells of the mesh

Example: vertex coordinates, face colors and normals, additional tags, ...

Efficiently representing labeled structures

(8)

Labeled based navigation operators

Problem: find adjacent cells with a given label

Efficiently representing labeled structures

lab degree(α, v) lab select(α, v, i) lab rank(α, v, w)

v

lab degree( c . ,

1

v) = 2 lab degree( c . ,

2

v) = 1

using o(lg σ ) bits per label in almost O(1) time

(9)

Compact representations

(10)

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

n

k =

n+11 2nn

≈ 2

2n

n

32

Enumeration of plane trees with n edges

An example: (unlabeled) plane trees

(11)

Asymptotic optimal encoding

• the cost of an object matches asymptotically the en- tropy

log

2

kB

n

k = 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: (unlabeled) plane trees

(12)

No efficient implementation of local adjacency queries

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: (unlabeled) plane trees

(13)

Explicit pointers based representation

not optimal encoding: we need Θ(n lg n) bits

parent parent

/ / / /

parent

/ / / /

/

lg n

lg n lg n

lg n

lg n

adjacency queries between vertices in O(1) time

parent parent

parent parent

An example: (unlabeled) plane trees

(14)

Could we do better?

a compact encoding (asymptotically optimal)

testing adjacency queries efficiently (in O(1) time)

(15)

with the guarantee the the encoding is still asymptotically optimal it is possible to test adjacency between vertices in O(1) time

For trees and parenthesis words the anser is... YES

( ( ( ( ) ) )

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: binary and ordered trees

(16)

And for labeled trees?

(17)

2 3

1

5

6 8 9 10 7

4

Labeled ordinal trees

a

c c

b d

b b

a c d b

0

lab degree(α, v)

lab child(α, v, i) lab rank(α, v, w)

lab child( d . , 7, 1) = 9 lab degree( b . , 1) = 2

(Barbay et al. ’06)

(18)

2 3

1

5

6 8 9 10 7

4

Labeled ordinal trees

a

c c

b d

b b

a c d b

0

Prefix order

3

1 2

5 10

6

8 9

7 4

a

c c

b d

b b

a c d b

0

DFUDS order

S1 a c a b b b d c c b S2 a c c a b b b b c b

π

Descendants are listed consecutively Children are listed consecutively (Barbay et al. ’06)

d b d

(19)

Labeled ordinal trees

Prefix order π DFUDS order

Succinct encodings of strings (Golynski et al. ’06)

(Barbay et al. ’06)

S1 a c a b b b c c d b

string access(4) = b string rank ( b , 9 ) = 3

string select (α, c , 2 ) = 7

Space cost: n(lg σ + o(lg σ)) Time complexity: O(lg lg σ)

in O(1) time

S1 a c a b b b d c c bd b S2 a c c a b b b b c d b

(20)

Labeled ordinal trees

Prefix order

π

Navigation

(Barbay et al. ’06)

lab child( d . , 7, 1) = 9

S1 a c a b b b d c c b

S2 a c c a b b b b c b d b

d

string rank (...)

string select (...)

2 3

1

5

6 8 9 10 7

4

a

c c

b d

b b

a c d b

0

(21)

Which information?

Geometry and connectivity

Geometric object

Geometric information Combinatorial objetct

Geometric data

(22)

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

(23)

3D triangle meshes

VRML, 288 or 114 bits/vertex

[Touma Gotsman] ≈2bits/vertex (heuristic)

[Poulalhon Schaeffer] 3.24bits/vertex (optimal)

sim ple com pre ssion

[Edgebreaker] 3.67bits/vertex (guaranteed upper bound)

1101000110000010010000011001000000000 V5V5V6V5V4V5V8V5V5V4S4V3V4

CCCRCCRCCRECRRELCRE PS

TG

EB

impli cit enc odings

(24)

planar graphs: book embeddings and canonical orderings

Succinct encodings of unlabeled graphs: existing works

()(( ())( ()(( ()) ()))(()))(())

( ) ( ( ( ) ) ( ) ( ) ) ( ) ( ( ) ) ( ) ( )

2 3

5 4 6 8 7

9 10

11

[[[[ ] ] ][[[ [ ]][ ]][[[[[ [ ]][ ]] ][ [ ]]][ ]]]]

1 2 3 4 3 5 6 7 8 9 10 11

G T T

T G ([[[)(](][[[)])(]][) . . .

1.62m

Optimal bound Codage 3-conn. triang.

Jacobson 64n 64n

Munro Raman 8n + 2e 7m

Chuang et al. 2e + 2n 3.5m

Chiang et al. 2e + 2n 4m

Blandford et al. O(n) O(m)

Castelli et al. 2e 1.62m

(25)

Mesh compression algorithms

Existing works

Codage 3-conn. triang.

Jacobson 64n 64n

Munro Raman 8n + 2e 7m

Chuang et al. 2e + 2n 3.5m

Chiang et al. 2e + 2n 4m

Blandford et al. O(n) O(m)

Castelli et al. 2e 1.62m

Compact and succinct representations [Touma Gotsman] ≈1bits/face

[Poulalhon Schaeffer] 1.62bits/face [Edgebreaker] 1.84bits/face

Unlabeled case Labeled case

[Facefixer] Isenburg and Snoeyink

Unlabeled case

Labeled case

(26)

Our solution for succinctly representing graphs

(27)

Our scheme

1 2 3

...

Level 1:

Θ( n

log2 n) regions of size Θ(log2 n), represented by pointers to level 2

Level 2:

in each of the n

log2 n regions

Θ(log n) regions of size C log n, represented by pointers to level 3

Level 3: exhaustive catalog of all different region of size i < C log n:

complete explicit representation.

. . . . . .

Overview of the hierarchical structure

(28)

Our solution for representing labeled graphs

Our solution for representing labeled graphs

(29)

with n nodes

(Schnyder ’90)

A nice characterization of planar graphs

Realizer of a planar triangulation

Let T be a triangulation having outer face {x0, x1, xn−1}.

x

0

x

1

x

n−1

(30)

(Schnyder ’90)

A nice characterization of planar graphs

Realizer of a planar triangulation

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

x

0

x

1

x

n−1

n nodes

(31)

(Schnyder ’90)

A nice characterization of planar graphs

Realizer of a planar triangulation

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 must re- spect the local Schnyder condition

x

0

x

1

x

n−1

n nodes

(32)

(Schnyder ’90)

A nice characterization of planar graphs

Realizer of a planar triangulation

T

0

, T

1

, T

2

are vertex spanning trees of T :

x

0

x

1

x

n−1

n nodes

x

1

x

0

T

2

T

1

x

n−1

T

0

(33)

Succinct labeled triangulations

Main idea: find good orders on the vertices of a graph

(34)

0 2 3 1 5 4

6 7

8

9 10

11

4 3 0 2 5 6 7

8 9 10

1 0

1 3 2

5 4

6 7 8

9 )

(

( [[ [[ ( ( (] ] ]{[ [) )({ }]{)(}]{[ [ [ [) )({ }]{)

(

}] ]( ) )({ { }}

]

{)(}}}]))

1 2 3 4 5 6 8 9 10 11

0 1 4 3 7

S

11 4 3 2 6 5 10 9 8 7 2 3 4

1 6 7 8 9 10

π1 11 4 3 2 6 10 9 8 7 2 3 4

1 5 6 7 8 9 10

π1 4 6 10 9 8 7 2 5 3

2 3 4

1 5 6 7 8 9

π2

Main idea: find good orders on the vertices of a graph

Solution Combinatorial properties of

planar graphs

+

Our solution: general overview

rank/select on

strings

(35)

0 1

2

3

5 4 6

8

7 9 10

11

) (

( [ [[ [ ( ( ( ] ] ] { [[ ) )( )( { } ] { { } ] [ [ [ [ ) { ) ( ) } ] { ( } ] ] ( ) )( {{ }} ] { }} )( } ] ))

1 2 3 4 5 6 8 9 10 11

0 1 4 3 7

S

Multiple parenthesis string

Encoding the triangulation

(36)

0 1 11

( (

1 0

S

Constructing the parenthesis representation Encoding the triangulation

ccw preorder traveral of T0

T

0

(37)

0 1 11

Constructing the parenthesis representation Encoding the triangulation

( ( [

1 0

S

ccw preorder traveral of T0

T

0

(38)

0 1 11

Constructing the parenthesis representation Encoding the triangulation

( ( [

1 0

S [[ [

ccw preorder traveral of T0

T

0

(39)

0 1 11

Constructing the parenthesis representation Encoding the triangulation

( ( [

1 0

S [[ [ )( ]

1 2

2

ccw preorder traveral of T0

T

0

(40)

0 1 11

Constructing the parenthesis representation Encoding the triangulation

( ( [

1 0

S [[ [ )( ]

1 2

2

( ] ]

3 4

(

3 4

ccw preorder traveral of T0

T

0

(41)

0 1 11

Constructing the parenthesis representation Encoding the triangulation

( ( [

1 0

S [[ [ )( ]

1 2

2

( ] ]

3 4

(

3 4

{ [ ) {

4 3

[ )

ccw preorder traveral of T0

T

0

(42)

0 1 11

Constructing the parenthesis representation Encoding the triangulation

( ( [

1 0

S [[ [ )( ]

1 2

2

( ] ]

3 4

(

3 4

{ [ ) {

4 3

[ )( )( }{ ]

5 6

5 6

ccw preorder traveral of T0

T

0

(43)

0 1 11

Constructing the parenthesis representation Encoding the triangulation

( ( [

1 0

S [[ [ )( ]

1 2

2

( ] ]

3 4

(

3 4

{ [ ) {

4 3

[ )( )( }{ ]

5 6

5 6

) ) ( ] [ [ [ [

}{ {

7

7

ccw preorder traveral of T0

T

0

(44)

0 1 11

Constructing the parenthesis representation Encoding the triangulation

( ( [

1 0

S [[ [ )( ]

1 2

2

( ] ]

3 4

(

3 4

{ [ ) {

4 3

[ )( )( }{ ]

5 6

5 6

) ) ( ] [ [ [ [

}{ {

7

7

) ( ( ) )( )( ] ))

] ] ] ]

} { } {{ }} { }} }

10 11 8 9

ccw preorder traveral of T0

T

0

(45)

Defining 3 orders on the vertices of the graph Last step

0 2 3 1

5 4 6 8 7

9 10

11

4 3 0 2 5

6 7

8 9 10

1 0

1 3 2

5 4

6 7 8

9

) (

( ( ( ( ) ) ( ) ( ) ) ( )

1 2 3 4 5 6 7 ( ( ) ) ( ) ( ) 1011 8 9

S0 )

S1 [ [ [ [ ] ] ] [ [ ] ] [ [ [ [ ] ] ] ] ] 114 3 2 6 5 109 8 7

0

{ }{ { { }} { { {{ } } }} { } } S2

4 6 9 10

7 8 5 2

3 ) (

( [[ [[ ( ( (] ] ]{[ [ ) )({ }]{)(}]{[ [ [ [) )({ }]{)

(

}] ]( ) )({ { }}

]

{)(}}}])) S

114 3 2 6 5 10 9 8 7 2 3 4

1 6 7 8 9 10

π1 114 3 2 6 10 9 8 7 2 3 4

1 5 6 7 8 9 10 π1

4 6 10 9 8 7 2 5 3 2 3 4

1 5 6 7 8 9

π2

T

0

T

1

T

2

(46)

A succinct representation of (vertex) labeled graphs

Theorem

For labeled planar triangulations with e edges and n vertices , with σ labels associated with vertices, there exists a succinct representation which requires

(2 log2 6 + ε)e + o(e) + n · o(lg σ) bits while supporting labeled based navigation in

O((lg lg lg σ)2 lg lg σ) time

(Barbay, Castelli Aleardi, He and Munro)

For large σ

(2 log2 6)e ≈ 3(2 log2 6)n << n · lg σ

(47)

Another result

(for edge labeled graphs)

(48)

Book embedding and planar graphs

((( )(( ) ( )))((( )( ))

1 2 3 4 5 6 7 8

One page graph (outerplanar graph)

))

Planar graphs admit a 4-pages book embedding

(49)

Book embedding and planar graphs

((( )(( ) ( )))((( )( ))

1 2 3 4 5 6 7 8

One page (edge) labeled graph

)) a

a a

a

a

c b c

b b

Σ = {a, b, c}

n = 8

1000 1000 10 10 1000000 100 100 100

aaa bb a cab c

a b aba b ca ca

(50)

future work

(51)

• Extension to poygonal meshes

Future work

3-connected planar graph quadrangulation

• Improving the dominant term

• new (more interesting) label navigation operations

(2 log

2

6)e + o(e) + n o(lg σ ) ? 1.08e + o(e) + n o(lg σ)

(optimal) entropy bound

Références

Documents relatifs

- USED TO IDENTIFY IF THE 8087 IS EXECUTING AN INSTRUCTION ST ACK TOP POINTER - USED TO IDENTIFY THE REGISTER THAT IS THE CURRENT STACK TOP CONDITION CODE

Intel Corporation makes no warranty for the use of its products and assumes no responsibility for al1Y errors which may appear in this document nor dOles it make a commitment

When the logic consists of arbitrary elements, the linear theory fails since the eQuations describing the next state in terms of the present state are not

Nous vous remercions de votre aide pour veiller à ce que ce prolongement de la journée de l’inspection soit effectif dans un conseil d’enseignement ou toute

So sind zuk¨ unftig eine Parametrisierung der Planung, eine Wissensbasis zur optimalen 3D-Planung als auch eine Simulation des OP-Ergebnisses zwin- gende Bestandteile

la journée es et maths Chapuisat D Bouhnik. femmes

Le moteur de cette frontière économique, c’est l’énergie résultant de la collision de deux mondes, d’un côté des centaines de milliers de demandeurs d’emplois

KheiraBettayeb PatriciaChairopoulos CarolineDangléant SéverineDuparcq OlivierGalland LaurianneGeffroy MathieuGrousson CoralieHancok AzarKhalatbari CamilleLamotte