Parameterized Complexity Daniel Lokshtanov Part I – Basics, Kernels and Branching

advertisement
Parameterized Complexity
Part I – Basics, Kernels and Branching
Daniel Lokshtanov
Basics / Motivation
If L is NP-hard then there is no algorithm which
solves all instances of L in polynomial time.
What about the easy instances?
How do we capture easy?
Example: Vertex Cover
In: G, k
Question: ∃𝑆 ⊆ 𝑉 𝐺 , 𝑆 ≤ k such that every
edge in G has an endpoint in S?
Such a set S is called a vertex cover.
Algorithms for Vertex Cover
Naive: O(nkm).
Can we do it in linear time for k=10?
Or linear time for any fixed integer k?
Pre-processing for Vertex Cover
If any vertex v has degree ≥ k+1 it must be a
part of any vertex cover of size ≤ k
 Pick it in to solution.
 Remove v and decrease k by 1.
Pre-processing
If no vertices of degree ≥ k+1 and ≥ k2 edges left
say NO.
k2 edges left. Remove vertices of degree 0, then
there are 2k2 vertices left.
In linear time, we made n ≤ 2k2 and m ≤ k2.
Brute force now takes time O((2k2)kk)
Running time
Total running time is: O(n+m + (2k2)kk)
Linear for any fixed k 
Pretty slow even for k = 10 
Parameterized Complexity
Every instance comes with a parameter k.
Often k is solution size, but could be many other things
The problem is fixed parameter tractable (FPT) if
exists algorithm with running time f(k)nc.
So Vertex Cover parameterized by solution size is
fixed parameter tractable.
Kernelization
For vertex cover we first reduced the instance to
size O(k2) in polynomial time, then we solved
the instance.
Let’s give this approach a name – kernelization.
Kernels
A f(k)-kernel is a polynomial time
algorithm that takes an instance I
with parameter k and outputs an
equivalent instance I’ with
parameter k’ such that:
|I’| ≤ f(k)
k’ ≤ f(k) (but typically k’ ≤ k)
Kernelizable = FPT
A problem Π is solvable in f(k)nc time for some f.
⇔
Π is decidable and has a g(k) kernel for some g.
 Kernelize and solve.
 If n ≤ f(k), done. If n ≥ f(k) solve in time nc+1
Kernel: Point-line cover
In: n points in the plane, integer k
Question: Can you hit all the points with k
straight lines?
Fact: Point-Line cover is NP-Complete.
Alien invasion!
Take them
out with only
3 shots?
Reduction rules
R1: If some line covers k+1 points use it (and
reduce k by one).
R2: If no line covers n/k points, say NO.
If neither R1 nor R2 can be applied then n ≤ k2.
Kernel with k2 points!
KPR’13:
No kernel with O(k2-ϵ) points
unless coNP ⊆ NP/poly
Kernelization
Initially thought of as a technique for designing
FPT algorithms.
Interesting in its own right, because it allows us
to analyze polynomial time pre-processing.
Better kernel for Vertex Cover?
Next: kernel for Vertex Cover with 2k vertices,
using linear programming relaxation.
Vertex Cover (I)LP
Minimize ∑𝑥𝑖
∀𝑢𝑣 ∈ 𝐸 𝐺 : 𝑥𝑢 +𝑥𝑣 ≥ 1
∀𝑢 ∈ 𝑉 𝐺 :
𝑥𝑢 ≥ 0
𝑥𝑢 ∈ Z
If OPTLP > 𝑘 OPT > k  output ``no’’
Nemhauser Trotter Theorem
(a) There is always an optimal solution to Vertex
1
Cover LP that sets variables to {0 , , 1}.
2
1
, , 1}–solution
2
(b) For any {0
there is a matching
from the 1-vertices to the 0-vertices,
saturating the 1-vertices.
Nemhauser Trotter Proof
+ϵ
-ϵ
+ϵ
𝟏
<𝟎
𝟐
-ϵ
𝟏
>𝟏
𝟐
-ϵ
𝟏
𝟐
Reduction Rule
If exists optimal LP solution that sets xv to 1,
then exists optimal vertex cover that selects v.
Remove v from G and decrease k by 1.
Correctness follows from Nemhauser Trotter
Polynomial time by LP solving.
Kernel
Suppose reduction rule can not be applied and
1
consider any {0 , , 1} optimal solution to LP.
2
No vertex is 0
No vertex is 1.
(remove isolated vertices)
1
2
All vertices are .
OPTLP ≤ k.
1
n≤k
2
n ≤ 2k
Vertex Cover Algorithm
First apply the simple O(k2) kernel.
Then reduce to 2k vertices (in poly(k) time)
Try all subsets of the vertices.
Running time: = O(n + m + kc + 22k)
= O(n+m+4k)
Branching
A simple and powerful technique for designing FPT algorithms.
Vertex Cover (again)
Let uv ∈ E G .
At least one of u and v must be in the solution.
G has a vertex cover of size ≤ k
↔
G\u has a vertex
cover of size ≤ k-1
OR
G\v has a vertex
cover of size ≤ k-1
Recursive algorithm!
Running time
k
k-1
k-1
k-2
k-2
k-3
k-3
...
Total running time is O(2knc)
O(n + m + 2kkc) if we run kernel first.
3-Hitting Set
Input: Family S1...Sm of sets of size 3 over a
universe U = v1...vn, integer k.
Question: Is there a set X ⊆ V such that |X|≤ k
and every set Si intersects with X?
Parameter: k
Branching for 3-Hitting Set
Pick a set Si = {va,vb,vc}.
At least one of them must be in the solution X.
Branch on which one, decrease k by one.
Remove all sets that are hit.
Total running time: O(3k ⋅ (n+m))
Even Better Branching for Vertex Cover
(Going below 2k)
If all vertices have degree ≤ 2 then
G is a set of paths and cycles,
so we can solve Vertex Cover in polynomial time.
Even Better Branching
Let v ∈ V G , degree(v) ≥ 3.
If v is not in the solution, then N(v) is.
G has a vertex cover of size ≤ k
↔
G\v has a vertex
cover of size ≤ k-1
OR
G\N(v) has a vertex
cover of size
≤ k-degree(v)
Recursive algorithm!
Running time
T(n, k) =
Running time on a graph on at most n vertices
and parameter at most k.
N(k) =
Number of nodes in a recursion tree if parameter
is at most k.
L(k) =
Number of leaves in a recursion tree if parameter
is at most k.
T(n, k)
≤ O(N(k) ⋅ (n+m))
≤ O(L(k) ⋅ (n+m))
Recurrence
L(k) ≤
L(k-1) + L(k-3)
If exists
vertex of degree
≥3.
1
otherwise.
Will prove L(k) ≤ 1.47k by induction.
L(k)
≤ L(k-1) + L(k-3)
≤ 1.47k-1 + 1.47k-3
≤ 1.47k ⋅ (1.47-1 + 1.47-3)
≤ 1.47k
(recurrence)
(induction hypothesis)
(choice of 1.47)
Running time analysis
Number of leaves in the recursion tree is at most 1.47k,
so total running time is O(1.47k(n+m)).
Fastest known algorithm for Vertex Cover has
running time ≈ 1.27k (Chen, Kanj, Xia, 2010).
Alternative Parameters
So far we have only seen the solution size as the
parameter.
Often other parameters also make sense, or
even make more sense than solution size.
k-Coloring
A proper k-coloring is a funcion f : V(G)  {1...k}
such that no edge has same colored endpoints.
Input: G, k
Question: Does G have a proper k-coloring?
Parameter: k
Can not have FPT algorithm – NP-hard for k=3!
k-Coloring parameterized by VC
Input: G, integer k, set X ⊆ V(G) such that X is a
vertex cover of G, integer x = |X|.
Question: Does G have a proper k-coloring?
Parameter: x
FPT now means f(x)nO(1).
k-Coloring parameterized by VC
If x+1 ≤ k say YES
X
Thus, assume k ≤ x.
Branch on kx colorings of X.
I = V(G) \ X
For each guess, color I greedily.
Total running time: O(kx ⋅ (n+m)) = O(xx ⋅ (n+m)).
LMS’11: No xo(x) ⋅ nO(1) time algorithm assuming Exponential Time Hypothesis.
Above Guarantee Vertex Cover
So far we have only seen the solution size as the
parameter for vertex cover.
Alternative parameter μ = solution size – OPTLP
Note that μ can be very small even if solution size is big!
Vertex Cover Above LP
In: G, k.
Question: Does there exist a vertex cover S of
size at most k?
Parameter: k − OPTLP where OPTLP is the value
of an optimum LP solution.
Now FPT means f(k − OPTLP )nc time!
Reduction Rule
Recall the reduction rule from the kernel for
Vertex Cover:
– If exists optimal LP solution that sets xv to 1, then exists optimal vertex
cover that selects v.
– Remove v from G and decrease k by 1.
Now the unique LP optimum sets all vertices to
1
2
Branching
Pick an edge uv. Solve (G\u, k-1) and (G\v, k-1).
LP(G\u) > LP(G) – 1 since otherwise there is an
optimal LP solution for G that sets u to 1.
Then LP(G\u) ≥ LP(G) −
1
2
Branching - Analysis
OPTLP – k drops by ½ ... in both branches!
𝑇 𝜇 ≤ 2𝑇 𝜇 − 1
2
≤ 4𝜇
Total time: 4k-OPTLP ⋅ nO(1)
Caveat: The reduction does not increase the measure!
Part II – Parameterized Reductions
Reductions between Problems
It is often useful to reduce A to B such that an
algorithm for A gives an algorithm for B.
- if B is ``easy’’ then A is ``easy’’.
- If A is ``hard’’ then B is ``hard’’.
Examples: NP-hardness, reductions to 2-SAT,
hardness of approximation, reductions to Set
Cover.
Parameterized Reductions
Instance (I,k) of
problem A
Time: T(I,k)
≤ h(k)|I|O(1)
Equivalent
instance (I’,k’) of
problem B
when does a reduction + f(k’)|I’|O(1) time algorithm for B
give something meaningful for A?
Need: k’ ≤ g(k) for some function g of k only!
Algorithms by Reduction
Recall, we saw an algorithm for Vertex Cover
above LP with running time 4k-OPTLP ⋅ nO(1).
Now we give an algorithm for Almost 2-SAT by
reduction to Vertex Cover above LP.
Almost 2-SAT
In: 2-SAT formula ψ, integer k
Question: Can we remove k variables from ψ
and make it satisfiable?
Parameter: k
2-SAT formula example:
ψ = (x ∨ y) ∧ (¬x ∨ z) ∧ (y ∨ ¬z) ∧ (¬z ∨ ¬p) ∧ (z ∨ p)
Almost 2-SAT ≤ Vertex Cover/k-LP
𝑥
𝑥∨𝑦
𝑦
𝑧
𝑦 ∨ ¬𝑧
¬𝑥
¬𝑦
¬𝑧
Reduction analysis
Time taken by reduction: polynomial.
n variables in 2-SAT formula
↔
2n vertices in output graph, OPTLP = n.
Vertex Covers of size n+k = OPTLP + k
↔
Almost 2-SAT solutions of size k
Vertex Cover 4k-OPTLP ⋅ nO(1) algorithm

Almost 2-SAT 4k ⋅ nO(1) algorithm!
Odd Cycle Transversal
In: G, k
Question: Does there exist a set S ⊆ V G of
size at most k such that G\S is bipartite?
Parameter: k
Exercise: Give a 4knO(1) time algorithm for Odd
Cycle Transversal.
Odd Cycle Transversal
≤ Almost 2-Sat
𝑥 ∨ ¬𝑦
x
y
x
¬𝑥 ∨ 𝑦
y
¬𝑥 ∨ 𝑧
𝑦 ∨ ¬𝑧
z
¬𝑦 ∨ 𝑧
𝑥 ∨ ¬𝑧
z
Parameterized Hardness
How can we give (conditional) lower bounds on
the running time of parameterized algorithms?
Base assumptions + reductions!
Coloring/k vs Clique/k
Recall that 3-Coloring is NP-complete so we can
not have f(k)nO(1) or even nf(k) time algorithm for
Coloring/k.
We have a O(nk) algorithm for Clique/k. Can we
have a f(k)nO(1) time algorithm?
Base Assumptions
P ≠ NP:
FPT ≠ W[1]:
ETH:
3-SAT has no polynomial time algorithm.
Independent Set has no f(k)nO(1) time algorithm.
3-SAT has no 2o(n)poly(m) time algorithm.
(Exponential Time Hypothesis)
ETH
Basic form:
Useful
consequences:
3-SAT has no 2o(n)poly(m) time algorithm.
3-SAT has no 2o(n+m)poly(m) time algorithm.
Independent Set has no f(k)no(k) time algorithm.
(starting points for reductions)
Clique/k
Exercise: Show that Clique has no f(k)no(k) time
algorithm, assuming ETH.
Solution: Reduce from Independent Set, take
the complement of the input graph.
(Add Clique to the bag of problems we can reduce from)
MultiColored Clique (MCC)
Input: G = (V1 ∪ V2 ∪ ... ∪ Vk, E) and an integer k,
where each Vi is an independent set.
Question: Does G contain a clique C on k
vertices?
Parameter: k
The Vi’s are called color classes.
If G has a k-clique C then
|C ∩ Vi| = 1 for all i.
Clique ≤ MCC
a
b
c
d
e
f
V2
Instance of Clique
f
e
c
a
d
b
k=3
a
a
b
b
c
c
d
d
e
e
f
f
V1
Instance of MCC
k=3
V3
Clique ≤ MCC
Clique size: k
Number of vertices: n⋅k
Number of edges: O(n⋅k2)
f(k)no(k) algorithm for MCC gives f(k)no(k) algorithm for clique.
MCC has no f(k)no(k) time algorithm,
assuming ETH.
MCC useful observations
MCC remains hard even on instances
– where all color classes have same size,
– where the number of edges between each pair of
color classes is the same.
MultiColored Clique is the starting point of many reductions.
Independent Set ≤ Vertex Cover (?)
A set X is a vertex cover of G
if and only if
V(G)\X is independent
Given an instance (G,k)
for independent set
Solve instance
(G,n-k)
of vertex cover
We reduced independent set to vertex cover…
… so vertex cover does not have a f(k)no(k) algorithm under ETH?
(but didnt we make a 1.47knO(1) one?)
Dominating Set
Input: G, k.
Question: Does G contain a set S on at most k
vertices so that N[S] = V(G)?
Parameter: k
Does Dominating Set have a fixed parameter tractable algorithm?
No! Will reduce from MCC.
Vertex Representation Strategy
(for reductions from MCC)
Vertex selection gadgets that encode the
selection of a vertex in a color class to go
into the clique.
Adjacency gadgets that enforce that the
selected vertices are adjacent. Typically
adjacency is enforced by forbidding
nonadjacency.
Vertex Representation
Adjacency
gadgets
MCC ≤ Dominating Set
k+1 guards
Vi
Clique
Vertex Selection Gadget
Complete bipartite
graph
MCC ≤ Dominating Set
Adjacency Gadget
u
uv
Non-edge in
MCC instance
v
MCC ≤ Dominating Set
Adjacency
gadgets
Dominating Set
has no
f(k)no(k) time
algorithm unless
ETH fails.
List Coloring / VC
Input: G, a vertex cover X of G of size x, a list Lv
of allowed colors for each
v ∈V(G).
Question: Does G have a proper coloring which
assigns to each vertex v a color from Lv?
Parameter: x
This generalizes k-coloring, which has a O(xx(n+m)) time algorithm.
MCC ≤ List Coloring / VC
f
a
V1
V3
e
{e,f}
{b,e}
b
v3
d
c
V2
List Coloring
has no
f(x)no(x) time
algorithm unless
ETH fails.
{a,b} v1
{c,e}
{a,c}
{b,d}
{d,f}
v2
{c,d}
Lower Bounds for FPT problems
So far we have seen f(k)no(k) lower bounds for
problems which are not FPT.
Can we lower bound f(k) for problems that have
f(k)nO(1) time algorithms?
Reduction starting point
3-SAT has no 2o(n+m)poly(m) time algorithm.
Note: 3-SAT does have a trivial O(2nn) time algorithm, so this is
FPT parameterized by n.
3-SAT ≤ Independent Set
y
x
y
Number of clauses: m
x
Number of vertices: 3m
x
y
Independent Set
2o(n) algorithm for Independent Set gives
2o(n+m)poly(m) time algorithm for 3-SAT.
No 2o(n) algorithm for Independent Set
assuming ETH.
Independent Set ≤ Vertex Cover
The reduction from independent set to vertex
cover that did not work when parameter was
solution size, works perfectly when parameter is
the number of vertices!
No 2o(n) algorithm for Vertex Cover
assuming ETH.
Vertex Cover
Vertex Cover size is at most n.
(duh!)
2o(k)nO(1) time algorithm yields 2o(n) time algorithm!
No 2o(k)nO(1) time algorithm for Vertex Cover
assuming ETH.
Conclusions
Reductions are a useful tool, both for giving
algorithms and lower bounds.
The precise characteristics of the reductions
should be tailored according to what you want
to prove.
Part III – More Algorithm Design Techniques
Iterative Compression
Incremental approach – build the instance up
iteratively, update solution in each iteration.
Tournament Feedback Vertex Set
A tournament is a directed graph such that for
every pair u,v of vertices either uv or vu is an arc.
A feedback vertex set in a directed graph G is a
vertex set S such that G\S is acyclic.
Tournament Feedback Vertex Set
Input: Tournament G, integer k.
Question: Does G have a feedback vertex set of
size at most k?
Parameter: k
Triangles
Lemma: A tournament G is acyclic if and only if
there are no directed triangles in G.
Branching on triangles gives 3knO(1) time
algorithm.
Will now see a 2knO(1) time algorithm.
Compression Version
Input: Tournament G, integer k, feedback vertex
set X of G of size ≤ k+1.
Question: Does G have a feedback vertex set S
of size at most k?
Parameter: k
Iterative Compression
Lemma: If there exists a O(2knc) time algorithm
for the compression version, then there
exists a O(2knc+1) time algorithm for TFVS.
Next: proof of lemma
Iterative Compression
Order the vertices as v1, v2 ….. vn.
Define Vi = {v1, … , vi}
Define Gi = G[Vi]
If Gi does not have a feedback vertex set of size ≤ k,
then neither does Gn.
If Si is a feedback vertex set of Gi, then
Xi+1 = Si ∪ vi+1 is a feedback vertex set of Gi+1
Iterative Compression
Gk+1
Gk+2
Gk+3
Xk+1
Xk+2
Xk+3
Sk+1
Sk+2
Sk+3
Gn-2
Gn-1
Gn
…
Xn-2
Xn-1
Xn
…
Sn-2
Sn-1
Sn
Compression
XFeedback
Feedback
= Vk+1 isvertex
step
vertex
a feedback
succeeds?
set
set
k+1
vertex
If no,
setofof
answer
size
size
Gk+1k+1
kof
``no’’.
size k+1
Solving the Compression Step
Input: Tournament G, integer k, feedback vertex
set X of G of size ≤ k+1.
Question: Does G have a feedback vertex set S
of size at most k?
Parameter: k
Branch on which subset of X goes into S. Gives a
2k+1 factor in the running time.
Disjoint TFVS
Input: Tournament G, integer k, feedback vertex
set X of G.
Question: Does G have a feedback vertex set S
of size at most k, disjoint from X?
No parameter needed – we will solve Disjoint TFVS in polynomial time!
Disjoint TFVS
acyclic
1
2
3
4
5
X
6
undeletable
FVS
x
V(G) \ X
acyclic
Disjoint TFVS
acyclic
Delete from V(G)\X to make
6
sequence
4 non-decreasing!
2
3
5
1 number
Longest non-decreasing subsequence
is poly time (simple DP).
x
V(G) \ X
acyclic
3
y
1
X
undeletable
FVS
TFVS Wrap Up
Disjoint TFVS: Polynomial time.
Compression Step: 2k calls to Disjoint TFVS.
Main Problem: n iterative calls to compression
step.
Tournament Feedback Vertex Set
has O(2knO(1)) time algorithm
3-Hitting Set
Input: Family S1...Sm of sets of size 3 over a
universe U = v1...vn, integer k.
Question: Is there a set X ⊆ V such that |X|≤ k
and every set Si intersects with X?
Parameter: k
We saw a 3knO(1) time branching algorithm.
Now: 2.47knO(1) time using iterative compression
Iterative Compression
Do iterative compression adding one set at a
time.
When a set is added, we add one elment from it
to the previous solution of size k.
We now have a hitting set of size k+1, need one
of size k.
3-Hitting Set Compression
Input: Family S1...Sm of sets of size 3 over a
universe U = v1...vn, integer k. A hitting set
Q of size k+1.
Question: Is there a hitting set X of size k?
Parameter: k
3-Hitting Set Compression
For each element q in Q, guess whether it goes
into X or not.
– If q goes into solution X, remove all sets containing
q and decrease k by 1.
– If q does not go into solution, remove q from all
sets (may create sets of size less than 3)
Tentative overhead 2|Q| = 2k+1 (but we will do better)
After guessing
Since Q was a hitting set, all sets now have size
at most 2!
– If there is a set of size 1, must pick the element in
it and decrease k by 1.
– If there is a set of size 0, return ``no’’.
All sets now have size exactly 2.
But this is just Vertex Cover!
Solved in time 1.47knO(1).
Running time analysis
Iterative compression overhead: m
Guessing on Q:
2k+1
Solving Vertex Cover:
1.47knO(1)
Running time: 2k+1 ⋅ 1.47knO(1) ⋅ m =
2.94knO(1)
Better than 3k… but we promised 2.47k
Should not be k at the same time!
Better Running Time Analysis
𝑘+1
𝑖
There are
choices for Q that decrease the
parameter by i.
𝑘
Total running time is:
𝑚⋅
𝑖=0
𝑘+1
≤𝑛
𝑂 1
𝑖=0
≤ 𝑛𝑂
1
𝑘+1
1.47𝑘−𝑖 𝑛𝑂
𝑖
1
𝑘+1
1.47𝑘+1−𝑖 1𝑖
𝑖
1.47 + 1
𝑘+1
≤ 𝟐. 𝟒𝟕𝒌 𝒏𝑶
𝟏
Color Coding
Design randomized algorithm first, then try to
de-randomize it.
k-Path
Input: G, k
Question: Is there a path on k vertices in G?
Parameter: k
Will give an algorithm for k-path
with running time (2e)k+o(k)nO(1).
Randomized Algorithm
Consider a random function f : V(G)  {1...k}
For a set S on k vertices, what is the probability that all vertices
get a different color?
Good
colorings
of S.
Possible
colorings
of S.
k!
1
≥
kk
𝑒𝑘
Stirling
approximation
Randomized Algorithm
Repeat ek⋅t times:
Pick random f : V(G)  {1...k}
Look for a colorful k-path.
If the algorithm finds a k-path, then G definitely has one.
If there is a k-path, the algorithm will find it with probability at least
1− 1−1
𝑒 𝑘 ⋅𝑡
𝑒𝑘
≥ 1 − 1 𝑒𝑡
Finding a Colorful k-Path
Dynamic programming on the colors used by
partial solutions.
vertex
T[S,v] =
subset of {1...k}
true
If exists path on |S| vertices ending in v,
using all colors from S.
false
otherwise
Dynamic Programming
T[S\f v , u]
T[S,v] =
u∈N(v)
For each neighbor u of v
2kn table entries
Is there a path ending in u
that uses all colors in S, except
v’s color?
O(n) time to fill each entry.
Total time: 2kn2
Randomized Algorithm
Repeat ek⋅100 times:
Pick random f : V(G)  {1...k}
Look for a colorful k-path.
If the algorithm finds a k-path, then G definitely has one.
If there is a k-path, the algorithm will find it with probability
at least 1 − 1 𝑒 100
Total time: O((2e)kn2).
Takes 2kn2
time
De-randomization
How can we make the algorithm deterministic?
Let F = f1...ft be a family of functions with
fi: V(G)  {1...k}.
F is a k-universal hash family F if for every set
S ⊆ V(G) of size k, there is an fi ∈ F such that fi
makes S colorful.
Deterministic Algorithm
Construct a k-perfect hash family F.
For each f ∈ F:
Look for a colorful k-path.
If the algorithm finds a k-path, then G definitely has one.
If there is a k-path, the algorithm will find it.
Total time: O(t + |F|⋅2kn2).
Takes t
time
Takes 2kn2
time
Constructing Hash Functions
[NSS’95] Can construct a k-perfect hash family F
of size ek+o(k)log n in time ek+o(k)n log n.
k-Path in time (2e)k+o(k)nO(1)≤ 5.44knO(1)
Set Splitting
Input: Family S1...Sm of sets over a universe U =
v1...vn, integer k.
Question: Is there a coloring c : U  {0,1} such that
at least k sets contain an element colored 0
and an element colored 1?
Parameter: k
Will give a 2knO(1) time randomized, and a
4knO(1) time deterministic algorithm.
Randomized Algorithm
Pick a random coloring c : V(G)  {1,2}.
If c splits at least k sets, return c.
If the algorithm returns a coloring, then it is correct.
Claim: If there is a coloring ψ that splits at least k sets,
then a random coloring will split at least k sets
with probability at least 1 2𝑘
The 2knO(1) time randomized algorithm
follows directly from the claim.
Proof of claim
Suppose ψ splits the sets S1...Sk.
Make a bipartite graph G=(A ∪ B, E) as follows:
– A is a minimal hitting set for S1...Sk colored 0
– B is a minimal hitting set for S1...Sk colored 1
For i from 1 to k
Add one edge between a vertex in Si ∩ A and
a vertex in Si ∩ B.
Set Splitting Graph
A
B
Proof of claim, continued.
If c properly colors G then all sets S1...Sk are split.
G has ≤ k edges and at most ≤ 2k vertices
G has k+x vertices  G has ≥ x components
Probability that c properly colors G is at least:
Number of proper colorings
Number of colorings
2x
2k+x
=
1
2k
Set Splitting Randomized Algorithm
Repeat 100 ⋅ 2k times:
Pick a random coloring c : V(G)  {1...k}.
If c splits at least k sets, return c.
Running time: O(2knm)
If the algorithm returns a coloring, then it is correct.
If there is a coloring that splits k sets, the algorithm will
find one with probability 1-1/2100.
Universal Coloring Family
Let F = {c1...ct} be a family of colorings V(G)  {0,1}
F is a k-universal coloring family if for every set S on at most k
vertices and every way of coloring S there is some ci ∈ F which
colors S exactly like that.
Set Splitting Algorithm
Construct 2k-universal coloring family F
For each c ∈ F:
If c splits at least k sets, return c.
If the algorithm returns a coloring, then it is correct.
If there is a coloring that splits k sets, the algorithm will
find one, since the graph G has ≤ 2k vertices.
Running time: O(t + |F|nm)
Takes t
time
Construction
of Universal Coloring Families
[NSS’95] Can construct a k-universal coloring
family F of size 2k+o(k)log n in time 2k+o(k)n log n.
(We need a 2k-universal coloring family)
Set Splitting in time 4k+o(k)nO(1).
Important Separators
Mind where you cut
Separators
A u-v-separator is a set S ⊆ V(G) \ {u,v} such that
u and v are in different components of G\S.
The set R(u,S) that u can reach in G \ S is the
vertex set of the connected component of G\S
that contains v.
Separators and Reachability
u
R(u,S)
v
R(v,S)
S
Domination of Separators
A u-v separator S1 dominates another
u-v separator S2 if
- |S1| ≤ |S2|
Domination is
transitive
- R(u,S2) ⊆ R(u,S1)
S1
u
v
S2
Important Separators
A u-v separator S is important if no other u-v
separator dominates it.
u
v
How many important separators?
Theorem: [Chen, Liu, Lu]
For any graph G, vertices u, v and integer t,
there are at most 4t important
u-v separators in G of size t. They can be
enumerated in time 4tnO(1).
Proof is similar in spirit to the Vertex Cover above LP branching
Separating Vertex Sets
For disjoint vertex sets X and Y, a X-Y-separator is
a set S ⊆ V(G) \ (X ∪ Y) such that there is no
path from X to Y in G\S.
Domination
Reachability
Important Separators
extend naturally to this setting
How many important separators?
Theorem: [Chen, Liu, Lu]
For any graph G, pair of disjoint vertex sets X, Y,
and integer t, there are at most 4t important
X-Y separators in G of size t. They can be
enumerated in time 4tnO(1).
Multiway Cut
Input: G, vertex set T, integer k
Question: Is there a set S ⊆ V(G)\T on at most k
vertices such that all vertices of T are in
separate componentes of G\S?
Parameter: k
Will give an algorithm for Multiway Cut
with running time 8knO(1).
Multiway Cut – Pushing Lemma
Lemma: For any terminal v ∈ T there is an
optimal multiway cut S such that N(R(v,S)) is an
important v-T\v separator.
The set reachable
from v in G\S.
Pushing Lemma – Proof by Picture
v
Pushing Lemma Consequence
(G,T) has a multiway cut of size k
↔
Exists important v-T\v separator S
such that (G\S,T) has a multiway cut
of size k-|S|.
Branch!
Runtime Analysis
T(k) = number of leaves in recursion tree.
𝑘
∑
T(k) ≤ 𝑖=1 4𝑖 𝑇(𝑘 − 𝑖)
Prove T(k) ≤ 8𝑘 by induction.
T(k) ≤ ∑𝑘𝑖=1 4𝑖 8𝑘−𝑖
≤
≤
𝑘 8𝑘
∑𝑖=1 2𝑖
𝑘 ∑𝑘 1
8 𝑖=1 2𝑖
≤ 8𝑘
Multiway Cut
We just saw 8knO(1) time algorithm.
The same algorithm with slightly more clever
counting of important separators actually runs
in 4knO(1) time.
Directed Important Separators
In directed graphs, X-Y separators must cut all paths
from X to Y.
The set R(X,S) is the set of vertices reachable from X
in G\S.
domination
important separators
4k bound on important separators
generalizes to directed graphs.
Directed Feedback Vertex Set (DFVS)
Input: Directed graph G, integer k.
Question: Does G have a feedback vertex set of
size at most k?
Parameter: k
Will see a 16k(k+1)!nO(1) time algorithm.
Iterative Compression
Iterative Compression + branching on the k+1
size solution reduces the problem to the Disjoint
DFVS problem, with 2kn overhead.
Disjoint DFVS
Input: Directed graph G, integer k, vertex set X
of size k+1 such that G\X is acyclic.
Question: Does G have a feedback vertex set S,
disjoint from X, such that |S| ≤ k?
Parameter: k
Will see a 8k(k+1)!nO(1) time algorithm.
Disjoint DFVS
Suppose there is a solution S
G \ S is a DAG, so it has a
topological ordering
Guess the ordering restricted to the
old disjoint solution X.
Add implied arcs.
(k+1)! possibilities.
Disjoint DFVS-T
Input: Directed graph G, integer k, vertex set X
of size k+1 such that G\X is acyclic and G[X]
is an acyclic tournament.
Question: Does G have a feedback vertex set S,
disjoint from X, such that |S| ≤ k?
Parameter: k
Will see a 8knO(1) time algorithm.
Solutions to DFVS-T
Consider an instance (G, X, k) of DFVS-T
Let R = V(G) \ X
A solution S ⊆ R must:
Separate each v ∈ X from all v’s in-neighbors in X
Hit all cycles in G[R ∪ {v}] for each v ∈ X
(All such cycles go through v)
Necessary and sufficient conitions for a solution!
Solutions to DFVS-T
X
V(G) \ X
Splitting
X
V(G) \ X
x in
xout
G’
DFVS-T Pushing Lemma
There is an optimal solution S, such that
N(R(x,S)) is an important
xout-(X\x ∪ {xin})-separator in G’.
The set reachable
from x in G\S.
Pushing Lemma
xin
X
V(G) \ X
S
xout
G’
Push away from xout
Important Separator
Proof
of
Pushing
Lemma
(Sketch)
Among all solutions, S pick one that maximizes
R(xout,S).
If Z = N(R(xout,S)) is not important, some Z’
dominates it.
(S \ Z) ∪ Z’ is a solution with larger R(xout,S).
(Short proof omitted)
Branching for DFVS-T
Some optimal solution contains an important
xout-(X\x ∪ {xin})-separator.
Branch on all such separators.
T(k) ≤ ∑𝑘𝑖=1 4𝑖 𝑇(𝑘 − 𝑖) ≤ 8𝑘
DFVS Wrap Up
Iterative Compression + Guessing on ``too big’’
solution gives 2kn instances of Disjoint DFVS.
In Disjoint DFVS we guess the order of the disjoint
solution, making (k+1)! instances of DFVS-T.
DFVS-T has 8knO(1) time algorithm using important
separators
Total time: 16k(k+1)!nO(1).
Part IV – Meta-Theorems
What is a meta-theorem?
A meta-theorem is a theorem that generates
theorems.
For example a single algorithm that
works for many problems.
Nice big hammer
for classification
Graph Minors
Theory developed over >20 papers by Robertson
and Seymour, to prove Wagner’s Conjecture.
Subgraphs, Contractions and Minors
H is a subgraph of G (H ≤s G) if H can be obtained
from G by removing vertices and edges.
Subgraphs, Contractions and Minors
H is a contraction of G (H ≤c G) if H can be
obtained from G by contracting edges.
Subgraphs, Contractions and Minors
H is a minor of G (H ≤m G)if H is a contraction of
a subgraph of G.
Wagners Conjecture
«no infinite antichain»
In any infinte sequence of graphs, H1, H2, H3, …
there is a pair Hi and Hj such that Hi is a minor
of Hj.
«well quasi order»
Now known as the Graph Minors Theorem.
Minor Checking
For every H there is a f(H)n3 time algorithm that
decides whether an input graph G contains H as
a minor.
f(H) is really, really large.
Minor closed classes
For any minor closed class F there is a set of
forbidden minors.
finite
List L = {H1, H2…. Ht} such that G is in F if and only if it
excludes all Hi as minors.
So L is finite!
Without loss of generality L is an anti-chain.
Can check whether G ∈ F in O(n3).
F-deletion
minor closed
Input: G, k
Question: Is there a set S on at most k vertices
such that G\S is in F?
Parameter: k
For any fixed k, the set of ``yes’’ instances is minor closed!
So it has a finite list L of forbidden minors
The size of L depends on F and on k, but not on G.
f(k)n3 time algorithm!
Nonuniform 
F-deletion problems
Vertex Cover
Feedback Vertex Set
Series-Parallell Deletion
Treewidth-x-Deletion
Pathwidth-x-Deletion
Θ-Deletion
K4-Deletion
Planarization
Better algorithms?
Can we get uniform, efficient FPT algorithms for
all F-deletion problems?
What about polynomial kernels?
Nice open problem 
Some progress has been made
Planar F-deletion problems
Vertex Cover
Feedback Vertex Set
Treewidth-x-Deletion
Pathwidth-x-Deletion
Θ-Deletion
K4-Deletion
Planarization
F excludes at least
one planar graph.
Planar F-Deletion
If F excludes at least one planar graph then
F-deletion has:
- Polynomial kernel (of size O(kh))
- ckpoly(n) time algorithm
- Constant factor approximation*
*randomized,
unweighted.
Courcelle’s Theorem
If F is a minor closed graph class that excludes at
least one planar graph, then MSO2 model
checking is linear time FPT on F.
Note: Courcelle’s theorem is usually stated in terms
of tree-width.
(C)MSO
Quantifiers: ∃ and ∀ for variables for vertex sets
and edge sets, vertices and edges.
Operators: = and ∊
Operators: inc(v,e) and adj(u,v)
Logical operators: ∧, ∨ and ¬
(C): Size modulo fixed integers operator:
eqmodp,q(S)
EXAMPLE: p(G,S) = “S is an independent set of G”:
p(G,S) = ∀u, v ∊ S, ¬adj(u,v)
CMSO-Optimization Problems
Φ-Optimization
Input: G
Max / Min |S|
So that Φ(G, S) holds.
CMSO definable proposition
Extended Courcelles Theorem
If F is a minor closed graph class that excludes at
least one planar graph, then Φ-Optimization has
a f(Φ)n time algorithm on F.
Converse of Courcelle
If F is subgraph-closed and contains graphs of
treewidth at least (log n)28 then MSO2 modelchecking has no nf(Φ) algorithm under ETH*.
Note: The newly proved polynomial grid minor theorem might well make
treewidth log n sufficient.
*Terms
and conditions apply
FO-Model Checking
If F is minor closed and exludes at least one
graph H, then FO-model checking has f(Φ)n time
algorithm on F.
FO is like MSO but without the sets
Integer Linear Programming
Linear optimization function subject to linear
(inequality) constraints.
Variable domain: integers
k4.5kpoly(L) time algorithm, where k is the
number of variables.
Closest String
Input: n strings s1…sn over an alphabet A, all of
same length L, and an integer k.
Question: Is there a string s such that for every i,
d(s, si) ≤ k?
Parameter: n
Note: the parameter is the number of strings, not k
Closest String as Hit & Miss
For every position, need to choose the letter of
solution string s.
For all strings s differs from at that position,
increase distance by one.
Can’t miss any string more than k times.
Closest String Alphabet Reduction
Can assume that alphabet size is at most n.
1111111111111111
1234123412342222
3214321443322114
1111111111111111
1222122212222222
2212221223232113
Column Types
1111111111111111
1111122212222222
2222221223232113
1
234 5
112
122
122
121
113
Closest String ILP
After alphabet reduction, there are at most nn
column types.
Count the number of columns of each column
type.
ILP
For each column type, make n variables, one for
each letter.
𝑥𝑎 𝑡 = number of columns of type t where the
solution picks the letter a.
Constraints:
For each column type t, the chosen letters add up
to the number of type t.
Objective Function
For a string si and column type t, let
si[t] be the letter of si in columns of type t.
For each string si, its distance from the solution
string s is
𝑥𝑎 𝑡
𝑑𝑖 =
𝑡𝑦𝑝𝑒 𝑡 𝑙𝑒𝑡𝑡𝑒𝑟
𝑎≠𝑠𝑖 [𝑡]
Objective is Minimize Max di
Algorithm for Closest String
Number of variables in the ILP is n⋅nn so the final
running time is FPT in n. (double exponential)
Kernels on Planar Graphs
Better kernel for vertex cover?
The naive kernel gives a graph with k2 edges and 2k2
vertices  encoded in O(k2 log k) bits.
We saw a kernel with 2k vertices and k2 edges.
DM10: A kernel on k2-c bits for any c > 1 yields
coNP ⊆ NP/poly.
Vertex Cover on Planar graphs?
More reduction rules for vertex cover:
- If v has degree 1  pick his neighbor into the
solution.
- Two false twins of degree 2  pick both their
neighbors into solution.
Vertex Cover Analysis
Vertex Cover, Size ≤ k.
Independent Set
No vertices of degree 1.
Simple plane graphs on k vertices have ≤ 3k edges
 ≤ 3k vertices of degree 2.
How many vertices of degree ≥3?
Bipartite Planar Graph Lemma
Lemma: Let G be simple, planar and bipartite,
with sides A and B, and all vertices in B have
degree ≥ 3. Then |B| ≤ 2|A|.
(i) #vertices = n = |A| + |B|
(ii) #edges = m ≥ 3|𝐵|
(iii) #faces = f
(iv) Every face has at least 4 edges  4f ≤ 2m  f ≤ m/2
(v) Euler’s formula: m = n + f - 2
(iv) + (v)  m ≤ n + m/2 – 2  (vi) m ≤ 2n
(ii) + (vi)  3|B| ≤ m ≤ 2n ≤ 2|A| + 2|B|  |B| ≤ 2|A|
Vertex Cover Analysis
Vertex Cover, Size ≤ k.
Independent Set
No vertices of degree 1.
≤ 3k vertices of degree 2.
≤ 2k vertices of degree ≥ 3.
Kernel with 6k vertices and
18k edges!
Planar vs non-planar kernels
Problem
Best Known
Kernel
Vertex Cover
O(k2)*
Feedback
Vertex Set
O(k2)
Connected
Vertex Cover
O(2k)
Dominating Set
Odd Cycle
Transversal
O(k4.5)**
Steiner Tree
O(2k)
Longest path
Best Lower
Bound
**Compression,
*(2k
Best Planar
Kernel
𝑘 2−𝜖
Randomized
O(k)*
𝑘 2−𝜖
O(k)
no poly(k)
vertices)
O(k)
no f(k)
O(k)
𝑘 2−𝜖
O(k4.5)**
no poly(k)
O(k142)
no poly(k)
no poly(k)
Connected Vertex Cover
Input: Graph G, integer k.
Question: Is there a vertex cover S of size at
most k such that G[S] is connected?
Parameter: k
No polynomial kernel on general graphs unless CoNP ⊆ NP/poly
Next: simple linear kernel on planar graphs
CVC reduction rules
Two false twins of degree 1  delete one.
Three false twins of degree 2  delete one.
CVC Analysis
Vertex Cover, Size ≤ k.
Independent Set
≤ k vertices of degree 1.
≤ 6k vertices of degree 2.
≤ 2k vertices of degree ≥ 3.
Kernel with 10k vertices and
30k edges!
Meta-theorem for Kernels
Theorem: Every Contraction-Bidimensional,
Separable CMSO-Optimization problem has a
linear kernel on planar graphs.
Contraction-Bidimensional
Contracting an edge can not increase OPT
t
OPT
t
≥ c⋅ t2
Separable
An optimization problem is separable if for any
G, and vertex subset S of G,
Boundary of S
|OPT(G[S])| = |OPT(G) ∩ S| ± O(|𝛿(S)|)
«The size of an optimal solution in G[S] is additively
O(|𝛿(S)|)-approximated by |OPT(G) ∩ S|»
Meta-theorem for Kernels
Theorem: Every Contraction-Bidimensional,
Separable CMSO-Optimization problem has a
linear kernel on planar graphs.
Can be pushed through up to apex-minor free graphs
and then to minor-free graphs (losing some problems)
and then to topological-minor-free graphs (losing some more problems)
Part V – Open Problems
What kind of open problems?
Maybe not crazy hard,
but hopefully non-trivial.
Imbalance
Input: G, k
Question: Is there a vertex ordering with total
imbalance at most k?
Parameter: k
Polynomial kernel?
neighbors to my left – neighbors to my right
2O(k) algorithm?
2o(k) algorithm?
Contraction
Input: G, k
Question: Can we contract at most k edges so
that G does not contain K1,3 as an induced
subgraph?
Parameter: k
FPT or not?
Disjoint Rectangle Stabbing
Input: n disjoint rectangles in R2, integer k
Question: Can we stab all the rectangles with k
axis-parallell lines?
Parameter: k
Polynomial kernel?
kO(k) time algorithm?
Odd Cycle Transversal
The edge version has a 2knO(1) algorithm.
The vertex version is has a 2.32knO(1) algorithm.
2knO(1) for the vertex version?
Feedback Vertex Set
(in undirected graphs)
Deterministic 3knO(1) time algorithm?
Deterministic or randomized 2.99knO(1) time
algorithm?
Point Line Cover
ko(k)nO(1) time algorithm?
1.99999n time algorithm?
Planar Vertex Cover
Kernel with 1.99k vertices?
Set Cover
(difficult/important)
Input: Family S1...Sm of sets over a universe
U = v1...vn, integer k.
Question: Is there a collection of k sets that
together cover the universe?
Parameter: n
Note, parameter is universe size!
1.99n algorithm?
(I rather expect a Strong ETH lower bound)
Concrete 3-SAT lower bound.
(difficult/important)
1.0000001n lower bound for
3-SAT assuming Strong ETH?
Book
(near) (future) (hopefully)
Kernelization
Theory of Parameterized Preprocessing
Book
(near future, hopefully)
Parameterized Complexity
Thank
you!
Download