Online Chromatic Number is PSPACE-Complete ohm , Pavel Vesel y - - PowerPoint PPT Presentation

online chromatic number is pspace complete
SMART_READER_LITE
LIVE PREVIEW

Online Chromatic Number is PSPACE-Complete ohm , Pavel Vesel y - - PowerPoint PPT Presentation

Online Chromatic Number is PSPACE-Complete ohm , Pavel Vesel y Martin B Computer Science Institute of Charles University, Prague, Czech Republic. IWOCA 2016, August 17 Online vertex coloring Vertices of G are revealed one by one;


slide-1
SLIDE 1

Online Chromatic Number is PSPACE-Complete

Martin B¨

  • hm, Pavel Vesel´

y

Computer Science Institute of Charles University, Prague, Czech Republic.

IWOCA 2016, August 17

slide-2
SLIDE 2

Online vertex coloring

  • Vertices of G are revealed one by one;
slide-3
SLIDE 3

Online vertex coloring

  • Vertices of G are revealed one by one;
  • Algorithm sees edges to previously revealed vertices.
slide-4
SLIDE 4

Online vertex coloring

  • Vertices of G are revealed one by one;
  • Algorithm sees edges to previously revealed vertices.
  • Algorithm must color v immediately after arrival:
  • Two adjacent vertices cannot have the same color;
  • Algorithm cannot change the color later.
slide-5
SLIDE 5

Online vertex coloring

  • Vertices of G are revealed one by one;
  • Algorithm sees edges to previously revealed vertices.
  • Algorithm must color v immediately after arrival:
  • Two adjacent vertices cannot have the same color;
  • Algorithm cannot change the color later.
  • Goal: Minimize no. of colors.
slide-6
SLIDE 6

Online vertex coloring

  • Vertices of G are revealed one by one;
  • Algorithm sees edges to previously revealed vertices.
  • Algorithm must color v immediately after arrival:
  • Two adjacent vertices cannot have the same color;
  • Algorithm cannot change the color later.
  • Goal: Minimize no. of colors.
  • Our stronger model: Algorithm gets a copy of G at the

start.

slide-7
SLIDE 7

An example

slide-8
SLIDE 8

An example

slide-9
SLIDE 9

An example

slide-10
SLIDE 10

An example

slide-11
SLIDE 11

An example

slide-12
SLIDE 12

An example

slide-13
SLIDE 13

An example

slide-14
SLIDE 14

An example

slide-15
SLIDE 15

Online chromatic number

  • χO(G) = minimum number of colors such that a

deterministic online algorithm colors G for any input permutation of vertices.

slide-16
SLIDE 16

Online chromatic number

  • χO(G) = minimum number of colors such that a

deterministic online algorithm colors G for any input permutation of vertices.

  • χO(P4) = 3.
slide-17
SLIDE 17

Online chromatic number

  • χO(G) = minimum number of colors such that a

deterministic online algorithm colors G for any input permutation of vertices.

  • χO(P4) = 3.
  • χO is an (offline) graph paratemer – like chrom. number!
slide-18
SLIDE 18

Online chromatic number

  • χO(G) = minimum number of colors such that a

deterministic online algorithm colors G for any input permutation of vertices.

  • χO(P4) = 3.
  • χO is an (offline) graph paratemer – like chrom. number!

History

  • Online graph coloring first appears in [Bean ’76].
  • Online chromatic number first appears in [Gy´

arf´ as, Lehel ’90].

  • A copy of a graph at the start – [Halld´
  • rsson ’96].
slide-19
SLIDE 19

Game view

  • Two players: Drawer and Painter
  • Both have a copy of G
  • Both know a number k
slide-20
SLIDE 20

Game view

  • Two players: Drawer and Painter
  • Both have a copy of G
  • Both know a number k
  • Drawer (Sketcher) chooses the next vertex for Painter.
  • Painter paints a presented vertex with a color
slide-21
SLIDE 21

Game view

  • Two players: Drawer and Painter
  • Both have a copy of G
  • Both know a number k
  • Drawer (Sketcher) chooses the next vertex for Painter.
  • Painter paints a presented vertex with a color
  • Drawer wins when Painter uses k + 1 colors
  • Otherwise Painter wins
  • Painter has a winning strategy ⇔ χO(G) ≤ k
slide-22
SLIDE 22

Complexity

Chromatic number: deciding χ(G) ≤ k is NP-hard

  • already for k = 3 colors.
slide-23
SLIDE 23

Complexity

Chromatic number: deciding χ(G) ≤ k is NP-hard

  • already for k = 3 colors.

What about χO(G) ≤ k?

  • In P for k = 3 [Gy´

arf´ as, Kiraly, Lehel ’93]

slide-24
SLIDE 24

Complexity

Chromatic number: deciding χ(G) ≤ k is NP-hard

  • already for k = 3 colors.

What about χO(G) ≤ k?

  • In P for k = 3 [Gy´

arf´ as, Kiraly, Lehel ’93] [Kudahl ’15]: χO(G) ≤ k in PSPACE and coNP-hard;

  • Conjecture: PSPACE-complete
slide-25
SLIDE 25

Complexity and our contribution

Chromatic number: deciding χ(G) ≤ k is NP-hard

  • already for k = 3 colors.

What about χO(G) ≤ k?

  • In P for k = 3 [Gy´

arf´ as, Kiraly, Lehel ’93] [Kudahl ’15]: χO(G) ≤ k in PSPACE and coNP-hard;

  • Conjecture: PSPACE-complete

Our contribution: χO(G) ≤ k is PSPACE-complete.

slide-26
SLIDE 26

Starting step: Precoloring

Precoloring: Some vertices precolored and revealed to the algorithm at the start.

slide-27
SLIDE 27

Starting step: Precoloring

Precoloring: Some vertices precolored and revealed to the algorithm at the start.

Theorem (Kudahl ’15)

It is PSPACE-complete to decide χO(G) ≤ k given that polynomially many vertices are precolored.

slide-28
SLIDE 28

Three steps to the theorem

Theorem

It is PSPACE-complete to decide whether χO(G) ≤ k.

slide-29
SLIDE 29

Three steps to the theorem

Theorem

It is PSPACE-complete to decide whether χO(G) ≤ k. Step 1: . . . with polynomially many precolored vertices (new proof).

slide-30
SLIDE 30

Three steps to the theorem

Theorem

It is PSPACE-complete to decide whether χO(G) ≤ k. Step 1: . . . with polynomially many precolored vertices (new proof). Step 2: . . . with logarithmically many precolored vertices.

slide-31
SLIDE 31

Three steps to the theorem

Theorem

It is PSPACE-complete to decide whether χO(G) ≤ k. Step 1: . . . with polynomially many precolored vertices (new proof). Step 2: . . . with logarithmically many precolored vertices. Step 3: . . . with no precolored vertices.

slide-32
SLIDE 32

Three steps to the theorem

Theorem

It is PSPACE-complete to decide whether χO(G) ≤ k. Step 1: . . . with polynomially many precolored vertices (new proof). Step 2: . . . with logarithmically many precolored vertices. Step 3: . . . with no precolored vertices.

slide-33
SLIDE 33

A PSPACE-Complete Problem

The problem we reduce to: Q3DNF-SAT.

  • Input: a fully quantified 3DNF formula.
  • Question: Is it satisfiable? ⇐

⇒ Is at least one clause satisfiable?

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Why is it PSPACE-complete?

slide-34
SLIDE 34

A PSPACE-Complete Problem

The problem we reduce to: Q3DNF-SAT.

  • Input: a fully quantified 3DNF formula.
  • Question: Is it satisfiable? ⇐

⇒ Is at least one clause satisfiable?

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Why is it PSPACE-complete?

  • 1. Q3CNF-SAT is PSPACE-complete (well-known).
slide-35
SLIDE 35

A PSPACE-Complete Problem

The problem we reduce to: Q3DNF-SAT.

  • Input: a fully quantified 3DNF formula.
  • Question: Is it satisfiable? ⇐

⇒ Is at least one clause satisfiable?

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Why is it PSPACE-complete?

  • 1. Q3CNF-SAT is PSPACE-complete (well-known).
  • 2. PSPACE is closed under complement.
slide-36
SLIDE 36

A PSPACE-Complete Problem

The problem we reduce to: Q3DNF-SAT.

  • Input: a fully quantified 3DNF formula.
  • Question: Is it satisfiable? ⇐

⇒ Is at least one clause satisfiable?

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Why is it PSPACE-complete?

  • 1. Q3CNF-SAT is PSPACE-complete (well-known).
  • 2. PSPACE is closed under complement.
  • 3. Q3DNF-SAT is the complement of Q3CNF-SAT.
slide-37
SLIDE 37

Step 1: Precoloring

We precolor a big clique Kcol with |V (Kcol)| ≈ the size of the formula.

slide-38
SLIDE 38

Step 1: Precoloring

We precolor a big clique Kcol with |V (Kcol)| ≈ the size of the formula. Three uses:

  • 1. Identify uncolored vertices to player

Painter;

slide-39
SLIDE 39

Step 1: Precoloring

We precolor a big clique Kcol with |V (Kcol)| ≈ the size of the formula. Three uses:

  • 1. Identify uncolored vertices to player

Painter;

  • 2. Limit allowed colors on any

uncolored vertex.

blue orred

slide-40
SLIDE 40

Step 1: Precoloring

We precolor a big clique Kcol with |V (Kcol)| ≈ the size of the formula. Three uses:

  • 1. Identify uncolored vertices to player

Painter;

  • 2. Limit allowed colors on any

uncolored vertex.

  • 3. Assign meaning to colors.

blue orred set1 orunset1

slide-41
SLIDE 41

Step 1: Reduction

Given a Q3-DNF formula

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

slide-42
SLIDE 42

Step 1: Reduction

Given a Q3-DNF formula

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

take a polynomially sized Kcol and add gadgets for each

  • variable,
  • clause,
  • and the entire formula.
slide-43
SLIDE 43

Step 1: Gadget sketch

x1,t x1,f xi x3,t x3,f x2,t x2,f ∀x1∃x2∀x3 : (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3) l1,1 l1,2 l1,3 l2,1 l2,2 l2,3 x2,h d1 d2 F

slide-44
SLIDE 44

Step 1: Variable gadget

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

  • 1. Universal quantifier: two vertices x1,t, x1,f . Only

two allowed colors: set1, unset1. x1,t has color set1 ⇒ x1 set to True.

slide-45
SLIDE 45

Step 1: Variable gadget

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

  • 1. Universal quantifier: two vertices x1,t, x1,f . Only

two allowed colors: set1, unset1. x1,t has color set1 ⇒ x1 set to True. Requirement: Painter cannot distinguish x1,t from x1,f

x1,t x1,f

slide-46
SLIDE 46

Step 1: Variable gadget

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

  • 1. Universal quantifier: two vertices x1,t, x1,f . Only

two allowed colors: set1, unset1. x1,t has color set1 ⇒ x1 set to True. Requirement: Painter cannot distinguish x1,t from x1,f . . . but Painter knows it is coloring the gadget for x1.

x1,t x1,f

slide-47
SLIDE 47

Step 1: Variable gadget

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

  • 1. Universal quantifier: two vertices x1,t, x1,f . Only

two allowed colors: set1, unset1. x1,t has color set1 ⇒ x1 set to True. Requirement: Painter cannot distinguish x1,t from x1,f . . . but Painter knows it is coloring the gadget for x1.

  • 2. Existential quantifier: Triangle x2,t, x2,f and x2,h

– third vertex a helper vertex.

x1,t x1,f x2,t x2,f x2,h

slide-48
SLIDE 48

Step 1: Variable gadget

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

  • 1. Universal quantifier: two vertices x1,t, x1,f . Only

two allowed colors: set1, unset1. x1,t has color set1 ⇒ x1 set to True. Requirement: Painter cannot distinguish x1,t from x1,f . . . but Painter knows it is coloring the gadget for x1.

  • 2. Existential quantifier: Triangle x2,t, x2,f and x2,h

– third vertex a helper vertex. Requirement: Painter must be able to distinguish x2,t from x2,f

x1,t x1,f x2,t x2,f x2,h

slide-49
SLIDE 49

Step 1: Variable gadget

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

  • 1. Universal quantifier: two vertices x1,t, x1,f . Only

two allowed colors: set1, unset1. x1,t has color set1 ⇒ x1 set to True. Requirement: Painter cannot distinguish x1,t from x1,f . . . but Painter knows it is coloring the gadget for x1.

  • 2. Existential quantifier: Triangle x2,t, x2,f and x2,h

– third vertex a helper vertex. Requirement: Painter must be able to distinguish x2,t from x2,f . . . so all three vertices have different allowed colors.

x1,t x1,f x2,t x2,f x2,h

slide-50
SLIDE 50

Step 1: Clause gadgets

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Literal vertex: Two allowed colors, depending on the

  • quantifier. One of the colors always fa.

l1,1 l1,2 l1,3 d1

slide-51
SLIDE 51

Step 1: Clause gadgets

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Literal vertex: Two allowed colors, depending on the

  • quantifier. One of the colors always fa.

Requirement: If the literal is unsatisfied, literal vertex must use fa. Otherwise: uses the other color, fa is available later.

l1,1 l1,2 l1,3 d1

slide-52
SLIDE 52

Step 1: Clause gadgets

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Literal vertex: Two allowed colors, depending on the

  • quantifier. One of the colors always fa.

Requirement: If the literal is unsatisfied, literal vertex must use fa. Otherwise: uses the other color, fa is available later. Clause vertex: Only two allowed colors, one of them is fa.

l1,1 l1,2 l1,3 d1

slide-53
SLIDE 53

Step 1: Clause gadgets

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Literal vertex: Two allowed colors, depending on the

  • quantifier. One of the colors always fa.

Requirement: If the literal is unsatisfied, literal vertex must use fa. Otherwise: uses the other color, fa is available later. Clause vertex: Only two allowed colors, one of them is fa. Requirement: All three literals satisfied ⇒ color fa available.

l1,1 l1,2 l1,3 d1

slide-54
SLIDE 54

Step 1: Clause gadgets

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

Literal vertex: Two allowed colors, depending on the

  • quantifier. One of the colors always fa.

Requirement: If the literal is unsatisfied, literal vertex must use fa. Otherwise: uses the other color, fa is available later. Clause vertex: Only two allowed colors, one of them is fa. Requirement: All three literals satisfied ⇒ color fa available. Final vertex F corresponding to the evaluation of φ

  • We show: F can be colored ⇔ φ is satisfiable

l1,1 l1,2 l1,3 d1

slide-55
SLIDE 55

Step 1: Big picture

x1,t x1,f xi x3,t x3,f x2,t x2,f

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

l1,1 l1,2 l1,3 l2,1 l2,2 l2,3 x2,h d1 d2 F

slide-56
SLIDE 56

Step 1: Big picture

x1,t x1,f xi x3,t x3,f x2,t x2,f

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

l1,1 l1,2 l1,3 l2,1 l2,2 l2,3 x2,h d1 d2 F

slide-57
SLIDE 57

Step 1: Big picture

x1,t x1,f xi x3,t x3,f x2,t x2,f

∀x1∃x2∀x3: (x1 ∧ ¬x2 ∧ x3) ∨ (¬x1 ∧ x2 ∧ x3)

l1,1 l1,2 l1,3 l2,1 l2,2 l2,3 x2,h d1 d2 F

slide-58
SLIDE 58

Step 1: Analysis

  • If the formula is not satisfiable, then Drawer can force

Painter to use more than k colors

slide-59
SLIDE 59

Step 1: Analysis

  • If the formula is not satisfiable, then Drawer can force

Painter to use more than k colors

  • Drawer presents vertices for variables in the right order
slide-60
SLIDE 60

Step 1: Analysis

  • If the formula is not satisfiable, then Drawer can force

Painter to use more than k colors

  • Drawer presents vertices for variables in the right order
  • If the formula is satisfiable, then Painter can color the graph

using k colors

slide-61
SLIDE 61

Step 1: Analysis

  • If the formula is not satisfiable, then Drawer can force

Painter to use more than k colors

  • Drawer presents vertices for variables in the right order
  • If the formula is satisfiable, then Painter can color the graph

using k colors

  • Painter can recognize vertices by allowed colors
slide-62
SLIDE 62

Step 1: Analysis

  • If the formula is not satisfiable, then Drawer can force

Painter to use more than k colors

  • Drawer presents vertices for variables in the right order
  • If the formula is satisfiable, then Painter can color the graph

using k colors

  • Painter can recognize vertices by allowed colors
  • With the exception of vertices of a universally quantified

variable

slide-63
SLIDE 63

Step 1: Analysis

  • If the formula is not satisfiable, then Drawer can force

Painter to use more than k colors

  • Drawer presents vertices for variables in the right order
  • If the formula is satisfiable, then Painter can color the graph

using k colors

  • Painter can recognize vertices by allowed colors
  • With the exception of vertices of a universally quantified

variable

  • Right order of vertices ⇒ Painter uses the satisfiability
  • Bad order only helps Painter
slide-64
SLIDE 64

Three steps to the theorem

Theorem

It is PSPACE-complete to decide whether χO(G) ≤ k. Step 1: . . . with polynomially many precolored vertices (new proof). Step 2: . . . with logarithmically many precolored vertices. Step 3: . . . with no precolored vertices.

slide-65
SLIDE 65

Step 2: Sketch

The big clique Kcol present but uncolored.

slide-66
SLIDE 66

Step 2: Sketch

The big clique Kcol present but uncolored. Add one node for every “Step 1” vertex. Single node: p3 p2 p1

  • Nodes arrive early: Painter uses nodes for recognition
  • Nodes arrive after gadgets: Painter saves many colors
slide-67
SLIDE 67

Step 2: Sketch

The big clique Kcol present but uncolored. Add one node for every “Step 1” vertex. Single node: p3 p2 p1

  • Nodes arrive early: Painter uses nodes for recognition
  • Nodes arrive after gadgets: Painter saves many colors

Each vertex v from gadgets connected to p1 and p2 of each node

  • If a node identifies v, all of its vertices are adjacent to v
slide-68
SLIDE 68

Step 2: Sketch

The big clique Kcol present but uncolored. Add one node for every “Step 1” vertex. Single node: p3 p2 p1

  • Nodes arrive early: Painter uses nodes for recognition
  • Nodes arrive after gadgets: Painter saves many colors

Each vertex v from gadgets connected to p1 and p2 of each node

  • If a node identifies v, all of its vertices are adjacent to v

Only O(log n) precolored vertices

  • to recognize n nodes using binary encoding.
slide-69
SLIDE 69

Three steps to the theorem

Theorem

It is PSPACE-complete to decide whether χO(G) ≤ k. Step 1: . . . with polynomially many precolored vertices (new proof). Step 2: . . . with logarithmically many precolored vertices. Step 3: . . . with no precolored vertices.

slide-70
SLIDE 70

Step 3: Sketch

  • Remove one precolored vertex after another;
  • Graph size multiplies by a constant C;
  • Total increase C log n – polynomial.
slide-71
SLIDE 71

Step 3: Sketch

  • Remove one precolored vertex after another;
  • Graph size multiplies by a constant C;
  • Total increase C log n – polynomial.

Idea: Supernode p3 p2 p1

  • Difference: p1, p2, p3 are now huge cliques.
  • The rest of the graph is C-times smaller.
slide-72
SLIDE 72

Step 3: Sketch

  • Remove one precolored vertex after another;
  • Graph size multiplies by a constant C;
  • Total increase C log n – polynomial.

Idea: Supernode p3 p2 p1

  • Difference: p1, p2, p3 are now huge cliques.
  • The rest of the graph is C-times smaller.
  • Either a significant part of the supernode arrives . . .
  • . . . or Painter can save so many colors the rest can be

colored arbitrarily.

slide-73
SLIDE 73

Thank you!