Dynamic Graph Coloring Luis Barba 1 Jean Cardinal 2 Matias Korman 3 - - PowerPoint PPT Presentation

dynamic graph coloring
SMART_READER_LITE
LIVE PREVIEW

Dynamic Graph Coloring Luis Barba 1 Jean Cardinal 2 Matias Korman 3 - - PowerPoint PPT Presentation

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 Zrich 2 Universit Libre de Bruxelles 3 Tohoku University 4 National Institute of


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Problem

  • Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

slide-3
SLIDE 3

Problem

  • Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

slide-4
SLIDE 4

Problem

  • Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

slide-5
SLIDE 5

Problem

  • Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

slide-6
SLIDE 6

Problem

  • Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

slide-7
SLIDE 7

Problem

  • Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

slide-8
SLIDE 8

Problem

  • Maintain a proper coloring of a changing graph

Sander Verdonschot Dynamic Graph Coloring

slide-9
SLIDE 9

Problem

  • Maintain a proper coloring of a changing graph:
  • Add & remove edges
  • Add & remove vertices with incident edges

Sander Verdonschot Dynamic Graph Coloring

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

Problem

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

2n n colors for

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

n

2 c c 1

recolorings

Sander Verdonschot Dynamic Graph Coloring

slide-15
SLIDE 15

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-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

n

2 c c 1

recolorings

Sander Verdonschot Dynamic Graph Coloring

slide-16
SLIDE 16

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-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

n

2 c c 1

recolorings

Sander Verdonschot Dynamic Graph Coloring

slide-17
SLIDE 17

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-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 Ω(n

2 c(c−1) ) recolorings Sander Verdonschot Dynamic Graph Coloring

slide-18
SLIDE 18

Upper bound: big-buckets

  • Vertices are placed in buckets

Sander Verdonschot Dynamic Graph Coloring

slide-19
SLIDE 19

Upper bound: big-buckets

  • Each bucket has a fixed size and its own set of colors

n1/d n2/d n ∞ . . .

Sander Verdonschot Dynamic Graph Coloring

slide-20
SLIDE 20

Upper bound: big-buckets

  • Initially, all vertices are in the reset bucket

Sander Verdonschot Dynamic Graph Coloring

slide-21
SLIDE 21

Upper bound: big-buckets

  • Changed vertices are placed in the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-22
SLIDE 22

Upper bound: big-buckets

  • Changed vertices are placed in the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-23
SLIDE 23

Upper bound: big-buckets

  • Changed vertices are placed in the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-24
SLIDE 24

Upper bound: big-buckets

  • Changed vertices are placed in the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-25
SLIDE 25

Upper bound: big-buckets

  • When a bucket fills up, it is emptied in the next one

Sander Verdonschot Dynamic Graph Coloring

slide-26
SLIDE 26

Upper bound: big-buckets

  • When a bucket fills up, it is emptied in the next one

Sander Verdonschot Dynamic Graph Coloring

slide-27
SLIDE 27

Upper bound: big-buckets

  • New vertices also go to the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-28
SLIDE 28

Upper bound: big-buckets

  • New vertices also go to the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-29
SLIDE 29

Upper bound: big-buckets

  • New vertices also go to the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-30
SLIDE 30

Upper bound: big-buckets

  • New vertices also go to the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-31
SLIDE 31

Upper bound: big-buckets

  • New vertices also go to the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-32
SLIDE 32

Upper bound: big-buckets

  • New vertices also go to the first bucket

Sander Verdonschot Dynamic Graph Coloring

slide-33
SLIDE 33

Upper bound: big-buckets

  • New vertices also go to the first bucket (d+1)-approximate

coloring with O(dn1/d) recolorings per update

n1/d

n2/d n1/d n n(d−1)/d 2n n

. . .

Sander Verdonschot Dynamic Graph Coloring

slide-34
SLIDE 34

Upper bound: small-buckets

  • Split each big bucket into n1/d smaller ones
  • O(dn1/d)-approximate coloring with d + 2 recolorings per

update

n1/d . . . n1/d 1 1 1 n1/d n1/d n1/d

Sander Verdonschot Dynamic Graph Coloring

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

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

slide-41
SLIDE 41

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

slide-42
SLIDE 42

Lower bound

  • 3-coloring a forest

Sander Verdonschot Dynamic Graph Coloring

slide-43
SLIDE 43

Lower bound

  • Build n1/3 stars of size n2/3

n1/3 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-44
SLIDE 44

Lower bound

  • Assign most common leaf colour to trees

n1/3 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-45
SLIDE 45

Lower bound

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

n1/3 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-46
SLIDE 46

Lower bound

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

n1/3/3 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-47
SLIDE 47

Lower bound

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

n1/3/3 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-48
SLIDE 48

Lower bound

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

n1/3/3 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-49
SLIDE 49

Lower bound

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

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-50
SLIDE 50

Lower bound

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

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-51
SLIDE 51

Lower bound

  • Roots of small trees are orange or red

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-52
SLIDE 52

Lower bound

  • Connect two big trees with same root color

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-53
SLIDE 53

Lower bound

  • Forces Ω(n1/3) recolorings

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-54
SLIDE 54

Lower bound

  • Repeat n1/3 times or until we reset

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-55
SLIDE 55

Lower bound

  • Repeat n1/3 times or until we reset

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-56
SLIDE 56

Lower bound

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

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-57
SLIDE 57

Lower bound

  • Maintaining a 3-coloring of a forest requires Ω(n1/3)

recolorings per update

n1/3/9 n2/3 n2/3 n2/3

Sander Verdonschot Dynamic Graph Coloring

slide-58
SLIDE 58

Lower bound

Theorem

For constant c, the number of recolorings per update required to maintain a c-coloring of a forest is Ω ( n

2 c(c−1) )

.

Sander Verdonschot Dynamic Graph Coloring

slide-59
SLIDE 59

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 Ω(n

2 c(c−1) ) recolorings per

update

Questions?

Sander Verdonschot Dynamic Graph Coloring