The Power of Preprocessing: Gems in Kernelization

Slides:



Advertisements
Similar presentations
1 Bart Jansen Polynomial Kernels for Hard Problems on Disk Graphs Accepted for presentation at SWAT 2010.
Advertisements

Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Introduction to Kernel Lower Bounds Daniel Lokshtanov.
Generalization and Specialization of Kernelization Daniel Lokshtanov.
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Bart Jansen, Utrecht University. 2  Max Leaf  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
Approximative Kernelization: On the Trade-off between Fidelity and Kernel Size joint with Michael Fellows and Frances Rosamond Charles Darwin University.
Bart Jansen, Utrecht University. 2  Max Leaf  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least.
Preprocessing Graph Problems When Does a Small Vertex Cover Help? Bart M. P. Jansen Joint work with Fedor V. Fomin & Michał Pilipczuk June 2012, Dagstuhl.
The Power of Preprocessing Bart M. P. Jansen September 29th, Algorithms & Visualization seminar, TU Eindhoven.
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
Vertex Cover, Dominating set, Clique, Independent set
Coloring Algorithms and Networks. Coloring2 Graph coloring Vertex coloring: –Function f: V  C, such that for all {v,w}  E: f(v)  f(w) Chromatic number.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Kernelization for a Hierarchy of Structural Parameters Bart M. P. Jansen Third Workshop on Kernelization 2-4 September 2011, Vienna.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Data reduction lower bounds: Problems without polynomial kernels Hans L. Bodlaender Joint work with Downey, Fellows, Hermelin, Thomasse, Yeo.
Fixed Parameter Complexity Algorithms and Networks.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Kernel Bounds for Structural Parameterizations of Pathwidth Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch July 6th 2012, SWAT 2012,
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Uib.no UNIVERSITY OF BERGEN A Near-Optimal Planarization Algorithm Bart M. P. Jansen Daniel Lokshtanov University of Bergen, Norway Saket Saurabh Institute.
1 Bart Jansen Vertex Cover Kernelization Revisited: Upper and Lower Bounds for a Refined Parameter STACS 2011, Dortmund March 10 th, 2011 Joint work with.
1 Bart Jansen Independent Set Kernelization for a Refined Parameter: Upper and Lower bounds TACO Day, Utrecht January 12 th, 2011 Joint work with Hans.
Approximation Algorithms
1 Bart Jansen Independent Set Kernelization for a Refined Parameter: Upper and Lower bounds ALGORITMe Staff Colloquium, Utrecht September 10 th, 2010 Joint.
Techniques for Proving NP-Completeness Show that a special case of the problem you are interested in is NP- complete. For example: The problem of finding.
Data Structures & Algorithms Graphs
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
Computing Branchwidth via Efficient Triangulations and Blocks Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University.
Data Reduction for Graph Coloring Problems Bart M. P. Jansen Joint work with Stefan Kratsch August 22 nd 2011, Oslo.
Uib.no UNIVERSITY OF BERGEN On Sparsification for Computing Treewidth Bart M. P. Jansen Insert «Academic unit» on every page: 1 Go to the menu «Insert»
Kernel Bounds for Path and Cycle Problems Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch September 8 th 2011, Saarbrucken.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
The Theory of NP-Completeness
The NP class. NP-completeness
Kernelization: The basics
Chapter 10 NP-Complete Problems.
Gems in (the vocabulary of) multivariate algorithmics A tribute to Mike Fellows Bart M. P. Jansen In celebration of Mike’s 65th birthday, I give a personal.
Joint work with Hans Bodlaender
Richard Anderson Lecture 26 NP-Completeness
Optimization problems such as
Richard Anderson Lecture 26 NP-Completeness
Algorithms and Networks
Vertex Cover, Dominating set, Clique, Independent set
Chapter 5. Optimal Matchings
Computability and Complexity
Structural graph parameters Part 2: A hierarchy of parameters
ICS 353: Design and Analysis of Algorithms
Constrained Bipartite Vertex Cover: The Easy Kernel is Essentially Tight Bart M. P. Jansen June 4th, WORKER 2015, Nordfjordeid, Norway.
Parameterised Complexity
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Richard Anderson Lecture 25 NP-Completeness
Bart Jansen Polynomial Kernels for Hard Problems on Disk Graphs
Bart Jansen Polynomial Kernels for Hard Problems on Disk Graphs
Approximation and Kernelization for Chordal Vertex Deletion
REDUCESEARCH Polynomial Kernels for Hitting Forbidden Minors under Structural Parameterizations Bart M. P. Jansen Astrid Pieterse ESA 2018 August.
Approximation Algorithms
Bart M. P. Jansen Jesper Nederlof
Graphs and Algorithms (2MMD30)
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
The Theory of NP-Completeness
Hamiltonicity below Dirac’s condition
Parameterized Complexity of Conflict-free Graph Coloring
Presentation transcript:

The Power of Preprocessing: Gems in Kernelization Bart M. P. Jansen Dagstuhl Seminar Seminar 18281 July 12th 2018, Dagstuhl, Germany

Map of polynomial-time computation Kernelization Primality testing The lost continent of polynomial time Network flows Sorting Parsing context-free grammars Fast Fourier transform Shortest paths Longest common subsequence The striking realization that there are polynomial-time algorithms that hold provable power over NP-hard problems, without actually solving them. Approximation Islands of minor-testing

Map of the lost continent Linear algebra Protrusion reduction Crown reduction The lost continent of polynomial time contains: provably effective and efficient preprocessing algorithms that reduce the sizes of NP-hard inputs (without changing the answer) Representative sets Concentration bounds Expansion lemma Sunflower lemma Well-quasi ordering there are polynomial-time algorithms that hold provable power over the solutions to NP-hard problems, without actually finding them

Provable preprocessing What does provably effective and provably efficient mean? Efficient: preprocessing runs in polynomial time Effective: shrinks the input without changing the answer How to guarantee an effective preprocessing algorithm? 𝑥 𝑛 bits 𝑥′ 𝑛−1 bits 𝑝𝑜𝑙𝑦(𝑛) time 𝑥′ has same answer as 𝑥 𝑥′′ 𝑛−2 bits 𝑥 ∗ 1 bit ⋯ 𝑛⋅𝑝𝑜𝑙𝑦(𝑛) time

Provable preprocessing What does provably effective and provably efficient mean? Efficient: preprocessing runs in polynomial time Effective: shrinks the input without changing the answer How to guarantee an effective preprocessing algorithm? If 𝑃≠𝑁𝑃, no NP-hard problem has a poly-time preprocessing algorithm that shrinks the input by 1 bit The viewpoint of parameterized complexity helps 𝑥 𝑛 bits 𝑘 𝑝𝑜𝑙𝑦( 𝑥 ,𝑘) time 𝑥′ 𝑓(𝑘) bits 𝑘′

Kernelization: data reduction with a guarantee A kernelization for a parameterized problem 𝒫 is: an algorithm that transforms inputs (𝑥,𝑘) into ( 𝑥 ′ , 𝑘 ′ ) in 𝑝𝑜𝑙𝑦( 𝑥 ,𝑘) time such that (𝑥,𝑘) has answer yes iff ( 𝑥 ′ , 𝑘 ′ ) has answer yes and 𝑥 ′ ≤𝑓(𝑘) and 𝑘 ′ ≤𝑓(𝑘) The function 𝑓:ℕ→ℕ is the size of the kernelization Can be exponential or polynomial; smaller is better A kernelization guarantees that instances that are large with respect to their complexity parameter can be shrunk 𝑥 𝑛 bits 𝑘 𝑝𝑜𝑙𝑦( 𝑥 ,𝑘) time 𝑥′ 𝑓(𝑘) bits 𝑘′

Gems in kernelization Edge Clique Cover

Edge Clique Cover Input: An undirected graph 𝐺 and an integer 𝑘 Parameter: 𝑘 Question: Do there exist 𝑘 cliques 𝐶 1 ,…, 𝐶 𝑘 in 𝐺, such that for each 𝑢,𝑣 ∈𝐸(𝐺) there is a clique 𝐶 𝑖 ⊇{𝑢,𝑣}? Vertices are allowed to belong to more than one clique The edge set of 𝐺 can be covered by 𝑘 cliques (is their union) Notion of cover is different than for Vertex Cover! yes for 𝑘=6 NP-complete, has applications in finding the smallest representation of the graph as the intersection graph of a system of subsets of a size-k universe.

Covering edges of a 3D cube Solution with 6 cliques: is it optimal? Magical solution with 5 cliques

Reduction rules for Edge Clique Cover (R1) If 𝑣 is an isolated vertex, then remove 𝑣 (R2) If 𝐶 is a connected component that forms a clique, then remove 𝐶 and decrease 𝑘 by one (R3) If 𝑁 𝑢 =𝑁[𝑣], then remove 𝑢 (𝑘 does not change)

Reduction rules for Edge Clique Cover Claim. If 𝑁 𝑢 =𝑁[𝑣] and (R2) does not apply, then: (𝐺,𝑘) is yes ⇔ (𝐺− 𝑢 ,𝑘) is yes (⇒) If 𝐶 1 ,…, 𝐶 𝑘 is a solution in 𝐺, then 𝐶 1 − 𝑢 ,…, 𝐶 𝑘 −{𝑢} is a solution in 𝐺−{𝑢} (R1) If 𝑣 is an isolated vertex, then remove 𝑣 (R2) If 𝐶 is a connected component that forms a clique, then remove 𝐶 and decrease 𝑘 by one (R3) If 𝑁 𝑢 =𝑁[𝑣], then remove 𝑢 (𝑘 does not change)

Reduction rules for Edge Clique Cover Claim. If 𝑁 𝑢 =𝑁[𝑣] and (R2) does not apply, then: (𝐺,𝑘) is yes ⇔ (𝐺− 𝑢 ,𝑘) is yes (⇐) If 𝐶 1 ,…, 𝐶 𝑘 is a solution in 𝐺−{𝑢}, then 𝑣 appears in some clique 𝐶 𝑖 Add 𝑢 to each clique 𝐶 𝑖 in which 𝑣 appears (covers edge {𝑢,𝑣}) ∀ 𝑢,𝑤 ∈𝐸(𝐺), edge {𝑣,𝑤} is covered by some 𝐶 𝑖 , so 𝐶 𝑖 ∪{𝑢} covers edge {𝑢,𝑤} (R1) If 𝑣 is an isolated vertex, then remove 𝑣 (R2) If 𝐶 is a connected component that forms a clique, then remove 𝐶 and decrease 𝑘 by one (R3) If 𝑁 𝑢 =𝑁[𝑣], then remove 𝑢 (𝑘 does not change)

Reduction rules for Edge Clique Cover (R1) If 𝑣 is an isolated vertex, then remove 𝑣 (R2) If 𝐶 is a connected component that forms a clique, then remove 𝐶 and decrease 𝑘 by one (R3) If 𝑁 𝑢 =𝑁[𝑣], then remove 𝑢 (𝑘 does not change)

Effectiveness of reduction rules Lemma. If (𝐺,𝑘) is a yes-instance that cannot be reduced by (R1)-(R3), then: 𝑉 𝐺 < 2 𝑘 Proof. Fix a solution 𝐶 1 ,…, 𝐶 𝑘 and assign a bitvector to each vertex 𝑣𝑒𝑐 𝑣 ≔(𝑣 ? ∈ 𝐶 1 ,𝑣 ? ∈ 𝐶 2 ,…, 𝑣 ? ∈ 𝐶 𝑘 ) N[u] = vertices occurring in a clique with u = vertices occurring in a clique with v = N[v]

Effectiveness of reduction rules Lemma. If (𝐺,𝑘) is a yes-instance that cannot be reduced by (R1)-(R3), then: 𝑉 𝐺 < 2 𝑘 Proof. Fix a solution 𝐶 1 ,…, 𝐶 𝑘 and assign a vector to each vertex 𝑣𝑒𝑐 𝑣 ≔(0,1,1, 0,0,0) N[u] = vertices occurring in a clique with u = vertices occurring in a clique with v = N[v]

Effectiveness of reduction rules Lemma. If (𝐺,𝑘) is a yes-instance that cannot be reduced by (R1)-(R3), then: 𝑉 𝐺 < 2 𝑘 Proof. If 𝑣𝑒𝑐 𝑣 =000…000: then 𝑣 is isolated, (R1) applies If 𝑣𝑒𝑐 𝑣 =𝑣𝑒𝑐(𝑢): then 𝑁 𝑢 =𝑁[𝑣] and (R2/3) applies So 𝑉 𝐺 < |{bitvectors of length 𝑘}| = 2 𝑘 High-level view of the proof: If 𝐺 has a solution, it reveals structure in the graph If the graph is large wrt. 𝑘, then its structured-ness points to an applicable rule N[u] = vertices occurring in a clique with u = vertices occurring in a clique with v = N[v]

Complete kernelization for Edge Clique Cover Consider input (𝐺,𝑘) Exhaustively apply (R1)-(R3) to obtain ( 𝐺 ′ , 𝑘 ′ ) if 𝑉 𝐺 ′ ≥ 2 𝑘 ′ then output “𝐺 has no solution of size 𝑘” else output ( 𝐺 ′ , 𝑘 ′ ) with less than 2 𝑘 ′ vertices This kernelization is essentially the best known [Gramm, Guo, Hüffner and Niedermeier, ACM Exper. Alg. 08] No kernel of bitsize 2 𝑜 𝑘 unless P=NP [Cygan, Pilipczuk, Pilipczuk, SICOMP’16]

Gems in kernelization Edge Clique Cover Vertex Cover

Vertex Cover Input: A graph 𝐺 and an integer 𝑘 Parameter: 𝑘 Question: Is there a set 𝑆 of at most 𝑘 vertices in 𝐺, such that each edge has an endpoint in 𝑆? 𝑆 is a vertex cover of 𝐺 ⇔ 𝐺−𝑆 has no edges

Kernelization for Vertex Cover Reduction rules for an input (𝐺,𝑘) (R1) If 𝐺 has an isolated vertex 𝑣, reduce to (𝐺−𝑣, 𝑘) (R2) If 𝐺 has a vertex 𝑣 of degree >𝑘, reduce to (𝐺−𝑣,𝑘−1) (R3) If previous rules do not apply and 𝐸 𝐺 > 𝑘 2 , output NO

Kernelization for Vertex Cover Reduction rules for an input (𝐺,𝑘) (R1) If 𝐺 has an isolated vertex 𝑣, reduce to (𝐺−𝑣, 𝑘) (R2) If 𝐺 has a vertex 𝑣 of degree >𝑘, reduce to (𝐺−𝑣,𝑘−1) (R3) If previous rules do not apply and 𝐸 𝐺 > 𝑘 2 , output NO In polynomial time, can reduce any (𝐺,𝑘) to ( 𝐺 ′ , 𝑘 ′ ) such that: 𝐺 has vertex cover of size 𝑘 ⇔ 𝐺′ has vertex cover of size 𝑘′ 𝐸 𝐺 ′ ≤ 𝑘 2 so (R1) ensures 𝑉 𝐺 ′ ≤2 𝑘 2 (Or we already answer the problem) Vertex Cover has a kernel with 𝑂( 𝑘 2 ) vertices and edges

better kernel for vertex cover Crown reductions better kernel for vertex cover

𝑘 ′ ≔𝑘−1 Motivating examples If 𝐺 has a degree-1 vertex 𝑢 with neighbor 𝑣: Exists optimal vertex cover using 𝑣 and not 𝑢 Remove 𝑢 and 𝑣 from 𝐺 to obtain 𝐺′ 𝐺 has vtx-cover of size 𝑘⇔𝐺′ has vtx-cover of size 𝑘−1 𝑘 ′ ≔𝑘−1

𝑘 ′ ≔𝑘−2 Motivating examples If 𝐺 has non-adjacent vertices 𝑢,𝑢′ with neighborhood {𝑣, 𝑣 ′ }: Exists optimal vertex cover using {𝑣, 𝑣 ′ } and not {𝑢, 𝑢 ′ } Remove {𝑢, 𝑢 ′ ,𝑣, 𝑣 ′ } from 𝐺 to obtain 𝐺′ 𝐺 has vtx-cover of size 𝑘⇔𝐺′ has vtx-cover of size 𝑘−2 Solution S contains at least one vertex of {u,v} and one of {u’,v’} => S \ {u,u’} U {v,v’} is a solution that is not bigger. 𝑘 ′ ≔𝑘−2

∃ opt vertex cover containing all of 𝐻 and none of 𝐶 Crown decomposition A crown decomposition of graph 𝐺 is a partition of 𝑉(𝐺) into Crown 𝐶 independent set (non-empty) Head 𝐻 matched into 𝐶 (may contain edges) Remainder 𝑅 not adjacent to 𝐶 ∃ opt vertex cover containing all of 𝐻 and none of 𝐶

Crown reduction for Vertex Cover 𝐺 has a vertex cover of size 𝑘 if and only if 𝐺−(𝐶∪𝐻) has a vertex cover of size 𝑘−|𝐻| Off with his head! The name of the concept is so colorful that you cannot help but remember. Combined with the generality and wide applicability of the technique, this led to many applications.

Crown-based kernelization for Vertex Cover Strategy to kernelize instance (𝐺,𝑘): find a crown decomposition (𝐶,𝐻,𝑅) of 𝑉(𝐺) remove 𝐶∪𝐻 from 𝐺 decrease 𝑘 by |𝐻| repeat as long as a crown decomposition can be found 1. How can we find a crown decomposition? 2. What can we guarantee when we can no longer find one?

Crown lemma If graph 𝐺 has more than 3𝑘 vertices, then 𝐺 has a matching of size 𝑘+1, or a crown decomposition, and one can be found in polynomial time. If we fail to find a crown decomposition of 𝐺, then 𝐺 has at most 3𝑘 vertices and is kernelized, or 𝐺 has a matching of size 𝑘+1 ⇒ no size-𝑘 vertex cover To get a kernel with 3𝑘 vertices, suffices to prove the lemma

Crown lemma 𝑉(𝑴) 𝐼 If graph 𝐺 has more than 3𝑘 vertices, then 𝐺 has a matching of size 𝑘+1, or a crown decomposition, and one can be found in polynomial time. Greedily find maximal matching 𝑴 If 𝑴 >𝑘, then (a) holds If 𝑴 ≤𝑘, then 𝑉 𝑴 ≤2𝑘 Unmatched vertices 𝐼 are independent Compute maximum matching 𝑀′ in bipartite graph 𝐺′ between 𝑉(𝑴) and 𝐼 If 𝑀 ′ >𝑘, then (a) holds Else 𝑀′ leaves a vertex in 𝐼 unsaturated (If 𝑀 ′ saturates 𝐼, then 𝑉 𝐺 ≤3𝑘) 𝑉(𝑴) 𝐼

Crown lemma If graph 𝐺 has more than 3𝑘 vertices, then 𝐺 has a matching of size 𝑘+1, or a crown decomposition, and one can be found in polynomial time. Else 𝑀′ leaves a vertex in 𝐼 unsaturated 𝐷 ≔ vertices reachable in 𝐺′ from an unsat. 𝐼-vertex by an 𝑀′-alternating path This gives a crown decomposition: Crown: 𝐷∩𝐼 [non-empty, independent] Head: 𝐷∩𝑉(𝑴) [matched into crown] Remainder: 𝑉 𝐺 ∖𝐷 [not adjacent to crown] 𝑉(𝑴) 𝐼 Vertex Cover parameterized by solution size 𝑘 has a kernel with 3𝑘 vertices and 𝑂 𝑘 2 edges

𝑘-Internal spanning tree reductions WG ‘04 Can be used to kernelize a wide variety of problems Vertex Cover Saving 𝑘 Colors Max CNF-SAT Longest Cycle/Path Disjoint Cycles Hitting Set 𝑘-Internal spanning tree Treewidth Star packing Triangle packing Set Packing 𝑃 2 -Packing Batman-mask reduction?

Crown reductions and linear programming Crowns can be used to kernelize many problems, but have a special relation to vertex covers Minimize 𝑣∈𝑉 𝐺 𝑥 𝑣 Subject to 𝑥 𝑢 + 𝑥 𝑣 ≥1 ∀ 𝑢,𝑣 ∈𝐸(𝐺) 0≤ 𝑥 𝑣 ≤1 ∀𝑣∈𝑉(𝐺) 𝐺 has a crown decomposition ⇔ the linear programming relaxation of Vertex Cover has an optimal solution assigning 0 to some vertex [Abu-Khzam, Fellows, Langston, Suters ‘07] & [Chlebík, Chlebíková ‘08]

Gems in kernelization Graph Coloring Edge Clique Cover Vertex Cover

Graph 𝑞-Coloring Input: An undirected graph 𝐺 Question: Can we assign each vertex a color 𝑓 𝑣 ∈ 1,…, 𝑞 , such that 𝑓 𝑢 ≠𝑓(𝑣) for all edges 𝑢,𝑣 ∈𝐸(𝐺) ? Coloring where 𝑓 𝑢 ≠𝑓(𝑣) for all edges is called proper Which parameter to use? yes for 𝑞=3 Graph coloring is often used to model scheduling problems (assign each vertex (exam) a timeslot (color)). Exams that have overlap in the participants have an edge (can’t be simultaneous). Minimum number of colors in a proper coloring = smallest number of timeslots needed to schedule all exams.

Take one: parameterize by # allowed colors Use the desired number of colors 𝑞 as the parameter Can we reduce to bitsize 𝑓(𝑞), for some function 𝑓? Suppose such a kernelization exists; apply it to 3-Coloring Would solve 3-Coloring (NP-complete) in polynomial time 𝑥 𝑛 bits 3 𝑝𝑜𝑙𝑦( 𝑥 ,3) time 𝑥′ 𝑓(3) bits … Can brute-force the f(3)-size input in constant time.

Take two: parameterize by graph complexity Introduce a parameter that measures graph complexity Can Coloring inputs on large but simple graphs be reduced? Some ways to measure graph complexity: Treewidth Size of smallest edge clique cover Size of smallest feedback vertex set Size of smallest vertex cover

Vertex Covers A vertex cover (VC) in a graph 𝐺 is a vertex set 𝑆 such that for each edge 𝑢,𝑣 ∈𝐸(𝐺) we have 𝑢∈𝑆 or 𝑣∈𝑆 The associated optimization problem is interesting on its own Today: preprocess Coloring inputs on graphs with small VC’s If a 3-Coloring input 𝐺 is large compared to 𝑚𝑖𝑛𝑉𝐶(𝐺), can we shrink it efficiently without changing the answer? We look at 3-coloring for simplicity, we will generalize later.

Reducing 3-Coloring inputs with small covers Input: instance 𝐺 of 3-Coloring Compute 2-approximate vertex cover 𝑋 ∀𝑆⊆𝑋 of size 3: mark a common neighbor of 𝑆 Delete all unmarked 𝑣∉𝑋 Output resulting 𝐺’ on 𝑛’ vertices 𝑛’≤ 𝑋 + 𝑋 3 ≤2𝑘+ 2𝑘 3 𝑋

Correctness: 𝐺 is 3-colorable ⇔ 𝐺′ is 3-colorable (⇒) Trivial (⇐) Take a 3-coloring of 𝐺’⊇𝑋 Independently give each deleted vertex 𝑣 a color not used on 𝑁 𝐺 (𝑣) If 𝑆={𝑟,𝑏,𝑦} uses all colors: Marked vertex vS is improper in 𝐺’ 𝑋

Provable preprocessing for 3-Coloring Theorem. There is a polynomial-time algorithm that, given a graph 𝐺, outputs a subgraph 𝐺’ with 𝑂(𝑚𝑖𝑛𝑉𝐶 𝐺 3 ) vertices such that 𝐺 is 3-colorable iff 𝐺’ is A 3-coloring of 𝐺’ can be lifted to a 3-coloring of 𝐺 in polynomial time Algorithm and correctness proof generalize to 𝑞-Coloring Mark common neighbors of groups of 𝑞 vertices [J & Kratsch, Inform. Comput. ‘13] Kernel size 𝑂 𝑘 𝑞 vertices, dependence on 𝑞 is unavoidable [Bodlaender, J & Kratsch SIDMA’14]

Kernelization for 𝑞-Coloring Reduction to size 𝑝𝑜𝑙𝑦(𝑘) Vertex Cover Distance to linear forest Distance to Split graph components Distance to Cograph Feedback Vertex Set Distance to Interval Reduction to size 𝑓(𝑘) No 𝑝𝑜𝑙𝑦(𝑘) unless NP ⊆ coNP/poly Treewidth Distance to Chordal Odd Cycle Transversal Distance to Perfect No reduction to size 𝑓(𝑘) unless P=NP Chromatic Number

Conclusion Nice preprocessing algorithms found on the lost continent Rich theory of algorithmic techniques and lower bounds Several tantalizing open problems remain: Vertex Planarization? Directed Feedback Vertex Set? Edge Clique Cover Vertex Cover Graph Coloring THANK YOU!