Grundy Distinguishes Treewidth from Pathwidth Michael Lampis - - PowerPoint PPT Presentation

grundy distinguishes treewidth from pathwidth
SMART_READER_LITE
LIVE PREVIEW

Grundy Distinguishes Treewidth from Pathwidth Michael Lampis - - PowerPoint PPT Presentation

Grundy Distinguishes Treewidth from Pathwidth Michael Lampis LAMSADE Universit e Paris Dauphine ESA 2020 Acknowledgements This is joint work with: R emy Belmonte UEC Eun Jung Kim LAMSADE Valia Mitsou IRIF Yota Otachi Nagoya U


slide-1
SLIDE 1

Grundy Distinguishes Treewidth from Pathwidth

Michael Lampis LAMSADE Universit´ e Paris Dauphine

ESA 2020

slide-2
SLIDE 2

Acknowledgements

Grundy Distinguishes Treewidth from Pathwidth

This is joint work with: R´ emy Belmonte UEC Eun Jung Kim LAMSADE Valia Mitsou IRIF Yota Otachi Nagoya U Funded by the bilateral French-Japanese project PARAGA. Full paper available at: https://arxiv.org/abs/2008.07425

slide-3
SLIDE 3

What is this talk about?

Grundy Distinguishes Treewidth from Pathwidth

Two ways to look at this work A talk about structural parameters

  • Treewidth
  • Pathwidth
  • Treedepth, Cliquewidth, . . .
  • Price of Generality
  • Which problems are “easy”

for pathwidth but “hard” for treewidth? A talk about Grundy Coloring

  • Well-known
  • ptimization

problem

  • MaxMin variant of Coloring
  • Find a proper coloring that

uses the max number of colors but the color of no vertex can be decreased.

slide-4
SLIDE 4

What is this talk about?

Grundy Distinguishes Treewidth from Pathwidth

Two ways to look at this work A talk about structural parameters

  • Treewidth
  • Pathwidth
  • Treedepth, Cliquewidth, . . .
  • Price of Generality
  • Which problems are “easy”

for pathwidth but “hard” for treewidth? A talk about Grundy Coloring

  • Well-known
  • ptimization

problem

  • MaxMin variant of Coloring
  • Find a proper coloring that

uses the max number of colors but the color of no vertex can be decreased. “The fox knows many things, but the hedgehog knows one big thing”, Aesop’s fables

slide-5
SLIDE 5

What does the fox say?

slide-6
SLIDE 6

Price of Generality – Structural Parameters

Grundy Distinguishes Treewidth from Pathwidth

Each problem/parameter pair is typically either:

  • FPT: solvable in f(w)nO(1)
  • XP and W-hard: solvable in ng(w), not FPT
  • paraNP-hard: NP-hard for w = O(1)
  • Tractability propagates “downwards”, hard-

ness “upwards”

  • Big Picture Question: Which problems do we

“lose” when we transition between parame- ters?

  • Price of Generality
  • [Fomin, Golovach, Lokshtanov, Saurabh, SODA’09]
  • Showed EDS, MaxCut, Coloring, Hamiltonicity FPT

for tw, W-hard for cw.

slide-7
SLIDE 7

Price of Generality – Structural Parameters

Grundy Distinguishes Treewidth from Pathwidth

Each problem/parameter pair is typically either:

  • FPT: solvable in f(w)nO(1)
  • XP and W-hard: solvable in ng(w), not FPT
  • paraNP-hard: NP-hard for w = O(1)
  • Tractability propagates “downwards”, hard-

ness “upwards”

  • Big Picture Question: Which problems do we

“lose” when we transition between parame- ters?

  • Price of Generality
  • [Fomin, Golovach, Lokshtanov, Saurabh, SODA’09]
  • Showed EDS, MaxCut, Coloring, Hamiltonicity FPT

for tw, W-hard for cw.

slide-8
SLIDE 8

Price of Generality Continued

Grundy Distinguishes Treewidth from Pathwidth

Price of Generality Examples Clique-width Treewidth Pathwidth Tree-depth Vertex Cover Comments

slide-9
SLIDE 9

Price of Generality Continued

Grundy Distinguishes Treewidth from Pathwidth

Price of Generality Examples All MSO1, Dominating Set, Vertex Cover Clique-width Treewidth Pathwidth Tree-depth Vertex Cover Comments

slide-10
SLIDE 10

Price of Generality Continued

Grundy Distinguishes Treewidth from Pathwidth

Price of Generality Examples All MSO1, Dominating Set, Vertex Cover Clique-width Coloring, EDS, SAT, #Matching Treewidth Pathwidth Tree-depth Vertex Cover Comments

  • SAT: [Ordyniak, Paulusma, Szeider, TCS ’13]
  • #Matching: [Curticapean, Marx, SODA ’16]
slide-11
SLIDE 11

Price of Generality Continued

Grundy Distinguishes Treewidth from Pathwidth

Price of Generality Examples All MSO1, Dominating Set, Vertex Cover Clique-width Coloring, EDS, SAT, #Matching Treewidth Pathwidth Tree-depth Vertex Cover List Coloring, r-Dom Set, d-Ind Set Comments

  • List Coloring: [Fellows et al. Inf Comp ’11]. First such problem!
  • r-DS: [Katsikarelis, L., Paschos, DAM ’19]
  • Very few problems here!
slide-12
SLIDE 12

Price of Generality Continued

Grundy Distinguishes Treewidth from Pathwidth

Price of Generality Examples All MSO1, Dominating Set, Vertex Cover Clique-width Coloring, EDS, SAT, #Matching Treewidth Pathwidth Tree-depth Capacitated DS/VC, BDD,. . . Vertex Cover List Coloring, r-Dom Set, d-Ind Set Comments

  • Cap VC/DS: [Dom et al. IWPEC 2008]
  • Most problems W[1]-hard for tw are here!
slide-13
SLIDE 13

Price of Generality Continued

Grundy Distinguishes Treewidth from Pathwidth

Price of Generality Examples All MSO1, Dominating Set, Vertex Cover Clique-width Coloring, EDS, SAT, #Matching Treewidth Pathwidth Mixed Chinese Postman, r-DS Tree-depth Capacitated DS/VC, BDD,. . . Vertex Cover List Coloring, r-Dom Set, d-Ind Set Comments

  • MCP: [Gutin, Jones, Wahlstr¨
  • m, SIDMA ’16]. First of this type!
  • Also: Bounded-Length Cut, Geodetic Set, ILP

.

slide-14
SLIDE 14

Price of Generality Continued

Grundy Distinguishes Treewidth from Pathwidth

Price of Generality Examples All MSO1, Dominating Set, Vertex Cover Clique-width Coloring, EDS, SAT, #Matching Treewidth ??? Pathwidth Mixed Chinese Postman, r-DS Tree-depth Capacitated DS/VC, BDD,. . . Vertex Cover List Coloring, r-Dom Set, d-Ind Set Comments No natural problem known??

slide-15
SLIDE 15

Price of Generality Continued

Grundy Distinguishes Treewidth from Pathwidth

Price of Generality Examples All MSO1, Dominating Set, Vertex Cover Clique-width Coloring, EDS, SAT, #Matching Treewidth Grundy Coloring! Pathwidth Mixed Chinese Postman, r-DS Tree-depth Capacitated DS/VC, BDD,. . . Vertex Cover List Coloring, r-Dom Set, d-Ind Set Comments Main result of this talk: Grundy Coloring is such a problem!

slide-16
SLIDE 16

A Lesson from the fox

slide-17
SLIDE 17

Price of Generality and Combinatorics

Grundy Distinguishes Treewidth from Pathwidth

  • Sometimes, the reason a problem becomes FPT for a more restricted

parameter is more combinatorial than algorithmic.

  • Example:
  • Coloring is FPT for tw, W-hard for cw.
  • But algorithm runs in ktw. Is this FPT?
  • Yes! Because in all graphs χ(G) ≤ tw(G).
  • This bound makes all the difference: Coloring is FPT by cw + k.
  • Example:
  • r-Dom Set is FPT for td, W-hard for pw.
  • Why W-hard for pw? DP runs in rO(pw). But r could be large!
  • Why FPT for td? Graphs of tree-depth t have no simple path of

length > 2t, so r ≤ 2td.

  • Again saved by combinatorial bound on optimal!
slide-18
SLIDE 18

Let’s nail this problem!

slide-19
SLIDE 19

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized.

slide-20
SLIDE 20

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-21
SLIDE 21

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-22
SLIDE 22

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-23
SLIDE 23

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-24
SLIDE 24

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-25
SLIDE 25

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-26
SLIDE 26

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-27
SLIDE 27

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-28
SLIDE 28

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-29
SLIDE 29

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-30
SLIDE 30

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-31
SLIDE 31

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-32
SLIDE 32

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-33
SLIDE 33

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-34
SLIDE 34

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-35
SLIDE 35

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-36
SLIDE 36

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-37
SLIDE 37

Grundy Coloring

Grundy Distinguishes Treewidth from Pathwidth

  • Input: Graph G = (V, E) on n vertices
  • Repeat n times
  • Select an uncolored vertex u of G
  • Assign u the smallest color that is not currently used in any of its

neighbors (First-Fit)

  • Goal: Order the vertices in such a way that number of colors used is

maximized. Red 1 Green 2 Blue 3 Yellow 4

slide-38
SLIDE 38

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

slide-39
SLIDE 39

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1.

slide-40
SLIDE 40

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1.

slide-41
SLIDE 41

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1. Or

  • Tk is formed by connecting two copies
  • f Tk−1
slide-42
SLIDE 42

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1. Or

  • Tk is formed by connecting two copies
  • f Tk−1
slide-43
SLIDE 43

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1. Or

  • Tk is formed by connecting two copies
  • f Tk−1
slide-44
SLIDE 44

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1. Or

  • Tk is formed by connecting two copies
  • f Tk−1
slide-45
SLIDE 45

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1. Or

  • Tk is formed by connecting two copies
  • f Tk−1
slide-46
SLIDE 46

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1. Or

  • Tk is formed by connecting two copies
  • f Tk−1
slide-47
SLIDE 47

Binomial Trees

Grundy Distinguishes Treewidth from Pathwidth

  • The Binomial Tree Tk has a Grundy Coloring which assigns color k to

the root

  • Two recursive constructions
  • T1 is a vertex.
  • Tk

is a new root connected to Tk−1, Tk−2, . . . , T1. Or

  • Tk is formed by connecting two copies
  • f Tk−1
  • We have Γ(Tk) = k but χ(Tk) = 2.
  • |Tk| = 2k−1.
  • This is tight: for all trees Γ(T) ≤ log n.
  • More generally: for all graphs Γ(G) ≤ tw(G) log n.
slide-48
SLIDE 48

Algorithm for Grundy and Treewidth

Grundy Distinguishes Treewidth from Pathwidth

  • XP algorithm due to [Telle&Proskurowski SIDMA’97]
  • Standard Coloring DP: recall color of each vertex in bag
  • Reminder: Bags are separators
  • Only need to remember which colorings of the bag can be extended to

the left.

  • Complexity: → ktw
slide-49
SLIDE 49

Algorithm for Grundy and Treewidth

Grundy Distinguishes Treewidth from Pathwidth

  • XP algorithm due to [Telle&Proskurowski SIDMA’97]
  • Grundy: for each vertex we also need to make sure that it is

dominated by all lower colors

  • In this example, this coloring is only valid if 6 takes color Red
  • Need to remember for each vertex the subset of colors it has seen in

its neighborhood

  • → (2k)tw
slide-50
SLIDE 50

Algorithm for Grundy and Treewidth

Grundy Distinguishes Treewidth from Pathwidth

  • XP algorithm due to [Telle&Proskurowski SIDMA’97]
  • Overall running time O∗((k2k)tw).
  • Is this XP?
  • Yes, if we use that k ≤ tw log n
  • Running time: nO(tw2)
slide-51
SLIDE 51

Our results

Grundy Distinguishes Treewidth from Pathwidth

Main results:

  • Grundy Coloring is W[1]-hard by treewidth
  • Grundy Coloring is FPT by pathwidth

Also:

  • Grundy Coloring is NP-h for clique-width= 6
  • Grundy Coloring is FPT for modular width
  • Key insight: ability to bound Γ(G) is crucial
  • For bounded pw we have bounded Γ
  • For bounded tw we have Γ ≤ tw log n
  • No upper bound on Γ for bounded cw
slide-52
SLIDE 52

W-hardness for treewidth

slide-53
SLIDE 53

Proof Outline

Grundy Distinguishes Treewidth from Pathwidth

  • Desired result: Grundy Coloring is W[1]-hard by treewidth
  • Proof: Reduction from k-MCC
  • k-MCC: given properly k-colored graph, decide if exists k-Clique.
slide-54
SLIDE 54

Proof Outline

Grundy Distinguishes Treewidth from Pathwidth

  • Desired result: Grundy Coloring is W[1]-hard by treewidth
  • Proof: Reduction from k-MCC
  • k-MCC: given properly k-colored graph, decide if exists k-Clique.

Steps:

  • Define more general “Grundy with Targets and Supports”
  • Show that GwTS is W[1]-hard parameterized by pathwidth
  • Not a typo! More info later. . .
  • Use binomial trees to reduce GwTS/pw to Grundy/tw
slide-55
SLIDE 55

Grundy with Supports and Targets – Example

Grundy Distinguishes Treewidth from Pathwidth

  • Example of generalized problem instance.
  • Two vertices have a target we want to achieve.
  • Some vertices have a support set: we don’t need to assign them

neighbors of these colors to obtain a higher color.

slide-56
SLIDE 56

Grundy with Supports and Targets – Example

Grundy Distinguishes Treewidth from Pathwidth

  • Example of generalized problem instance.
  • Two vertices have a target we want to achieve.
  • Some vertices have a support set: we don’t need to assign them

neighbors of these colors to obtain a higher color.

slide-57
SLIDE 57

Grundy with Supports and Targets – Example

Grundy Distinguishes Treewidth from Pathwidth

  • Example of generalized problem instance.
  • Two vertices have a target we want to achieve.
  • Some vertices have a support set: we don’t need to assign them

neighbors of these colors to obtain a higher color.

slide-58
SLIDE 58

Grundy with Supports and Targets – Example

Grundy Distinguishes Treewidth from Pathwidth

  • Example of generalized problem instance.
  • Two vertices have a target we want to achieve.
  • Some vertices have a support set: we don’t need to assign them

neighbors of these colors to obtain a higher color.

slide-59
SLIDE 59

Grundy with Supports and Targets – Example

Grundy Distinguishes Treewidth from Pathwidth

  • Example of generalized problem instance.
  • Two vertices have a target we want to achieve.
  • Some vertices have a support set: we don’t need to assign them

neighbors of these colors to obtain a higher color.

slide-60
SLIDE 60

Outline of hardness for GwTS

Grundy Distinguishes Treewidth from Pathwidth

  • k × m “grid” where each row represents a color class
slide-61
SLIDE 61

Outline of hardness for GwTS

Grundy Distinguishes Treewidth from Pathwidth

  • k × m “grid” where each row represents a color class
  • Selector gadget: has n “reasonable” Grundy colorings. Each encodes

a selection of a vertex in original k-MCC instance.

slide-62
SLIDE 62

Outline of hardness for GwTS

Grundy Distinguishes Treewidth from Pathwidth

  • k × m “grid” where each row represents a color class
  • Selector gadget: has n “reasonable” Grundy colorings. Each encodes

a selection of a vertex in original k-MCC instance.

  • Propagator gadget: makes sure consecutive selectors encode same

vertex.

slide-63
SLIDE 63

Outline of hardness for GwTS

Grundy Distinguishes Treewidth from Pathwidth

  • k × m “grid” where each row represents a color class
  • Selector gadget: has n “reasonable” Grundy colorings. Each encodes

a selection of a vertex in original k-MCC instance.

  • Propagator gadget: makes sure consecutive selectors encode same

vertex.

  • Checker gadget: one for each edge of G. Connected to two selectors,

is activated if we encode the endpoints of this edge.

slide-64
SLIDE 64

Outline of hardness for GwTS

Grundy Distinguishes Treewidth from Pathwidth

  • k × m “grid” where each row represents a color class
  • Selector gadget: has n “reasonable” Grundy colorings. Each encodes

a selection of a vertex in original k-MCC instance.

  • Propagator gadget: makes sure consecutive selectors encode same

vertex.

  • Checker gadget: one for each edge of G. Connected to two selectors,

is activated if we encode the endpoints of this edge.

  • Goal: activate

k

2

  • checkers.
slide-65
SLIDE 65

Outline of hardness for GwTS

Grundy Distinguishes Treewidth from Pathwidth

  • k × m “grid” where each row represents a color class
  • Selector gadget: has n “reasonable” Grundy colorings. Each encodes

a selection of a vertex in original k-MCC instance.

  • Propagator gadget: makes sure consecutive selectors encode same

vertex.

  • Checker gadget: one for each edge of G. Connected to two selectors,

is activated if we encode the endpoints of this edge.

  • Goal: activate

k

2

  • checkers.
  • Main difficulty: selectors and propagators
slide-66
SLIDE 66

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-67
SLIDE 67

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-68
SLIDE 68

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-69
SLIDE 69

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-70
SLIDE 70

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-71
SLIDE 71

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-72
SLIDE 72

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-73
SLIDE 73

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-74
SLIDE 74

Selector Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • We construct log n independent edges, numbered 1 . . . log n.
  • Endpoints of edge i get support [1 . . . 2i − 2].
  • → they can be colored with 2i − 1, 2i.
  • For each edge we have a choice to put the larger color left or right.
  • 2log n = n choices can be encoded.
slide-75
SLIDE 75

Propagator Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • A propagator is a vertex with target 2 log n + 1 connected to different

sides of consecutive selectors.

  • Its neighborhood must cover all colors in {1, . . . , 2 log n}.
  • For each (starting from largest) colors 2i − 1, 2i can only be found on

i-th edge.

  • Therefore, assignment must remain consistent.
slide-76
SLIDE 76

Propagator Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • A propagator is a vertex with target 2 log n + 1 connected to different

sides of consecutive selectors.

  • Its neighborhood must cover all colors in {1, . . . , 2 log n}.
  • For each (starting from largest) colors 2i − 1, 2i can only be found on

i-th edge.

  • Therefore, assignment must remain consistent.
slide-77
SLIDE 77

Propagator Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • A propagator is a vertex with target 2 log n + 1 connected to different

sides of consecutive selectors.

  • Its neighborhood must cover all colors in {1, . . . , 2 log n}.
  • For each (starting from largest) colors 2i − 1, 2i can only be found on

i-th edge.

  • Therefore, assignment must remain consistent.
slide-78
SLIDE 78

Propagator Gadget

Grundy Distinguishes Treewidth from Pathwidth

Intuition:

  • A propagator is a vertex with target 2 log n + 1 connected to different

sides of consecutive selectors.

  • Its neighborhood must cover all colors in {1, . . . , 2 log n}.
  • For each (starting from largest) colors 2i − 1, 2i can only be found on

i-th edge.

  • Therefore, assignment must remain consistent.
slide-79
SLIDE 79

We’re on the right track!

Grundy Distinguishes Treewidth from Pathwidth

How is this reduction going?

  • Graph will have pathwidth ≈ k
  • Propagators are vertices, form separators, bags of decomposition
  • Information encoded?
  • Bottleneck of DP: must remember set of colors seen
  • Encoding of selection: set of colors seen by propagator to its left
  • Makes sense!
slide-80
SLIDE 80

We’re on the right track!

Grundy Distinguishes Treewidth from Pathwidth

How is this reduction going?

  • Graph will have pathwidth ≈ k
  • Propagators are vertices, form separators, bags of decomposition
  • Information encoded?
  • Bottleneck of DP: must remember set of colors seen
  • Encoding of selection: set of colors seen by propagator to its left
  • Makes sense!
slide-81
SLIDE 81

Regular Grundy

Grundy Distinguishes Treewidth from Pathwidth

  • To implement supports we attach binomial trees to supported vertices.
  • Does not increase treewidth.
  • Crucial: all supports are O(log n), so binomial trees have

polynomial size.

  • To implement targets we add a huge binomial tree T10 log n.
  • For each vertex with target ≤ 2 log n + 4 we find an internal vertex of

the tree that is supposed to take the same color and merge them.

  • Must be done carefully to keep treewidth low!
slide-82
SLIDE 82

Regular Grundy

Grundy Distinguishes Treewidth from Pathwidth

  • To implement supports we attach binomial trees to supported vertices.
  • Does not increase treewidth.
  • Crucial: all supports are O(log n), so binomial trees have

polynomial size.

  • To implement targets we add a huge binomial tree T10 log n.
  • For each vertex with target ≤ 2 log n + 4 we find an internal vertex of

the tree that is supposed to take the same color and merge them.

  • Must be done carefully to keep treewidth low!
slide-83
SLIDE 83

Regular Grundy

Grundy Distinguishes Treewidth from Pathwidth

  • To implement supports we attach binomial trees to supported vertices.
  • Does not increase treewidth.
  • Crucial: all supports are O(log n), so binomial trees have

polynomial size.

  • To implement targets we add a huge binomial tree T10 log n.
  • For each vertex with target ≤ 2 log n + 4 we find an internal vertex of

the tree that is supposed to take the same color and merge them.

  • Must be done carefully to keep treewidth low!
slide-84
SLIDE 84

Regular Grundy

Grundy Distinguishes Treewidth from Pathwidth

  • To implement supports we attach binomial trees to supported vertices.
  • Does not increase treewidth.
  • Crucial: all supports are O(log n), so binomial trees have

polynomial size.

  • To implement targets we add a huge binomial tree T10 log n.
  • For each vertex with target ≤ 2 log n + 4 we find an internal vertex of

the tree that is supposed to take the same color and merge them.

  • Must be done carefully to keep treewidth low!

Interesting Trick: Graph of pathwidth k + Tree ⇒ Graph of treewidth k

slide-85
SLIDE 85

Summary

Grundy Distinguishes Treewidth from Pathwidth

  • Grundy is W[1]-hard by treewidth
  • Reduction shows Grundy with Targets and Supports is W[1]-hard by

pathwidth!

  • Key reason why this doesn’t work for regular Grundy: we need

binomial trees

  • Binomial trees have large pathwidth (Θ(log n))
slide-86
SLIDE 86

FPT for pathwidth

slide-87
SLIDE 87

Cmbinatorics to Algorithms

Grundy Distinguishes Treewidth from Pathwidth

Two ingredients for FPT algorithm by pathwidth:

  • DP algorithm running in 2k·tw we saw
  • A combinatorial bound: for all G, Γ(G) ≤ 8pw(G)
  • Shown in [Dujmovic, Joret, Wood SIDMA’12]
  • Uses connection pathwidth↔interval graphs
slide-88
SLIDE 88

Cmbinatorics to Algorithms

Grundy Distinguishes Treewidth from Pathwidth

Two ingredients for FPT algorithm by pathwidth:

  • DP algorithm running in 2k·tw we saw
  • A combinatorial bound: for all G, Γ(G) ≤ 8pw(G)
  • Shown in [Dujmovic, Joret, Wood SIDMA’12]
  • Uses connection pathwidth↔interval graphs
  • Plugging in the bound and using tw ≤ pw we get

Thm: Grundy Coloring can be solved in O∗(2O(pw2))

slide-89
SLIDE 89

Conclusions

slide-90
SLIDE 90

Conclusions – Open Questions

Grundy Distinguishes Treewidth from Pathwidth

  • Grundy Coloring is first (?) natural problem to be FPT for pathwidth,

W-hard for treewidth Open questions:

  • Other such problems separat-

ing tw/pw?

  • Problems

separatings them for other reasons?

  • FPT by fvs?
  • Gap between no(

√ tw) LB and

ntw2 algorithm?

slide-91
SLIDE 91

Thank you!

Grundy Distinguishes Treewidth from Pathwidth

Thank you! Questions?