Coloring Algorithms on Subcubic Graphs Harold N. Gabow, San - - PowerPoint PPT Presentation

coloring algorithms on subcubic graphs
SMART_READER_LITE
LIVE PREVIEW

Coloring Algorithms on Subcubic Graphs Harold N. Gabow, San - - PowerPoint PPT Presentation

Coloring Algorithms on Subcubic Graphs Harold N. Gabow, San Skulrattanakulchai hal@cs.colorado.edu, skulratt@cs.colorado.edu University of Colorado at Boulder Colorado, USA Coloring Algorithms on Subcubic Graphs p.1/56 Introduction Graph


slide-1
SLIDE 1

Coloring Algorithms on Subcubic Graphs

Harold N. Gabow, San Skulrattanakulchai

hal@cs.colorado.edu, skulratt@cs.colorado.edu

University of Colorado at Boulder Colorado, USA

Coloring Algorithms on Subcubic Graphs – p.1/56

slide-2
SLIDE 2

Introduction

Graph Coloring To color a graph ≡ to assign color to vertices/edges so that no adjacent/incident vertices/edges receive the same color Flavors: vertex, edge, total, list coloring Why subcubic graphs (∆ = 3)? some problems too difficult on general graphs some problems have linear-time reduction to subcubic graphs some “real-world” applications are on subcubic graphs

Coloring Algorithms on Subcubic Graphs – p.2/56

slide-3
SLIDE 3

Notation & NP-Hardness

Notation (list) chromatic number χ (χℓ) (list) edge chromatic number χ′ (χ′

ℓ)

(list) total chromatic number χ′′ (χ′′

ℓ)

NP-hardness Vertex Coloring—Karp (1972) from 3-SAT Edge Coloring—Holyer (1981) from 3-SAT Total Coloring—Sánchez-Arroyo (1989) from Edge Coloring

Coloring Algorithms on Subcubic Graphs – p.3/56

slide-4
SLIDE 4

Conjectures & Some Known Facts

List Coloring Conjecture (LCC)

χ′

ℓ = χ′?

Coloring Algorithms on Subcubic Graphs – p.4/56

slide-5
SLIDE 5

Conjectures & Some Known Facts

List Coloring Conjecture (LCC)

χ′

ℓ = χ′?

Total Coloring Conjecture (TCC)

χ′′ ≤ ∆ + 2 for simple

graphs?

Coloring Algorithms on Subcubic Graphs – p.4/56

slide-6
SLIDE 6

Conjectures & Some Known Facts

List Coloring Conjecture (LCC)

χ′

ℓ = χ′?

Total Coloring Conjecture (TCC)

χ′′ ≤ ∆ + 2 for simple

graphs? List Total Coloring Conjecture

χ′′

ℓ = χ′′?

Coloring Algorithms on Subcubic Graphs – p.4/56

slide-7
SLIDE 7

Conjectures & Some Known Facts

List Coloring Conjecture (LCC)

χ′

ℓ = χ′?

Total Coloring Conjecture (TCC)

χ′′ ≤ ∆ + 2 for simple

graphs? List Total Coloring Conjecture

χ′′

ℓ = χ′′?

χℓ = χ in general!

1,2 • 2,3 • 3,1 • 1,2

  • 2,3
  • 3,1

❜ ❜ ❜ ❡ ❡ ❡ ❡ ✧ ✧ ✧ ✧ ❜ ❜ ❜ ❜ ✪ ✪ ✪ ✪ ✧ ✧ ✧ ✧

Coloring Algorithms on Subcubic Graphs – p.4/56

slide-8
SLIDE 8

Conjectures & Some Known Facts

List Coloring Conjecture (LCC)

χ′

ℓ = χ′?

Total Coloring Conjecture (TCC)

χ′′ ≤ ∆ + 2 for simple

graphs? List Total Coloring Conjecture

χ′′

ℓ = χ′′?

χℓ = χ in general! χ′

ℓ ≤ ∆ + 1 if ∆ = 3, 4. LCC holds if graph is bipartite, or

series-parallel, or line-perfect, or a multicircuit

Coloring Algorithms on Subcubic Graphs – p.4/56

slide-9
SLIDE 9

Conjectures & Some Known Facts

List Coloring Conjecture (LCC)

χ′

ℓ = χ′?

Total Coloring Conjecture (TCC)

χ′′ ≤ ∆ + 2 for simple

graphs? List Total Coloring Conjecture

χ′′

ℓ = χ′′?

χℓ = χ in general! χ′

ℓ ≤ ∆ + 1 if ∆ = 3, 4. LCC holds if graph is bipartite, or

series-parallel, or line-perfect, or a multicircuit TCC holds if graph is bipartite, or complete r-partite, or

∆ = 3, 4, 5, or ∆ ≥ n − 5, or ∆ ≥ (3/4)n

Coloring Algorithms on Subcubic Graphs – p.4/56

slide-10
SLIDE 10

Conjectures & Some Known Facts

List Coloring Conjecture (LCC)

χ′

ℓ = χ′?

Total Coloring Conjecture (TCC)

χ′′ ≤ ∆ + 2 for simple

graphs? List Total Coloring Conjecture

χ′′

ℓ = χ′′?

χℓ = χ in general! χ′

ℓ ≤ ∆ + 1 if ∆ = 3, 4. LCC holds if graph is bipartite, or

series-parallel, or line-perfect, or a multicircuit TCC holds if graph is bipartite, or complete r-partite, or

∆ = 3, 4, 5, or ∆ ≥ n − 5, or ∆ ≥ (3/4)n χ′′

ℓ ≤ 5 if ∆ = 3

Coloring Algorithms on Subcubic Graphs – p.4/56

slide-11
SLIDE 11

Contributions

Decomposition principle for subcubic graphs New, simpler proofs & linear-time algorithms for 4-edge-coloring (Skulrattanakulchai, IPL 81(4) 2002, 191–195) 4-list-edge-coloring 5-total-coloring 5-list-total-coloring subcubic graphs. Algorithms shows subcubic graphs satisfy χ′ ≤ 4, χ′

ℓ ≤ 4, χ′′ ≤ 5, χ′′ ℓ ≤ 5. The first two are

the simplest known, the last two are the first linear-time algorithms.

O(n/ log n) processors, O(log n) time whp EREW PRAM

algorithm for 4-list-edge-coloring subcubic graphs

Coloring Algorithms on Subcubic Graphs – p.5/56

slide-12
SLIDE 12

Greedy Coloring?

An edge can have up to 4 neighboring edges and 2 neighboring vertices. A vertex can have up to 3 neighboring edges and 3 neighboring vertices.

Coloring Algorithms on Subcubic Graphs – p.6/56

slide-13
SLIDE 13

Greedy Coloring?

An edge can have up to 4 neighboring edges and 2 neighboring vertices. A vertex can have up to 3 neighboring edges and 3 neighboring vertices. So simple-minded greedy coloring fails.

Coloring Algorithms on Subcubic Graphs – p.6/56

slide-14
SLIDE 14

Decomposition Theorem

Coloring Algorithms on Subcubic Graphs – p.7/56

slide-15
SLIDE 15

Coloring Algorithms on Subcubic Graphs – p.8/56

slide-16
SLIDE 16

Decomposition Theorem

A subcubic graph G can be decomposed into edge-disjoint subgraphs C and T , where C is a collection of vertex-disjoint cy- cles and T is a forest of maximum degree no bigger than 3. Furthermore, G admits a decomposition without chords unless it contains a triple bond.

Coloring Algorithms on Subcubic Graphs – p.9/56

slide-17
SLIDE 17

Tree Edge Coloring Lemma

Coloring Algorithms on Subcubic Graphs – p.10/56

slide-18
SLIDE 18

3-edge-coloring Subcubic Tree

Coloring Algorithms on Subcubic Graphs – p.11/56

slide-19
SLIDE 19

3-edge-coloring Subcubic Tree

1

Coloring Algorithms on Subcubic Graphs – p.12/56

slide-20
SLIDE 20

3-edge-coloring Subcubic Tree

2 1

Coloring Algorithms on Subcubic Graphs – p.13/56

slide-21
SLIDE 21

3-edge-coloring Subcubic Tree

2 1 2

Coloring Algorithms on Subcubic Graphs – p.14/56

slide-22
SLIDE 22

3-edge-coloring Subcubic Tree

2 1 2 3

Coloring Algorithms on Subcubic Graphs – p.15/56

slide-23
SLIDE 23

3-edge-coloring Subcubic Tree

2 3 1 2 3

Coloring Algorithms on Subcubic Graphs – p.16/56

slide-24
SLIDE 24

3-edge-coloring Subcubic Tree

2 3 1 1 2 3

Coloring Algorithms on Subcubic Graphs – p.17/56

slide-25
SLIDE 25

Tree Edge Coloring Lemma

Conclusion:

A subcubic tree is 3-list-edge-colorable.

Coloring Algorithms on Subcubic Graphs – p.18/56

slide-26
SLIDE 26

Tree Total Coloring Lemma

Coloring Algorithms on Subcubic Graphs – p.19/56

slide-27
SLIDE 27

4-total-coloring Subcubic Tree

Coloring Algorithms on Subcubic Graphs – p.20/56

slide-28
SLIDE 28

4-total-coloring Subcubic Tree

1

Coloring Algorithms on Subcubic Graphs – p.21/56

slide-29
SLIDE 29

4-total-coloring Subcubic Tree

1 2

Coloring Algorithms on Subcubic Graphs – p.22/56

slide-30
SLIDE 30

4-total-coloring Subcubic Tree

1 3 2

Coloring Algorithms on Subcubic Graphs – p.23/56

slide-31
SLIDE 31

4-total-coloring Subcubic Tree

1 3 3 2

Coloring Algorithms on Subcubic Graphs – p.24/56

slide-32
SLIDE 32

4-total-coloring Subcubic Tree

1 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.25/56

slide-33
SLIDE 33

4-total-coloring Subcubic Tree

1 4 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.26/56

slide-34
SLIDE 34

4-total-coloring Subcubic Tree

2 1 4 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.27/56

slide-35
SLIDE 35

4-total-coloring Subcubic Tree

2 1 1 4 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.28/56

slide-36
SLIDE 36

4-total-coloring Subcubic Tree

3 2 1 1 4 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.29/56

slide-37
SLIDE 37

4-total-coloring Subcubic Tree

3 2 1 3 1 4 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.30/56

slide-38
SLIDE 38

4-total-coloring Subcubic Tree

3 2 1 1 3 1 4 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.31/56

slide-39
SLIDE 39

4-total-coloring Subcubic Tree

3 2 1 1 3 2 1 4 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.32/56

slide-40
SLIDE 40

4-total-coloring Subcubic Tree

3 2 1 1 3 3 2 1 4 2 3 3 2

Coloring Algorithms on Subcubic Graphs – p.33/56

slide-41
SLIDE 41

Tree Total Coloring Lemma

Conclusion:

A subcubic tree is 4-list-total-colorable.

Coloring Algorithms on Subcubic Graphs – p.34/56

slide-42
SLIDE 42

Cycle Coloring Lemma I

Coloring Algorithms on Subcubic Graphs – p.35/56

slide-43
SLIDE 43

Cycle Coloring Lemma I

>= 2 >= 2 >= 2 >= 2 >= 2 {1,2} COLORABLE unless Odd & Same 2−list ODD >= 2 {1,2} {1,2} {1,2} {1, 2}

Coloring Algorithms on Subcubic Graphs – p.36/56

slide-44
SLIDE 44

Cycle Coloring Lemma I

Vertex Version (CVCL I) A cycle C where every vertex has a list of ≥ 2 colors is vertex-colorable unless C is odd and every list is the same list of 2 colors. Edge Version (CECL I) . . .

Coloring Algorithms on Subcubic Graphs – p.37/56

slide-45
SLIDE 45

Cycle Coloring Lemma II

Coloring Algorithms on Subcubic Graphs – p.38/56

slide-46
SLIDE 46

Cycle Coloring Lemma II

{1} {1,2} {1,2} ODD Colorable {2,3} {1,2}

Coloring Algorithms on Subcubic Graphs – p.39/56

slide-47
SLIDE 47

Cycle Coloring Lemma II

Vertex Version (CVCL II) Suppose the first vertex v1 of an odd cycle C has a list of 1 color, vertex v2, . . . , vk−1 has the same list of 2 colors, and the last vertex vk has a list of 2 colors. Suppose also that the list of v1 is included in the list of v2, and the list of vk is not the same as the list of v2. Then C is vertex-colorable by colors from these lists. Edge Version (CECL II) . . .

Coloring Algorithms on Subcubic Graphs – p.40/56

slide-48
SLIDE 48

Cycle Total Coloring Lemma

Coloring Algorithms on Subcubic Graphs – p.41/56

slide-49
SLIDE 49

Cycle Total Coloring Lemma

>= 5 >= 3 >= 3 >= 3 >= 3 >= 1 >= 4 >= 3 >= 3 >= 3 >= 2 >= 3 Colorable

Coloring Algorithms on Subcubic Graphs – p.42/56

slide-50
SLIDE 50

Cycle Total Coloring Lemma

Suppose C = v1, e1, . . . , vk, ek is a cycle with lists L of colors on its vertices and edges satisfying

|L(vi)| ≥      5,

if i = 1,

2,

if i = 2,

3,

if 3 ≤ i ≤ k,

|L(ei)| ≥      1,

if i = 1,

3,

if 2 ≤ i < k,

4,

if i = k. Then C is L-total-colorable.

Coloring Algorithms on Subcubic Graphs – p.43/56

slide-51
SLIDE 51

4-list-edge-coloring algorithm

Coloring Algorithms on Subcubic Graphs – p.44/56

slide-52
SLIDE 52

4LE sequential algorithm

use Decomposition Theorem

Coloring Algorithms on Subcubic Graphs – p.45/56

slide-53
SLIDE 53

4LE sequential algorithm

use Decomposition Theorem first color the trees, then color the cycles

Coloring Algorithms on Subcubic Graphs – p.45/56

slide-54
SLIDE 54

4LE sequential algorithm

use Decomposition Theorem first color the trees, then color the cycles to color a tree, apply Tree Edge Coloring Lemma

Coloring Algorithms on Subcubic Graphs – p.45/56

slide-55
SLIDE 55

4LE sequential algorithm

use Decomposition Theorem first color the trees, then color the cycles to color a tree, apply Tree Edge Coloring Lemma to color a cycle, consider edges’ lists of available colors

Coloring Algorithms on Subcubic Graphs – p.45/56

slide-56
SLIDE 56

4LE sequential algorithm

use Decomposition Theorem first color the trees, then color the cycles to color a tree, apply Tree Edge Coloring Lemma to color a cycle, consider edges’ lists of available colors

2 3 2 1 3 1 2 1 3 2 1 2 4 4

Coloring Algorithms on Subcubic Graphs – p.45/56

slide-57
SLIDE 57

4LE sequential algorithm

use Decomposition Theorem first color the trees, then color the cycles to color a tree, apply Tree Edge Coloring Lemma to color a cycle, consider edges’ lists of available colors

2 3 2 1 3 1 2 1 3 2 1 2 4 4

apply Cycle Edge Coloring Lemma I

Coloring Algorithms on Subcubic Graphs – p.45/56

slide-58
SLIDE 58

4LE sequential algorithm

use Decomposition Theorem first color the trees, then color the cycles to color a tree, apply Tree Edge Coloring Lemma to color a cycle, consider edges’ lists of available colors

2 3 2 1 3 1 2 1 3 2 1 2 4 4

apply Cycle Edge Coloring Lemma I if a cycle is odd and its edges have the same list of 2 available colors, recolor one tree edge incident with it

Coloring Algorithms on Subcubic Graphs – p.45/56

slide-59
SLIDE 59

4LE parallel algorithm

Decomposition: take a spanning tree T of G, let C be the mod-2 sum

  • f all fundamental cycles, return C and T = T − C

use the randomized EREW PRAM spanning tree algorithm of Halperin & Zwick (HZ2001) to get T compute the mod-2 sum by a parallel prefix computation on the Euler tour of T Tree coloring: divide each tree in T into small trees of height ≤ 2 each, then color these small trees in parallel Cycle coloring: pointer jumping

Coloring Algorithms on Subcubic Graphs – p.46/56

slide-60
SLIDE 60

5-total-coloring algorithm

Coloring Algorithms on Subcubic Graphs – p.47/56

slide-61
SLIDE 61

5T algorithm

use chordless decomposition 5-total-color each tree, except pendant vertices & edges touching any cycle, by Tree Total Coloring Lemma 5-total-color each cycle & (some of) its pendant edges. there are 3 cases.

  • More. . .

Coloring Algorithms on Subcubic Graphs – p.48/56

slide-62
SLIDE 62

5T algorithm (continued)

Case 1. Some cycle vertex has 5 available colors.

2 4 3 4 1 3 1 5

Coloring Algorithms on Subcubic Graphs – p.49/56

slide-63
SLIDE 63

5T algorithm (continued)

Case 1. Some cycle vertex has 5 available colors. Color all pendant edges whose other endpoints are colored,

2 4 3 4 1 3 1 5 3 2 1 2

Coloring Algorithms on Subcubic Graphs – p.49/56

slide-64
SLIDE 64

5T algorithm (continued)

Case 1. Some cycle vertex has 5 available colors. Color all pendant edges whose other endpoints are colored, then 5-total-color the cycle by Cycle Total Coloring Lemma

2 4 3 4 1 3 1 5 3 2 1 2 >=5 >=4 >=4 >=3 >=3 >=3 >=3 >=3 >=3 >=3 >=3 >=3

Coloring Algorithms on Subcubic Graphs – p.49/56

slide-65
SLIDE 65

5T algorithm (continued)

Case 2. Every cycle vertex has < 5 available colors, and some “hanging” vertices are colored differently.

2 3 1 2

Coloring Algorithms on Subcubic Graphs – p.50/56

slide-66
SLIDE 66

5T algorithm (continued)

Case 2. Every cycle vertex has < 5 available colors, and some “hanging” vertices are colored differently. “Safe-color” all pendant & cycle edges.

2 3 1 2 1 3 2 2

Coloring Algorithms on Subcubic Graphs – p.50/56

slide-67
SLIDE 67

5T algorithm (continued)

Case 2. Every cycle vertex has < 5 available colors, and some “hanging” vertices are colored differently. “Safe-color” all pendant & cycle edges.

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

Coloring Algorithms on Subcubic Graphs – p.50/56

slide-68
SLIDE 68

5T algorithm (continued)

Case 2. Every cycle vertex has < 5 available colors, and some “hanging” vertices are colored differently. “Safe-color” all pendant & cycle edges. Now CVCL I is applicable unless results in “bad” cycle. If so, then need to fix.

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

Coloring Algorithms on Subcubic Graphs – p.50/56

slide-69
SLIDE 69

5T algorithm (continued)

✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✁ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✂ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄ ✄

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

doubly−forced forced unforced

Observe that in a “bad” cycle not all cycle edges are doubly-forced any cycle edge can be recolored recoloring an unforced edge makes CVCL I applicable e forced = ⇒ not both e’s neighbors are unforced = ⇒ recoloring e makes either CVCL I or CVCL II applicable. In fact, recoloring last cycle edge fixes the problem! (since it’s either forced or unforced)

Coloring Algorithms on Subcubic Graphs – p.51/56

slide-70
SLIDE 70

5T algorithm (continued)

Case 3. Every cycle vertex has < 5 available colors, and every “hanging” vertex is colored the same.

4 4 4 4 4 1 5

Coloring Algorithms on Subcubic Graphs – p.52/56

slide-71
SLIDE 71

5T algorithm (continued)

Case 3. Every cycle vertex has < 5 available colors, and every “hanging” vertex is colored the same. “Safe-color” all pendant & cycle vertices.

4 4 4 4 4 5 1 3 2 3 1 3 2 3 2 1 2

Coloring Algorithms on Subcubic Graphs – p.52/56

slide-72
SLIDE 72

5T algorithm (continued)

Case 3. Every cycle vertex has < 5 available colors, and every “hanging” vertex is colored the same. “Safe-color” all pendant & cycle vertices. OR

Coloring Algorithms on Subcubic Graphs – p.52/56

slide-73
SLIDE 73

5T algorithm (continued)

Case 3. Every cycle vertex has < 5 available colors, and every “hanging” vertex is colored the same. “Safe-color” all pendant & cycle vertices.

4 4 4 4 4 5 2

Coloring Algorithms on Subcubic Graphs – p.52/56

slide-74
SLIDE 74

5T algorithm (continued)

Case 3. Every cycle vertex has < 5 available colors, and every “hanging” vertex is colored the same. “Safe-color” all pendant & cycle vertices. Now CECL I is applicable unless results in “bad” cycle. If so, then need to fix.

4 4 4 4 4 5 2 1 3 2 3 1 1 3 2 3 2

Coloring Algorithms on Subcubic Graphs – p.52/56

slide-75
SLIDE 75

5T algorithm (continued)

5 5 5 5 5 5 5 5 2 2 1 1 3 3 2 2 1 1 3 3 2 2 1 1 3 3 5 6k + 3

Observe that in any “bad” cycle the number of cycle vertices (and edges) is (odd and) divisible by 3 the colors of the hanging edges go in a cyclic order α, β, γ, α, β, γ, . . .; so are the colors of cycle vertices, shifted by one position any cycle vertex can be recolored recoloring a cycle vertex makes CECL II applicable So, recolor a cycle vertex to fix the problem!

Coloring Algorithms on Subcubic Graphs – p.53/56

slide-76
SLIDE 76

5-list-total-coloring algorithm

Coloring Algorithms on Subcubic Graphs – p.54/56

slide-77
SLIDE 77

5LT algorithm

use the same ideas & steps as 5T there are 4 cases in the cycle coloring step have to consider intersections of color lists of incident (hanging & cycle) vertices & cycle edges may have to recolor 2 edges in order to fix a bad cycle

Coloring Algorithms on Subcubic Graphs – p.55/56

slide-78
SLIDE 78

Conclusion & Open Problems

Conclusion Decomposition of subcubic graphs into trees & cycles gives efficient coloring algorithms Open Problems Extend to other coloring variations on subcubic graphs? acyclic edge coloring? strong edge coloring? Extend to other problems on subcubic graphs? matching?? matching in planar subcubic graphs? NP-hard problems? etc Are there algorithmically-nice decompositions for other low-degree graphs, say ∆ = 4, 5?

Coloring Algorithms on Subcubic Graphs – p.56/56