Compact and Distributed Data Structures Cyril Gavoille (LaBRI, - - PowerPoint PPT Presentation

compact and distributed data structures
SMART_READER_LITE
LIVE PREVIEW

Compact and Distributed Data Structures Cyril Gavoille (LaBRI, - - PowerPoint PPT Presentation

Compact and Distributed Data Structures Cyril Gavoille (LaBRI, University of Bordeaux) 44 th Ecole de Printemps en Informatique Thorique (EPIT) - Distributed Computing - le de Porquerolles, May 15-19, 2017 Information & Locality


slide-1
SLIDE 1

Compact and Distributed Data Structures

Cyril Gavoille

(LaBRI, University of Bordeaux)

44th Ecole de Printemps en Informatique Théorique (EPIT)

  • Distributed Computing -

Île de Porquerolles, May 15-19, 2017

slide-2
SLIDE 2

Understanding what information are needed to achieve a computational task is a central question not only in DC (eg., data structure theory, communication complexity,…) The ultimate goal in Labeling Schemes is to understand how localized and how much information are required to solve a given task on a network.

Information & Locality

slide-3
SLIDE 3

Routing query: next hop to go from x to y?

x y

Task1: Routing in a physical network

  • pre-processing to compute routing information
  • a node x stores only routing information involving x

⇒ distributed data structure

slide-4
SLIDE 4

Task2: Ancestry in rooted trees

Motivation: [Abiteboul,Kaplan,Milo ’01]

The <TAG> … </TAG> structure of a huge XML data-base is a rooted tree. Some queries are ancestry relations in this tree. Use compact index for fast query XML search engine. Here the constants do matter. Saving 1 byte of fast memory on each entry

  • f the index table is important. Here n is large, ~ 109.

Ex: Is <“distributed computing”> descendant of <booktitle>?

slide-5
SLIDE 5

[a,b] ⊆ [c,d]? ⇒ 2logn bit labels

1 L(x)=[2,18] 3 4 5 6 7 8 9 10 L(y)=[13,18] 18 L(w)=[22,27] 24 27 12 11 14 16 23 26 25 17 15 21 20 19

Folklore solution: DFS labelling

slide-6
SLIDE 6

[Alstrup,Rauhe – Siam J.Comp. ’06] [Fraigniaud,Korman – STOC’10]

Best solution: logn + θ(loglogn) bit labels

slide-7
SLIDE 7

A distributed data structure

  • Get the labels of nodes involved in the query
  • Compute/decode the answer from the labels
  • No other source of information is required
slide-8
SLIDE 8

Some labelling schemes

  • Adjacency
  • Distance (exact or approximate)
  • First edge on a (near) shortest path
  • Ancestry, parent, nca, sibling relations in trees
  • Edge/vertex connectivity, flow
  • Proof labelling systems
slide-9
SLIDE 9

Agenda

1.

Distance Labelling in General Graphs

2.

Distance Labelling in Trees

3.

Routing in Trees

4.

Nearest Common Ancestor Labelling

5.

Forbidden-Set Labelling

6.

Distance in Planar Graphs

7.

Distance in Minor-Free Graphs

slide-10
SLIDE 10

Agenda

  • 1. Distance Labelling in General Graphs

2.

Distance Labelling in Trees

3.

Routing in Trees

4.

Nearest Common Ancestor Labelling

5.

Forbidden-Set Labelling

6.

Distance in Planar Graphs

7.

Distance in Minor-Free Graphs

slide-11
SLIDE 11

The Distance Labelling Problem

Given a graph, find a labelling of its nodes such that the distance between any two nodes can be computed by inspecting only their labels.

Subject to:

  • label the nodes of every graph of a family (scheme),
  • using short labels (size measured in bits), and
  • with a fast distance decoder (algorithm)

0000 1111 0001 0011 0111

slide-12
SLIDE 12

Motivation


[Peleg ’99]

If a short label (say of poly-logarithmic size) can be added to the address of the destination, then routing to any destination can be done without routing tables and with a “limited” number of messages. dist(x,y) x

message header=hop-count

slide-13
SLIDE 13

Motivation


[Peleg ’99]

If a short label (say of poly-logarithmic size) can be added to the address of the destination, then routing to any destination can be done without routing tables and with a “limited” number of messages. dist(x,y) x

message header=hop-count

slide-14
SLIDE 14

Motivation


[Peleg ’99]

If a short label (say of poly-logarithmic size) can be added to the address of the destination, then routing to any destination can be done without routing tables and with a “limited” number of messages. dist(x,y) x

message header=hop-count

slide-15
SLIDE 15

Motivation


[Peleg ’99]

If a short label (say of poly-logarithmic size) can be added to the address of the destination, then routing to any destination can be done without routing tables and with a “limited” number of messages. dist(x,y) x

message header=hop-count

slide-16
SLIDE 16

Motivation


[Peleg ’99]

If a short label (say of poly-logarithmic size) can be added to the address of the destination, then routing to any destination can be done without routing tables and with a “limited” number of messages. dist(x,y) x

message header=hop-count

slide-17
SLIDE 17

Motivation


[Peleg ’99]

If a short label (say of poly-logarithmic size) can be added to the address of the destination, then routing to any destination can be done without routing tables and with a “limited” number of messages. dist(x,y) x

message header=hop-count

y

slide-18
SLIDE 18

Label Size:


a trivial upper bound

There is a labelling scheme using labels of O(nlogn) bits for every (unweighted) graph G with n nodes, and constant time decoding. LG(i)=(i, [dist(i,1),…,dist(i,j),…,dist(i,n)] ) ➟ distance vector

slide-19
SLIDE 19

Label Size:


a trivial lower bound

No labelling scheme can guarantee labels of less than 0.5n bits for all n-node graphs (whatever the distance decoder

complexity is)

  • Proof. The sequence ⟨LG(1),…,LG(n)⟩ and the decoder

δ(.,.) is a representation of G on n.k+O(1) bits if each label has size k: i adjacent to j iff δ(LG(i),LG(j))=1. n.k + O(1) ≥ log2(#graphs(n))=n.(n-1)/2 ■

slide-20
SLIDE 20

Squashed Cube Dimension


[Graham,Pollack ’71]

Labeling: word over {0,1,*} Decoder: Hamming distance (where *=don’t care) (graphs must be connected) SCdim(G)≥max{n+,n-}

n+/-=#positive/negative eigen- values of the distance matrix of G

SCdim(Kn)=n-1

slide-21
SLIDE 21

Squashed Cube Dimension


[Winkler ’83]

  • Theorem. Every connected n-node graph has squashed

cube dimension at most n-1. Therefore, for the family of all connected n-node graphs: Label size: O(n) bits, in fact nlog23 ~ 1.58n bits Decoding time: O(n/logn) in the RAM model Rem: all graphs = connected graphs + O(logn) bits

slide-22
SLIDE 22

Current best solution

Label size: n(log23)/2 ~ 0.793n bits Decoding time: O(1)

slide-23
SLIDE 23

Agenda

1.

Distance Labelling in General Graphs

  • 2. Distance Labelling in Trees

3.

Routing in Trees

4.

Nearest Common Ancestor Labelling

5.

Forbidden-Set Labelling

6.

Distance in Planar Graphs

7.

Distance in Minor-Free Graphs

slide-24
SLIDE 24

Un oracle simple pour les arbres

Idée générale : compresser et « localiser » les informations

slide-25
SLIDE 25

Un oracle simple pour les arbres

Idée générale : compresser et « localiser » les informations

r

  • 1. Choisir un nœud r arbitraire comme racine de T
slide-26
SLIDE 26

Un oracle simple pour les arbres

Idée générale : compresser et « localiser » les informations

P r

  • 1. Choisir un nœud r arbitraire comme racine de T
  • 2. Prendre un chemin P qui « coupe en deux » T
slide-27
SLIDE 27

Un oracle simple pour les arbres

Idée générale : compresser et « localiser » les informations

P x : (r, 4, 5) a r

  • 1. Choisir un nœud r arbitraire comme racine de T
  • 2. Prendre un chemin P qui « coupe en deux » T
  • 3. Le nœud x stocke (r, d, h) où d = dT(x, a) et h = dT(r, a)
slide-28
SLIDE 28

Un oracle simple pour les arbres

Idée générale : compresser et « localiser » les informations

x : (r, 4, 5)

  • 1. Choisir un nœud r arbitraire comme racine de T
  • 2. Prendre un chemin P qui « coupe en deux » T
  • 3. Le nœud x stocke (r, d, h) où d = dT(x, a) et h = dT(r, a)
  • 4. Recommencer avec les nœuds restant de T \ P
slide-29
SLIDE 29

Décodage de la distance et analyse

Le nœud x stocke : (r1, d1, h1), . . . , (rk, dk, hk) où dk = 0 Distance entre x et y :

  • 1. Calculer le plus grand i tq ri(x) = ri(y)
  • 2. renvoyer di(x) + di(y) + |hi(x) − hi(y)|

ri y x

slide-30
SLIDE 30

Décodage de la distance et analyse

Le nœud x stocke : (r1, d1, h1), . . . , (rk, dk, hk) où dk = 0 Distance entre x et y :

  • 1. Calculer le plus grand i tq ri(x) = ri(y)
  • 2. renvoyer di(x) + di(y) + |hi(x) − hi(y)|

ri y x

Complexité : O(k) = O(log n) [O(1) possible] Pré-calcul : O(nk) = O(n log n) [O(n) possible]

slide-31
SLIDE 31

Agenda

1.

Distance Labelling in General Graphs

2.

Distance Labelling in Trees

  • 3. Routing in Trees

4.

Nearest Common Ancestor Labelling

5.

Forbidden-Set Labelling

6.

Distance in Planar Graphs

7.

Distance in Minor-Free Graphs

slide-32
SLIDE 32
slide-33
SLIDE 33

u v

slide-34
SLIDE 34

1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 [7,9] 2

1 3

[10,3] 4 [5,6] 4:([5,6]:1,[7,9]:2,[10,3]:3)

slide-35
SLIDE 35

4:

#1 #2 #3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0

slide-36
SLIDE 36

..... .....

slide-37
SLIDE 37

1 2 3 5 6 7 8 9 10 11 12 13 14 15 16

2 1 3

3 4 2 4:(2,3)

slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40

2 2 1 1 1

9 5 6 10 15 16 14 13 12 11 7 8

1

3 4

1 1 3 1

2

1 1 1 2 3 1 1 1 2 1 2 2 1 1 3 2 3 2 3 2

<3,6,3,0> <12,2,1,1> r=1

slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45

Agenda

1.

Distance Labelling in General Graphs

2.

Distance Labelling in Trees

3.

Routing in Trees

  • 4. Nearest Common Ancestor Labelling

5.

Forbidden-Set Labelling

6.

Distance in Planar Graphs

7.

Distance in Minor-Free Graphs

slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48
slide-49
SLIDE 49

=light

=heavy

slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54
slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57

3

slide-58
SLIDE 58

3

0. 0. 0. 0. 0.

3 4 5 8 9 10 11 12 13 14 15 2 1 7 6

slide-59
SLIDE 59

3

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0. 0. 0. 0. 0.

slide-60
SLIDE 60

3

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0. 0. 0. 0. 0.

slide-61
SLIDE 61

3

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0.0 01 1 11 1111 0. 0. 0. 0.

slide-62
SLIDE 62

3

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0.0 01 1 11 1111 0. 0. 0. 0.

slide-63
SLIDE 63
slide-64
SLIDE 64
slide-65
SLIDE 65

3b (field delimiter) (mask for light label test) 4b 2b 5b bits 3b bits bits bits bits

slide-66
SLIDE 66

100 (field delimiter) 1000 10 100 10000 000 1111 00 111 00000 (mask for light label test)

slide-67
SLIDE 67

100 1000 10 100 10000 00000 111 00 1111 000

slide-68
SLIDE 68

100 1000 10 100 10000 00000 111 00 1111 000

slide-69
SLIDE 69

100 1000 10 100 10000 00000 111 00 1111 000

slide-70
SLIDE 70

Agenda

1.

Distance Labelling in General Graphs

2.

Distance Labelling in Trees

3.

Routing in Trees

4.

Nearest Common Ancestor Labelling

  • 5. Forbidden-Set Labelling

6.

Distance in Planar Graphs

7.

Distance in Minor-Free Graphs

slide-71
SLIDE 71

Forbidden-set labelling scheme


(extension of labelling scheme)

◆ Goal: to treat more elaborated queries

Given (u,v,w): is there a path from u to v in G\{w}?

slide-72
SLIDE 72

Forbidden-set labelling scheme


(extension of labelling scheme)

◆ Goal: to treat more elaborated queries

Given (u,v,w): is there a path from u to v in G\{w}?

[this particular task reduces to classical nca-labelling scheme for the bicomponent/cut-vertex tree: ⇒ O(logn) bit labels]

slide-73
SLIDE 73

Forbidden-set labelling scheme


(extension of labelling scheme)

◆ Goal: to treat more elaborated queries

Given (u,v,w): is there a path from u to v in G\{w}?

[this particular task reduces to classical nca-labelling scheme for the bicomponent/cut-vertex tree: ⇒ O(logn) bit labels]

◆ Challenge: Given (u,v,w1,…,wk): is there a path from

u to v in G\{w1,…,wk}?

u v

slide-74
SLIDE 74

Emergency planning for connectivity

◆ Motivation: parallel attack (link/node failure in IP

black-bone, earthquake on road networks, malicious attack from worms or viruses,…)

[Patrascu,Thorup - FOCS’07]

slide-75
SLIDE 75

Emergency planning for connectivity

◆ Motivation: parallel attack (link/node failure in IP

black-bone, earthquake on road networks, malicious attack from worms or viruses,…)

◆ conn(u,v) ⇒ constant time (after pre-processing G) ◆ conn(u,v,w) ⇒ constant time (after pre-proc. G)

[Patrascu,Thorup - FOCS’07]

slide-76
SLIDE 76

Emergency planning for connectivity

◆ Motivation: parallel attack (link/node failure in IP

black-bone, earthquake on road networks, malicious attack from worms or viruses,…)

◆ conn(u,v) ⇒ constant time (after pre-processing G) ◆ conn(u,v,w) ⇒ constant time (after pre-proc. G) ◆ conn(u,v,w1,…,wk) ⇒ O(k) or Õ(k) time? (after pre-

  • proc. G), and constant time? (after pre-proc. w1…wk)

[Patrascu,Thorup - FOCS’07]

slide-77
SLIDE 77

Emergency planning for connectivity

◆ Motivation: parallel attack (link/node failure in IP

black-bone, earthquake on road networks, malicious attack from worms or viruses,…)

◆ conn(u,v) ⇒ constant time (after pre-processing G) ◆ conn(u,v,w) ⇒ constant time (after pre-proc. G) ◆ conn(u,v,w1,…,wk) ⇒ O(k) or Õ(k) time? (after pre-

  • proc. G), and constant time? (after pre-proc. w1…wk)

◆ Note: O(n+m) time is too much. Need a query time

depending only on the #nodes involved in the query.

[Patrascu,Thorup - FOCS’07]

slide-78
SLIDE 78

Assume there is a failure x (node or edge) due to: flooding, earthquake, damage, attack …

slide-79
SLIDE 79

Assume there is a failure x (node or edge) due to: flooding, earthquake, damage, attack … How to find efficiently the connected component of any node u in G\{x}? ➟ Update all the component labels with a linear time traversal of G\{x}, and then answer in O(1) for each query node u.

slide-80
SLIDE 80

Main issue: G is extremely large, and even linear time is too much in case of emergency! We would like the answer immediately. If we pre-process G accordingly, can we then quickly answer queries “is there a path from u to v in G\{x}”?

slide-81
SLIDE 81

Yes we can!

Pre-process G in a more clever way. Identify cut-vertices, the component- tree and design an efficient NCA data structure (all take linear time). u,v are not connected in G\{x} iff x is a cut-vertex on the path from c(u) to c(v) in the component-tree.

slide-82
SLIDE 82

Forbidden-set labelling scheme

[Courcelle,Twigg - STACS’07]

A P –forbidden-set labeling scheme for F is a pair ‹L,f› s.t. ∀ G ∈F, ∀u,v ∈ G, ∀ X ⊆ G:

  • L(u,G) is a binary string
  • f(L(u,G),L(v,G),L(X,G)) = P (u,v,X,G)

where L(X,G):={L(w,G):w ∈ X}

Let P be a graph property defined on pairs of vertices, and let F be a graph family.

slide-83
SLIDE 83

FS connectivity labelling

[Courcelle,G.,Kanté,Twigg – TGGT’08] [Borradaile,Pettie,Wulff-Nilsen – SWAT’12] Connectivity in planar graphs: O(logn) bit labels

[O(loglogn) query time after O(klogk) time for query pre-processing]

slide-84
SLIDE 84

FS connectivity labelling

[Courcelle,G.,Kanté,Twigg – TGGT’08] [Borradaile,Pettie,Wulff-Nilsen – SWAT’12] Connectivity in planar graphs: O(logn) bit labels

[O(loglogn) query time after O(klogk) time for query pre-processing]

Meta-Theorem: [Courcelle,Twigg – STACS’07] If G has “clique-width” at most cw (generalization of tree-width) and if predicate P is expressed in MSO-logic (like distances, connectivity, …), then labels of O(cw2 log2n)-bit suffice. Notes: same (optimal) bounds for distances in trees for the static case, but do not include planar …

slide-85
SLIDE 85

Routing with forbidden-sets

Design a routing scheme for G s.t. for every subset X

  • f “forbidden” nodes (crashes, malicious, …) routing

tables can be updated efficiently provided X. ⇒ This capture routing policies

@(y) router: x L(w1) … L(wk) next-hop to y in G\{w1…wk}

slide-86
SLIDE 86

Some results for FS routing

[Courcelle,Twigg – STACS’07] Clique-width cw: O(cw2log2n) bit labels and routing tables for shortest path routing. [Abraham,Chechik,G.,Peleg – PODC’10] Doubling dimension-α: O(1+ε−1)2α log2n bit labels and routing tables for stretch 1+ε routing (wrt. shortest path) [Abraham,Chechik,G. – STOC’12] Planar: O(ε−1 log3n) bit routing tables and O(ε−2 log5n) bit labels for stretch 1+ε routing

slide-87
SLIDE 87

(1) [Courcelle,G.,Kanté,Twigg – TGGT’08] (2) [Borradaile,Pettie,Wulff-Nilsen – SWAT’12] Pre-processing time: O(n) Query pre-processing time: O(|X|log|X|) (2) Space: O(n) & Q. Time: O(loglogn) (1) Space: O(logn) bit labels & Q. time: O(√logn) (2) can be generalized to H-minor free graphs

Focus on Connectivity


(in planar graphs)

slide-88
SLIDE 88

[Here X subset of edges only ... much more tricky otherwise]

Main Idea (1)

slide-89
SLIDE 89

[Here X subset of edges only ... much more tricky otherwise]

Main Idea (1)

slide-90
SLIDE 90

[Here X subset of edges only ... much more tricky otherwise]

Main Idea (1)

slide-91
SLIDE 91

[Here X subset of edges only ... much more tricky otherwise]

Main Idea (1)

slide-92
SLIDE 92

[Here X subset of edges only ... much more tricky otherwise]

Main Idea (1)

slide-93
SLIDE 93

[Here X subset of edges only ... much more tricky otherwise]

Main Idea (1)

Query = PLANAR POINT LOCATION in O(√logn) time (polynomial

coordinates)

Note: space does NOT depend on |X|.

slide-94
SLIDE 94

FindG\X(u)?

(find some identifier of the component of u in G\X)

A Simple Solution for Trees

u

slide-95
SLIDE 95

FindG\X(u)?

(find some identifier of the component of u in G\X)

1.Find the closest failure x ancestor of u

A Simple Solution for Trees

u

slide-96
SLIDE 96

FindG\X(u)?

(find some identifier of the component of u in G\X)

1.Find the closest failure x ancestor of u

A Simple Solution for Trees

u

slide-97
SLIDE 97

FindG\X(u)?

(find some identifier of the component of u in G\X)

1.Find the closest failure x ancestor of u 2.Next-hop when routing from x to u in the tree

A Simple Solution for Trees

u

slide-98
SLIDE 98

Label(z):=<[a(z),b(z)],@(z)>

[a(z),b(z)]=first/last visit time in Euler tour @(z)=routing label for routing to/from z x0:[1,72] x1:[3,46] x2:[29,43] x3:[60,66]

slide-99
SLIDE 99

S=[1 [3 [29 43] 46] [60 66] 72] A= x0 x1 x2 x1 x0 x3 x0 - x0:[1,72] x1:[3,46] x2:[29,43] x3:[60,66]

slide-100
SLIDE 100

FindG\X(u):=(x,route(@(x),@(u))) x=A[p] (closest ancestor failure) p=PREDS(a(u))=max{s∈S:s≤a(u)} (predecessor) S=[1 [3 [29 43] 46] [60 66] 72] A= x0 x1 x2 x1 x0 x3 x0 - x0:[1,72] x1:[3,46] x2:[29,43] x3:[60,66] a(u)=23

slide-101
SLIDE 101

FindG\X(u):=(x,route(@(x),@(u))) x=A[p] (closest ancestor failure) p=PREDS(a(u))=max{s∈S:s≤a(u)} (predecessor) S=[1 [3 [29 43] 46] [60 66] 72] A= x0 x1 x2 x1 x0 x3 x0 - x0:[1,72] x1:[3,46] x2:[29,43] x3:[60,66] ➟ Space: O(logn) bit labels Query pre-processing: O(SORT(|X|,n)) Query time: O(min{log|X|,loglogn}) a(u)=23

slide-102
SLIDE 102

Query Time Lower Bound


Why Ω(loglogn) is required? (for large |X|)

Given X and FindPath\X we construct an associative table Tab[FindPath\X(xi+1)]=xi in time O(|X|log|X|). Path ➟ PREDX(u)=Tab[FindPath\X(u)] ➟ Query-time(PREDX) ≤ Query-time(FindPath\X)+O(1) 1 2 … x1 x2 … xk n

slide-103
SLIDE 103

Query Time Lower Bound


Why Ω(loglogn) is required? (for large |X|)

[Patrascu,Thorup – STOC’06] Any data structure with space Õ(|X|) and supporting PREDX queries requires query time Ω(loglogn) provided |X|∈[nε,n1-ε]. Given X and FindPath\X we construct an associative table Tab[FindPath\X(xi+1)]=xi in time O(|X|log|X|). Path ➟ PREDX(u)=Tab[FindPath\X(u)] ➟ Query-time(PREDX) ≤ Query-time(FindPath\X)+O(1) 1 2 … x1 x2 … xk n

slide-104
SLIDE 104

Agenda

1.

Distance Labelling in General Graphs

2.

Distance Labelling in Trees

3.

Routing in Trees

4.

Nearest Common Ancestor Labelling

5.

Forbidden-Set Labelling

  • 6. Distance in Planar Graphs

7.

Distance in Minor-Free Graphs

slide-105
SLIDE 105

Distance labeling in planar networks

Shortest path metrics of planar graphs are difficult to capture Planars are 6= Euclidian networks (TSP, `p embedding, ...) Planars have no tree structure, treewidth can be Ω(pn)

slide-106
SLIDE 106

Distance labeling in planar networks

Shortest path metrics of planar graphs are difficult to capture Planars are 6= Euclidian networks (TSP, `p embedding, ...) Planars have no tree structure, treewidth can be Ω(pn) Some history stretch label size (bits) reference 1 n1/3... n1/2 log ∆ G., Peleg et al .

[SODA ’01]

slide-107
SLIDE 107

Distance labeling in planar networks

Shortest path metrics of planar graphs are difficult to capture Planars are 6= Euclidian networks (TSP, `p embedding, ...) Planars have no tree structure, treewidth can be Ω(pn) Some history stretch label size (bits) reference 1 n1/3... n1/2 log ∆ G., Peleg et al .

[SODA ’01]

3 n1/3 log ∆ G., Peleg et al.

[ESA ’01]

slide-108
SLIDE 108

Distance labeling in planar networks

Shortest path metrics of planar graphs are difficult to capture Planars are 6= Euclidian networks (TSP, `p embedding, ...) Planars have no tree structure, treewidth can be Ω(pn) Some history stretch label size (bits) reference 1 n1/3... n1/2 log ∆ G., Peleg et al .

[SODA ’01]

3 n1/3 log ∆ G., Peleg et al.

[ESA ’01]

3 log n log ∆ Gupta et al.

[SICOMP ’05]

slide-109
SLIDE 109

Distance labeling in planar networks

Shortest path metrics of planar graphs are difficult to capture Planars are 6= Euclidian networks (TSP, `p embedding, ...) Planars have no tree structure, treewidth can be Ω(pn) Some history stretch label size (bits) reference 1 n1/3... n1/2 log ∆ G., Peleg et al .

[SODA ’01]

3 n1/3 log ∆ G., Peleg et al.

[ESA ’01]

3 log n log ∆ Gupta et al.

[SICOMP ’05]

1 + " "−1 log n log ∆ Thorup

[JACM ’04]

slide-110
SLIDE 110

Shortest-path separator

Lemma

Every n-node planar graph G has a shortest-path tree T with at most 3 leaves such that each component of G \ T has 6 n/2 nodes.

slide-111
SLIDE 111

Shortest-path separator

Lemma

Every n-node planar graph G has a shortest-path tree T with at most 3 leaves such that each component of G \ T has 6 n/2 nodes. C A B

w(R) =#nodes in region R

slide-112
SLIDE 112

Shortest-path separator

Lemma

Every n-node planar graph G has a shortest-path tree T with at most 3 leaves such that each component of G \ T has 6 n/2 nodes. C A B

w(R) =#nodes in region R w(A), w(B), w(C) 6 n/2: done

slide-113
SLIDE 113

Shortest-path separator

Lemma

Every n-node planar graph G has a shortest-path tree T with at most 3 leaves such that each component of G \ T has 6 n/2 nodes. C A B

w(R) =#nodes in region R w(A), w(B), w(C) 6 n/2: done

  • r w(C) > n/2
slide-114
SLIDE 114

Shortest-path separator

Lemma

Every n-node planar graph G has a shortest-path tree T with at most 3 leaves such that each component of G \ T has 6 n/2 nodes. C A B

w(R) =#nodes in region R w(A), w(B), w(C) 6 n/2: done

  • r w(C) > n/2

w(A) + w(B) 6 n/2

slide-115
SLIDE 115

Shortest-path separator

Lemma

Every n-node planar graph G has a shortest-path tree T with at most 3 leaves such that each component of G \ T has 6 n/2 nodes. C A B

w(R) =#nodes in region R w(A), w(B), w(C) 6 n/2: done

  • r w(C) > n/2

w(A) + w(B) 6 n/2 merge & repeat

slide-116
SLIDE 116

Shortest-path separator

Lemma

Every n-node planar graph G has a shortest-path tree T with at most 3 leaves such that each component of G \ T has 6 n/2 nodes. C0 B0 A0

w(R) =#nodes in region R w(A), w(B), w(C) 6 n/2: done

  • r w(C) > n/2

w(A) + w(B) 6 n/2 merge & repeat w(C0) < w(C)

slide-117
SLIDE 117

Shortest-path tree-decomposition

log n Xt s Xs t

Xu = highest separator where node u belongs to

slide-118
SLIDE 118

Shortest-path tree-decomposition

log n Xt s Xs t

Let P be any path s ! t. Property 1. 9Q 2 ancestor(Xs) \ ancestor(Xt), Q \ P 6= ∅.

slide-119
SLIDE 119

Landmark and ε-cover

s2 Q s s0 s1 s3 s0

1

s0

2

s0

3

Property 2. For every s and Q, at most 1 + 4/ε landmarks suffices to ε-cover every x ∈ Q, i.e., dG(s, si) + dQ(si, x) 6 (1 + ε) · dG(s, x) for some landmark si.

slide-120
SLIDE 120

Landmark and ε-cover

x Q s s0 s1 s3 s0

1

s0

2

s0

3

s2

Property 2. For every s and Q, at most 1 + 4/ε landmarks suffices to ε-cover every x ∈ Q, i.e., dG(s, si) + dQ(si, x) 6 (1 + ε) · dG(s, x) for some landmark si.

slide-121
SLIDE 121

Landmark and ε-cover

t0 Q s t P s0

Property 3. If Q intersects P, then there are landmarks si, tj

  • st. dG(s, si) + dQ(si, tj) + dG(tj, t) 6 (1 + ε) · dG(s, t).
slide-122
SLIDE 122

Conclusion

Properties 1, 2 & 3 show that each node only needs to store at most (1 + 4/ε) × 3 log n distances informations, that is O(ε−1 log n log ∆) bits per node label, to (1 + ε)-approximate any s, t-distance in the graph. ⇤

slide-123
SLIDE 123

Agenda

1.

Distance Labelling in General Graphs

2.

Distance Labelling in Trees

3.

Routing in Trees

4.

Nearest Common Ancestor Labelling

5.

Forbidden-Set Labelling

6.

Distance in Planar Graphs

  • 7. Distance in Minor-Free Graphs

(what is a minor?)

slide-124
SLIDE 124

What is a minor?

A minor of G is a subgraph of a graph obtained from G by edge contraction. A H-minor free graph is a graph without minor H.

slide-125
SLIDE 125

What is a minor?

A minor of G is a subgraph of a graph obtained from G by edge contraction. A H-minor free graph is a graph without minor H.

slide-126
SLIDE 126

What is a minor?

A minor of G is a subgraph of a graph obtained from G by edge contraction. A H-minor free graph is a graph without minor H.

slide-127
SLIDE 127

Some H-minor free graph families

Trees are K3-minor free Outerplanar graphs are K2,3-minor free Series-Parallel graphs are K4-minor free Planar are K5-minor free (and also K3,3-minor free) Genus-g graphs are K5+b2√3gc-minor free Treewidth-t graphs are Kt+2-minor free The graphs of any minor closed families F are H-minor free for some H = H(F).

slide-128
SLIDE 128

Excercise: is there a K2,4-minor?

slide-129
SLIDE 129

Excercise: is there a K2,4-minor?

slide-130
SLIDE 130

Excercise: is there a K2,4-minor?

slide-131
SLIDE 131

Excercise: is there a K2,4-minor?

slide-132
SLIDE 132

Excercise: is there a K2,4-minor?

slide-133
SLIDE 133

K5-minor free graphs

Theorem (Wagner - 1937)

Every K5-minor free graph has a tree-decomposition whose bags intersect in at most 3 vertices, and induced a planar graph or a V8. Corollary: 4-coloring of K5-minor free graphs ⇔ 4CC.

slide-134
SLIDE 134

H-minor free graphs

Theorem (Robertson & Seymour - Graph Minor 16)

Every H-minor free graph has a tree-decomposition whose bags intersect in 6 k vertices, and induced graphs that either have 6 k vertices, or are k-almost embeddable on a surface Σ

  • n which H has no embedding.
slide-135
SLIDE 135

H-minor free graphs

Theorem (Robertson & Seymour - Graph Minor 16)

Every H-minor free graph has a tree-decomposition whose bags intersect in 6 k vertices, and induced graphs that either have 6 k vertices, or are k-almost embeddable on a surface Σ

  • n which H has no embedding.
slide-136
SLIDE 136

H-minor free graphs

Theorem (Robertson & Seymour - Graph Minor 16)

Every H-minor free graph has a tree-decomposition whose bags intersect in 6 k vertices, and induced graphs that either have 6 k vertices, or are k-almost embeddable on a surface Σ

  • n which H has no embedding.

Wagner’s Theorem : H = K5, k = 3, Σ = S0.

slide-137
SLIDE 137
slide-138
SLIDE 138

Problem: the constant!

The structure given by [RS] Theorem is not fine enough for practical use. No bounds on k = k(H) is known!

slide-139
SLIDE 139

Problem: the constant!

The structure given by [RS] Theorem is not fine enough for practical use. No bounds on k = k(H) is known! Bounds if H is planar [RST ’94]: the tree-decomposition has width k = k(H), and thus has a (k + 1)-coloring. Problem: k 6 202(|V (H)|+4|E(H)|)5 ...

slide-140
SLIDE 140

Problem: the constant!

The structure given by [RS] Theorem is not fine enough for practical use. No bounds on k = k(H) is known! Bounds if H is planar [RST ’94]: the tree-decomposition has width k = k(H), and thus has a (k + 1)-coloring. Problem: k 6 202(|V (H)|+4|E(H)|)5 ... So excluding H = K4 leads to treewidth of at most 400285. In fact this is 2, such graphs are series-parallel. They have a 3-coloring.

slide-141
SLIDE 141

K6-minor free: conjectures

Conjecture (Hadwiger - 1943)

Every Kr+1-minor free graph has a r-coloring. Proved for r ∈ {1, . . . , 5}.

slide-142
SLIDE 142

K6-minor free: conjectures

Conjecture (Hadwiger - 1943)

Every Kr+1-minor free graph has a r-coloring. Proved for r ∈ {1, . . . , 5}. [Robertson et al. - 1993] (r = 5) 5-coloring of K6-minor free graphs ⇔ 4CC [Every minimal counter-example is a planar plus one vertex (83 pages)] However, the structure of K6-minor free graph is still

  • unknown. Ken-ichi Kawarabayashi explains in SODA ’07 why

the problem is important and difficult.

slide-143
SLIDE 143

K6-minor free: conjectures

Conjecture (Jørgensen - 2001)

Every K6-minor free graph has a arboricity at most 3.

slide-144
SLIDE 144

K6-minor free: conjectures

Conjecture (Jørgensen - 2001)

Every K6-minor free graph has a arboricity at most 3.

Conjecture (Jørgensen - 1994)

Every 6-connected K6-minor free graph has a vertex u such that G \ {u} is planar. DeVos, Hegde, Kawarabayashi, Norine, Thomas, and Wollan have announced that [J94] is true if the graph has many vertices ... Problem: replace “6” by “r” in [J94].

slide-145
SLIDE 145

Agenda

1.

Distance Labelling in General Graphs

2.

Distance Labelling in Trees

3.

Routing in Trees

4.

Nearest Common Ancestor Labelling

5.

Forbidden-Set Labelling

6.

Distance in Planar Graphs

  • 7. Distance in Minor-Free Graphs

(what is a minor?)

slide-146
SLIDE 146

Our approach: path separator technique

Definition (Main)

A weighted graph G with n nodes is k-path separable if there exists a subgraph S, called k-path separator, such that:

slide-147
SLIDE 147

Our approach: path separator technique

Definition (Main)

A weighted graph G with n nodes is k-path separable if there exists a subgraph S, called k-path separator, such that:

1 S = P0 ∪ P1 ∪ · · · , where each subgraph Pi is the union

  • f ki shortest paths in G \ S

j<i Pj;

slide-148
SLIDE 148

Our approach: path separator technique

Definition (Main)

A weighted graph G with n nodes is k-path separable if there exists a subgraph S, called k-path separator, such that:

1 S = P0 ∪ P1 ∪ · · · , where each subgraph Pi is the union

  • f ki shortest paths in G \ S

j<i Pj;

2 P

i ki 6 k; and

slide-149
SLIDE 149

Our approach: path separator technique

Definition (Main)

A weighted graph G with n nodes is k-path separable if there exists a subgraph S, called k-path separator, such that:

1 S = P0 ∪ P1 ∪ · · · , where each subgraph Pi is the union

  • f ki shortest paths in G \ S

j<i Pj;

2 P

i ki 6 k; and

3 each connected component of G \ S is k-path separable

and has at most n/2 nodes.

slide-150
SLIDE 150

Our approach: path separator technique

Definition (Main)

A weighted graph G with n nodes is k-path separable if there exists a subgraph S, called k-path separator, such that:

1 S = P0 ∪ P1 ∪ · · · , where each subgraph Pi is the union

  • f ki shortest paths in G \ S

j<i Pj;

2 P

i ki 6 k; and

3 each connected component of G \ S is k-path separable

and has at most n/2 nodes. If Q is a path forming Pi, then: Q is not necessarily of bounded size Q is not necessarily a shortest path in G

slide-151
SLIDE 151

Some basic examples

Unweighted meshes are 1-path separable

slide-152
SLIDE 152

Some basic examples

Unweighted meshes are 1-path separable

slide-153
SLIDE 153

Some basic examples

Unweighted meshes are 1-path separable Trees are 1-path separable

slide-154
SLIDE 154

Some basic examples

Unweighted meshes are 1-path separable Trees are 1-path separable

slide-155
SLIDE 155

Some basic examples

Unweighted meshes are 1-path separable Trees are 1-path separable

Lemma (Thorup [JACM ’04])

Every n-node planar graph G has a shortest-path tree T with at most 3 leaves such that each component of G \ T has 6 n/2 nodes. ⇒ planars are 3-path separable

slide-156
SLIDE 156

Conjecture (Thorup)

Every n-node H-minor-free graph has a shortest-path tree T with at most ` = `(H) leaves such that each component of G \ T has 6 n/2 nodes.

slide-157
SLIDE 157

Conjecture (Thorup)

Every n-node H-minor-free graph has a shortest-path tree T with at most ` = `(H) leaves such that each component of G \ T has 6 n/2 nodes. True for H = K2, K3, K4, K5, also true if H is planar

slide-158
SLIDE 158

Conjecture (Thorup)

Every n-node H-minor-free graph has a shortest-path tree T with at most ` = `(H) leaves such that each component of G \ T has 6 n/2 nodes. True for H = K2, K3, K4, K5, also true if H is planar Wrong for K6! There are K6-minor-free graphs for which a sequence of unions of shortest paths is required!

slide-159
SLIDE 159

Conjecture (Thorup)

Every n-node H-minor-free graph has a shortest-path tree T with at most ` = `(H) leaves such that each component of G \ T has 6 n/2 nodes. True for H = K2, K3, K4, K5, also true if H is planar Wrong for K6! There are K6-minor-free graphs for which a sequence of unions of shortest paths is required! genus Ω(n) tree-width Ω(√n ) no K6 minor Ω(√n ) shortest paths to halve ... but is 2-path separable

slide-160
SLIDE 160

Conjecture (Thorup)

Every n-node H-minor-free graph has a shortest-path tree T with at most ` = `(H) leaves such that each component of G \ T has 6 n/2 nodes. True for H = K2, K3, K4, K5, also true if H is planar Wrong for K6! There are K6-minor-free graphs for which a sequence of unions of shortest paths is required!

Theorem (Main)

Every H-minor-free graph is k-path separable for k = k(H). A k-path separator can be find in nO(k) time

slide-161
SLIDE 161

Consequences of the Main Theorem

Theorem (Object Location)

Let G be a weighted k-path separable graph of aspect ratio ∆

1 stretch-(1 + ε) distance labeling with

O(kε−1 log n log(ε−1 log ∆))-bit labels

2 stretch-(1 + ε) labeled routing scheme with

O(kε−1 log3 n/ log log n)-bit headers and routing tables

3 One can augment G with 1 directed edge per node such

that greedy routing performs in O(k2 log2 n log2 ∆) expected number of hops

4 And others: reachability, distance oracles in digraphs, ...

slide-162
SLIDE 162

Proving the Object Location Theorem

(≈ extension of Thorup’s data-structures)

∀ s, t-shortest path R in G there exist: a subgraph G0 in the separator decomposition of G; a k-path separator S0 of G0; and a path Q that composes S0 such that Q and R intersect and both are shortest paths in G0. R s t G

slide-163
SLIDE 163

Proving the Object Location Theorem

(≈ extension of Thorup’s data-structures)

∀ s, t-shortest path R in G there exist: a subgraph G0 in the separator decomposition of G; a k-path separator S0 of G0; and a path Q that composes S0 such that Q and R intersect and both are shortest paths in G0. R s t G0 G

slide-164
SLIDE 164

Proving the Object Location Theorem

(≈ extension of Thorup’s data-structures)

∀ s, t-shortest path R in G there exist: a subgraph G0 in the separator decomposition of G; a k-path separator S0 of G0; and a path Q that composes S0 such that Q and R intersect and both are shortest paths in G0. G G0 s t S0

slide-165
SLIDE 165

Proving the Object Location Theorem

(≈ extension of Thorup’s data-structures)

∀ s, t-shortest path R in G there exist: a subgraph G0 in the separator decomposition of G; a k-path separator S0 of G0; and a path Q that composes S0 such that Q and R intersect and both are shortest paths in G0. G G0 s t S0

slide-166
SLIDE 166

Proving the Object Location Theorem

(≈ extension of Thorup’s data-structures)

∀ s, t-shortest path R in G there exist: a subgraph G0 in the separator decomposition of G; a k-path separator S0 of G0; and a path Q that composes S0 such that Q and R intersect and both are shortest paths in G0. G0 S0 s t G Node s can select, independently of t, few “landmarks” on Q so that one of these landmarks is close to R ∩ Q

slide-167
SLIDE 167

Proving the Main Theorem

Theorem (Main)

Every H-minor-free graph is k-path separable for k = k(H).

slide-168
SLIDE 168

Proving the Main Theorem

Theorem (Main)

Every H-minor-free graph is k-path separable for k = k(H). The full proof is technical (needs long preliminaries), based on the recent decomposition theorem of Robertson & Seymour:

slide-169
SLIDE 169

Proving the Main Theorem

Theorem (Main)

Every H-minor-free graph is k-path separable for k = k(H). The full proof is technical (needs long preliminaries), based on the recent decomposition theorem of Robertson & Seymour: Roughly speaking,

Theorem (Graph Minor-16, 2003)

Every graph excluding a fixed minor has a tree-decomposition in subgraphs that are h-almost embeddable on a surface of bounded Euler genus.

slide-170
SLIDE 170

Proving the Main Theorem

Theorem (Main)

Every H-minor-free graph is k-path separable for k = k(H). The full proof is technical (needs long preliminaries), based on the recent decomposition theorem of Robertson & Seymour: Actually,

Theorem (Graph Minor-16, 2003)

Every graph excluding a minor H has a tree-decomposition whose the “torso” of its bags are h-almost embeddable on a surface on which H cannot be embedded.

slide-171
SLIDE 171

h-almost embeddable graphs

Σ

slide-172
SLIDE 172

h-almost embeddable graphs

Σ Vortices

slide-173
SLIDE 173

h-almost embeddable graphs

Σ Vortices Apices

slide-174
SLIDE 174

A tree of h-almost embeddable graphs

slide-175
SLIDE 175

A tree of h-almost embeddable graphs

slide-176
SLIDE 176

Finding a k-path separator with this?

slide-177
SLIDE 177

Finding a k-path separator with this?

Some remarks: shortest paths go everywhere Σ can be non-orientable Jordan curve Theorem does not work (vortices!)

slide-178
SLIDE 178

Finding a k-path separator with this?

Some remarks: shortest paths go everywhere Σ can be non-orientable Jordan curve Theorem does not work (vortices!) Σ P

slide-179
SLIDE 179

Finding a k-path separator with this?

Some remarks: shortest paths go everywhere Σ can be non-orientable Jordan curve Theorem does not work (vortices!) Σ Vortex-path

slide-180
SLIDE 180

Σ Vortex-path

Note: a vortex-path can be covered by a constant number of shortest paths if segments are shortest paths

slide-181
SLIDE 181

Σ Vortex-path

Note: a vortex-path can be covered by a constant number of shortest paths if segments are shortest paths

Lemma

If the center subgraph is “nearly-planar” (= no apices and Σ = R2), there are three vortex-paths whose segments are shortest paths, and whose deletions leave components of size 6 n/2. Q.E.D.