Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring...

59
Dynamic Graph Coloring Luis Barba 1 Jean Cardinal 2 Matias Korman 3 Stefan Langerman 2 André van Renssen 4,5 Marcel Roeloffzen 4,5 Sander Verdonschot 6 1 ETH Zürich 2 Université Libre de Bruxelles 3 Tohoku University 4 National Institute of Informatics 5 JST, ERATO, Kawarabayashi Large Graph Project 6 Carleton University July 31, 2017 Sander Verdonschot Dynamic Graph Coloring

Transcript of Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring...

Page 1: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Dynamic Graph Coloring

Luis Barba 1 Jean Cardinal 2 Matias Korman 3

Stefan Langerman 2 André van Renssen 4,5

Marcel Roeloffzen 4,5 Sander Verdonschot 6

1ETH Zürich

2Université Libre de Bruxelles

3Tohoku University

4National Institute of Informatics

5JST, ERATO, Kawarabayashi Large Graph Project

6Carleton University

July 31, 2017

Sander Verdonschot Dynamic Graph Coloring

Page 2: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

Page 3: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

Page 4: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

Page 5: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

Page 6: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

Page 7: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

Page 8: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

Page 9: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Maintain a proper coloring of a changing graph:

• Add & remove edges• Add & remove vertices with incident edges

Sander Verdonschot Dynamic Graph Coloring

Page 10: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Easy! Recompute the coloring for every change

⇒ Limit the number of vertex color changes• Easy! Use a new color for every change⇒ Limit the number of colors

Sander Verdonschot Dynamic Graph Coloring

Page 11: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Easy! Recompute the coloring for every change⇒ Limit the number of vertex color changes

• Easy! Use a new color for every change⇒ Limit the number of colors

Sander Verdonschot Dynamic Graph Coloring

Page 12: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Easy! Recompute the coloring for every change⇒ Limit the number of vertex color changes

• Easy! Use a new color for every change

⇒ Limit the number of colors

Sander Verdonschot Dynamic Graph Coloring

Page 13: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Easy! Recompute the coloring for every change⇒ Limit the number of vertex color changes

• Easy! Use a new color for every change⇒ Limit the number of colors

Sander Verdonschot Dynamic Graph Coloring

Page 14: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Trade off the number of colors vs vertex color changes• Optimal coloring⇒Ω(n) vertex recolorings per update

• No vertex recolorings⇒ 2nlog n colors for log n-colorable

graph [Halldórsson & Szegedy, 1992]

Our results

• O(d)-approximate coloring with O(dn(1/d)) recolorings• O(dn(1/d))-approximate coloring with O(d) recolorings

• Maintaining a c-coloring requiresΩ(n2

c(c−1) ) recolorings

Sander Verdonschot Dynamic Graph Coloring

Page 15: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Trade off the number of colors vs vertex color changes• Optimal coloring⇒Ω(n) vertex recolorings per update• No vertex recolorings⇒ 2n

log n colors for log n-colorablegraph [Halldórsson & Szegedy, 1992]

Our results

• O(d)-approximate coloring with O(dn(1/d)) recolorings• O(dn(1/d))-approximate coloring with O(d) recolorings

• Maintaining a c-coloring requiresΩ(n2

c(c−1) ) recolorings

Sander Verdonschot Dynamic Graph Coloring

Page 16: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Trade off the number of colors vs vertex color changes• Optimal coloring⇒Ω(n) vertex recolorings per update• No vertex recolorings⇒ 2n

log n colors for log n-colorablegraph [Halldórsson & Szegedy, 1992]

Our results

• O(d)-approximate coloring with O(dn(1/d)) recolorings• O(dn(1/d))-approximate coloring with O(d) recolorings

• Maintaining a c-coloring requiresΩ(n2

c(c−1) ) recolorings

Sander Verdonschot Dynamic Graph Coloring

Page 17: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Problem• Trade off the number of colors vs vertex color changes• Optimal coloring⇒Ω(n) vertex recolorings per update• No vertex recolorings⇒ 2n

log n colors for log n-colorablegraph [Halldórsson & Szegedy, 1992]

Our results

• O(d)-approximate coloring with O(dn(1/d)) recolorings• O(dn(1/d))-approximate coloring with O(d) recolorings

• Maintaining a c-coloring requiresΩ(n2

c(c−1) ) recolorings

Sander Verdonschot Dynamic Graph Coloring

Page 18: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• Vertices are placed in buckets

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 19: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• Each bucket has a fixed size and its own set of colors

n1/d n2/d n ∞. . .

n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 20: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• Initially, all vertices are in the reset bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 21: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• Changed vertices are placed in the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 22: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• Changed vertices are placed in the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 23: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• Changed vertices are placed in the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 24: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• Changed vertices are placed in the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 25: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• When a bucket fills up, it is emptied in the next one

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 26: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• When a bucket fills up, it is emptied in the next one

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 27: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• New vertices also go to the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 28: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• New vertices also go to the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 29: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• New vertices also go to the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 30: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• New vertices also go to the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 31: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• New vertices also go to the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 32: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• New vertices also go to the first bucket

n1/d n2/d n ∞. . .n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 33: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: big-buckets• New vertices also go to the first bucket (d+1)-approximatecoloring with O(dn1/d) recolorings per update

n1/d n2/d n ∞. . .

n1/dn2/d

n1/d

nn(d−1)/d

2nn

. . .

Sander Verdonschot Dynamic Graph Coloring

Page 34: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Upper bound: small-buckets• Split each big bucket into n1/d smaller ones• O(dn1/d)-approximate coloring with d+ 2 recolorings perupdate

n1/d

. . .

n1/d

1 1 1

n1/d n1/d n1/d

Sander Verdonschot Dynamic Graph Coloring

Page 35: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Warm-up: 2-coloring a forest

• Maintaining a 2-coloring of a forest requiresΩ(n)recolorings per update

Sander Verdonschot Dynamic Graph Coloring

Page 36: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Build 3 stars of size n/3

• Maintaining a 2-coloring of a forest requiresΩ(n)recolorings per update

Sander Verdonschot Dynamic Graph Coloring

Page 37: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Connect 2 with the same color root

• Maintaining a 2-coloring of a forest requiresΩ(n)recolorings per update

Sander Verdonschot Dynamic Graph Coloring

Page 38: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Connect 2 with the same color root

• Maintaining a 2-coloring of a forest requiresΩ(n)recolorings per update

Sander Verdonschot Dynamic Graph Coloring

Page 39: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Connect 2 with the same color root . Repeat

• Maintaining a 2-coloring of a forest requiresΩ(n)recolorings per update

Sander Verdonschot Dynamic Graph Coloring

Page 40: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Connect 2 with the same color root . Repeat

• Maintaining a 2-coloring of a forest requiresΩ(n)recolorings per update

Sander Verdonschot Dynamic Graph Coloring

Page 41: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Connect 2 with the same color root . Repeat• Maintaining a 2-coloring of a forest requiresΩ(n)recolorings per update

Sander Verdonschot Dynamic Graph Coloring

Page 42: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• 3-coloring a forest

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 43: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Build n1/3 stars of size n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 44: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Assign most common leaf colour to trees

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 45: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Keep at least n1/3/3 with the same color

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 46: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Keep at least n1/3/3 with the same color

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 47: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Group into 3 big trees, each with n1/3/9 small trees

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 48: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Group into 3 big trees, each with n1/3/9 small trees

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 49: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• If at any point, a small tree has no blue children, reset

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 50: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• If at any point, a small tree has no blue children, reset

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 51: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Roots of small trees are orange or red

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 52: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Connect two big trees with same root color

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 53: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• ForcesΩ(n1/3) recolorings

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 54: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Repeat n1/3 times or until we reset

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 55: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Repeat n1/3 times or until we reset

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 56: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Ω(n2/3) recolorings either way, for O(n1/3) updates

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 57: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound• Maintaining a 3-coloring of a forest requiresΩ(n1/3)recolorings per update

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/3

n2/3 n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

n1/3/9

n2/3

n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

Page 58: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Lower bound

TheoremFor constant c, the number of recolorings per update required tomaintain a c-coloring of a forest is

Ω(n

2c(c−1)

).

Sander Verdonschot Dynamic Graph Coloring

Page 59: Dynamic Graph Coloringcglab.ca/~sander/publications/slides/2017/Dynamic...DynamicGraphColoring LuisBarba1 JeanCardinal2 MatiasKorman3 StefanLangerman2 AndrévanRenssen4,5 MarcelRoeloffzen4,5

Summary• Maintain an O(d)-approximate coloring with O(dn(1/d))vertex recolorings per update

• Maintain an O(dn(1/d))-approximate coloring with O(d)vertex recolorings per update

• Maintaining a c-coloring requiresΩ(n2

c(c−1) ) recolorings perupdate

Questions?

Sander Verdonschot Dynamic Graph Coloring