SLIDE 1 ON THE PARAMETERISED COMPLEXITY OF CUTTING A FEW VERTICES FROM A GRAPH
Fedor
Petr A. Golovach1 Janne H. Korhonen*,2
1University of Bergen, Norway 2University of Helsinki, Finland
SLIDE 2
INTRODUCTION MIN CUTS AND SIZE CONSTRAINTS
SLIDE 3
MINIMUM CUT
Given a graph G = (V,E), find a cut (X,Y) such that |∂(X,Y)| is minimised
SLIDE 4
MINIMUM CUT
Given a graph G = (V,E), find a cut (X,Y) such that |∂(X,Y)| is minimised
X Y
SLIDE 5
MINIMUM CUT
Given a graph G = (V,E), find a cut (X,Y) such that |∂(X,Y)| is minimised
Polynomial-time solvable! X Y
SLIDE 6
MINIMUM BISECTION
Given a graph G = (V,E), find a cut (X,Y) such that |∂(X,Y)| is minimised and |X| = |Y|
SLIDE 7
MINIMUM BISECTION
Given a graph G = (V,E), find a cut (X,Y) such that |∂(X,Y)| is minimised and |X| = |Y|
?
SLIDE 8
MINIMUM BISECTION
Given a graph G = (V,E), find a cut (X,Y) such that |∂(X,Y)| is minimised and |X| = |Y|
? NP-hard!
SLIDE 9 MINIMUM BISECTION ?
- More generally, we may require that...
- ...the smaller side of the cut has at most size k
- ...the smaller side of the cut has at least size k
SLIDE 10
PROBLEM DEFINITIONS PARAMETERISED SMALL CUTS
SLIDE 11 CUTTING A FEW VERTICES FROM A GRAPH
INPUT: Graph G = (V,E), positive integers k and t PROBLEM: Is there a cut (X,Y) such that
- 1≤ |X| ≤ k
- size of the cut is at most t
SLIDE 12 CUTTING A FEW VERTICES FROM A GRAPH
INPUT: Graph G = (V,E), positive integers k and t PROBLEM: Is there a cut (X,Y) such that
- 1≤ |X| ≤ k
- size of the cut is at most t
- Parameterised complexity perspective
- Assume k and t are small
- Variants
- Edge cuts vs. vertex cuts
- Terminals
- Size exactly k
- Parameterisation by k, by t, or by k + t
SLIDE 13
Find a vertex partition (X,Y) s.t.
- 1≤ |X| ≤ k
- |∂(X,Y)| ≤ t
- Vertex cut
Find a vertex partition (X,S,Y) s.t.
- S separates X and Y
- 1≤ |X| ≤ k
- |S| ≤ t
CUTTING A FEW VERTICES FROM A GRAPH
X X S
∂(X,Y)
INPUT: Graph G = (V,E), positive integers k and t
BASIC VARIANTS
SLIDE 14
Find a vertex partition (X,Y) s.t.
- |X| ≤ k
- |∂(X,Y)| ≤ t
- x ∈ X
- Vertex cut with terminal
Find a vertex partition (X,S,Y) s.t.
- S separates X and Y
- |X| ≤ k
- |S| ≤ t
- x ∈ X
CUTTING A FEW VERTICES FROM A GRAPH
X X S
∂(X,Y)
INPUT: Graph G = (V,E), positive integers k and t, vertex x
TERMINAL VARIANTS
x x
SLIDE 15
Find a vertex partition (X,Y) s.t.
- |X| = k
- |∂(X,Y)| ≤ t
- Vertex cut with exact size
Find a vertex partition (X,S,Y) s.t.
- S separates X and Y
- |X| = k
- |S| ≤ t
CUTTING A FEW VERTICES FROM A GRAPH
X X S
∂(X,Y)
INPUT: Graph G = (V,E), positive integers k and t
EXACT VARIANTS
SLIDE 16 CUTTING A FEW VERTICES FROM A GRAPH
- edge cut
- edge cut, terminal
- edge cut, |X| = k
- vertex cut
- vertex cut, terminal
- vertex cut, |X| = k
SLIDE 17 CUTTING A FEW VERTICES FROM A GRAPH
- edge cut
- edge cut, terminal
- edge cut, |X| = k
- vertex cut
- vertex cut, terminal
- vertex cut, |X| = k
- For each of the variants above, is there an
algorithm with running time
- f(k)nO(1),
- f(t)nO(1), or
- f(k+t)nO(1)?
SLIDE 18 CUTTING A FEW VERTICES FROM A GRAPH
- edge cut
- edge cut, terminal
- edge cut, |X| = k
- vertex cut
- vertex cut, terminal
- vertex cut, |X| = k
- For each of the variants above, is there an
algorithm with running time
- f(k)nO(1),
- f(t)nO(1), or
- f(k+t)nO(1)?
i.e. FPT or W[1]-hard?
SLIDE 19
EARLIER WORK AND OUR RESULTS
SLIDE 20
compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal edge cut, |X| = k vertex cut vertex cut, terminal vertex cut, |X| = k
SLIDE 21 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal edge cut, |X| = k vertex cut vertex cut, terminal vertex cut, |X| = k
polynomial
- Extreme sets [Watanabe and Nakamura 1987]
- Weighted version also in P [Armon and Zwick 2006]
SLIDE 22 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k vertex cut vertex cut, terminal vertex cut, |X| = k
polynomial
- [Lokshtanov and Marx 2011]
SLIDE 23 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
vertex cut vertex cut, terminal vertex cut, |X| = k
polynomial
- [Lokshtanov and Marx 2011]
- [Cai 2008]
SLIDE 24 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
vertex cut FPT vertex cut, terminal vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
- [Lokshtanov and Marx 2011]
- [Cai 2008]
- [Marx 2006]
SLIDE 25 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
vertex cut
W[1]-hard
FPT vertex cut, terminal W[1]-hard W[1]-hard FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
- Our results
- W[1]-hard results standard
- FPT result uses standard two-colour colour-
coding [Cai, Chan and Chan 2006]
SLIDE 26 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
vertex cut
W[1]-hard
FPT FPT vertex cut, terminal
W[1]-hard W[1]-hard
FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
- Our results
- main result uses important separators [Marx 2006]
SLIDE 27 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
FPT vertex cut
W[1]-hard
FPT FPT vertex cut, terminal
W[1]-hard W[1]-hard
FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
- Colour-coding + knapsack [Cao 2013]
SLIDE 28 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
(open) FPT vertex cut
W[1]-hard
FPT FPT vertex cut, terminal
W[1]-hard W[1]-hard
FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
SLIDE 29 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
(open) FPT vertex cut
W[1]-hard
FPT FPT vertex cut, terminal
W[1]-hard W[1]-hard
FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
SLIDE 30
PROOF TECHNIQUES
SLIDE 31 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
(open) FPT vertex cut
W[1]-hard
FPT FPT vertex cut, terminal
W[1]-hard W[1]-hard
FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
SLIDE 32 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
(open) FPT vertex cut
W[1]-hard
FPT FPT vertex cut, terminal W[1]-hard W[1]-hard FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
- W[1]-hardness results are standard
SLIDE 33 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
(open) FPT vertex cut
W[1]-hard
FPT FPT vertex cut, terminal
W[1]-hard W[1]-hard
FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
- Two-colour colour-coding [Cai, Chan and Chan 2006]
SLIDE 34
COLOUR-CODING
SLIDE 35 COLOUR-CODING
- Consider the basic vertex cut version
SLIDE 36 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
SLIDE 37 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
SLIDE 38 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
SLIDE 39 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
SLIDE 40 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
SLIDE 41 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
- With probability ≥ 2-k-t we colour X blue and S red
SLIDE 42 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
- With probability ≥ 2-k-t we colour X blue and S red
- Check all connected blue components
SLIDE 43 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
- With probability ≥ 2-k-t we colour X blue and S red
- Check all connected blue components
- Repeat 2k+t nO(1) times
SLIDE 44 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
- With probability ≥ 2-k-t we colour X blue and S red
- Check all connected blue components
- Repeat 2k+t nO(1) times
- Derandomisable using standard techniques
SLIDE 45 COLOUR-CODING
- Consider the basic vertex cut version
- Assume that there is a cut (X,S,Y) with |X| ≤ k and |S| ≤ t
- Colour each vertex randomly either blue or red
- With probability ≥ 2-k-t we colour X blue and S red
- Check all connected blue components
- Repeat 2k+t nO(1) times
- Derandomisable using standard techniques
Theorem. Vertex cut, vertex/edge cut with terminal and edge cut with |X| = k variants of cutting a few vertices problem can be solved in time 2k+t+o(k+t)nO(1).
SLIDE 46 compl mplexity parameter rameter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
(open) FPT vertex cut
W[1]-hard
FPT FPT vertex cut, terminal
W[1]-hard W[1]-hard
FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
- Main result of our paper
- uses important separators [Marx 2006]
SLIDE 47 IMPORTANT SEPARATORS, INTUITIVELY X Y
G = (V,E)
- Graph G = (V,E), subsets X and Y of V
SLIDE 48 IMPORTANT SEPARATORS, INTUITIVELY X Y
G = (V,E)
- Graph G = (V,E), subsets X and Y of V
- Basic idea: important (X,Y)-separator of size t is a
separator of size t that is as close to Y as possible
SLIDE 49 IMPORTANT SEPARATORS, FORMALLY X Y
G = (V,E)
- For a vertex set S, define R(X,S) as the set of vertices
reachable from X in G[V\S]
S R(X,S)
SLIDE 50 IMPORTANT SEPARATORS, FORMALLY X Y
G = (V,E)
- For a vertex set S, define R(X,S) as the set of vertices
reachable from X in G[V\S]
- Minimal (X,Y)-separator S is important if there is no (X,Y)-
separator T such that
- |T| ≤ |S|
- R(X,S) is a proper subset of R(X,T)
S R(X,S)
SLIDE 51 IMPORTANT SEPARATORS, FORMALLY X Y
G = (V,E)
- For a vertex set S, define R(X,S) as the set of vertices
reachable from X in G[V\S]
- Minimal (X,Y)-separator S is important if there is no (X,Y)-
separator T such that
- |T| ≤ |S|
- R(X,S) is a proper subset of R(X,T)
S R(X,S) T
SLIDE 52
IMPORTANT SEPARATORS, THEOREMS
Theorem [Marx 2006, Chen, Liu and Lu 2009]. There are at most 4t important (X,Y)-separators of size at most t, and they can be listed in time 4tnO(1).
SLIDE 53
IMPORTANT SEPARATORS, THEOREMS
Theorem [Marx 2006, Chen, Liu and Lu 2009]. There are at most 4t important (X,Y)-separators of size at most t, and they can be listed in time 4tnO(1). Theorem [Marx 2006]. There is exactly one important (X,Y)-separator of minimum size, and it can be found in polynomial time.
SLIDE 54
MAIN RESULT
Theorem. Vertex cut variant of cutting a few vertices problem can be solved in time 4tnO(1).
SLIDE 55
PROOF OF MAIN THEOREM IDEA 1.
G = (V,E)
SLIDE 56 PROOF OF MAIN THEOREM IDEA 1.
G = (V,E)
- Assume that solution (X,S,Y) exists
SLIDE 57 PROOF OF MAIN THEOREM IDEA 1.
G = (V,E)
- Assume that solution (X,S,Y) exists
- Guess vertices x ∈ X and y ∈
Y
x y
SLIDE 58 PROOF OF MAIN THEOREM IDEA 1.
G = (V,E)
- Assume that solution (X,S,Y) exists
- Guess vertices x ∈ X and y ∈
Y
- Test if some important (y,x)-separator is solution
x y
SLIDE 59
- Sadly, the idea does not work...
PROOF OF MAIN THEOREM IDEA 1.
SLIDE 60
- Sadly, the idea does not work...
PROOF OF MAIN THEOREM IDEA 1. x y
SLIDE 61
- Sadly, the idea does not work...
PROOF OF MAIN THEOREM IDEA 1. x y
SLIDE 62
- Sadly, the idea does not work...
PROOF OF MAIN THEOREM IDEA 1. x y
SLIDE 63
PROOF OF MAIN THEOREM IDEA 2.
G = (V,E)
SLIDE 64 PROOF OF MAIN THEOREM IDEA 2.
G = (V,E)
- Assume that solution (X,S,Y) exists
SLIDE 65 PROOF OF MAIN THEOREM IDEA 2.
G = (V,E)
x
- Assume that solution (X,S,Y) exists
- Guess a vertex x ∈ X
SLIDE 66 PROOF OF MAIN THEOREM IDEA 2.
G = (V,E)
x
- Assume that solution (X,S,Y) exists
- Guess a vertex x ∈ X
- STEP 1: use minimum-size important separators to find
vertices “far” away from x
SLIDE 67 PROOF OF MAIN THEOREM IDEA 2.
G = (V,E)
- Assume that solution (X,S,Y) exists
- Guess a vertex x ∈ X
- STEP 1: use minimum-size important separators to find
vertices “far” away from x
x Z
SLIDE 68 PROOF OF MAIN THEOREM IDEA 2.
G = (V,E)
- Assume that solution (X,S,Y) exists
- Guess a vertex x ∈ X
- STEP 1: use minimum-size important separators to find
vertices “far” away from x
- STEP 2: test if some important (Z,x)-separator is a solution
x Z
SLIDE 69
PROOF OF MAIN THEOREM IDEA 2. STEP 1 STEP 2
Z x x
SLIDE 70 PROOF OF MAIN THEOREM IDEA 2. STEP 1 STEP 2
- Problem: some vertices in Z may be inside X
Z x x
SLIDE 71 PROOF OF MAIN THEOREM IDEA 2. STEP 1 STEP 2
- Problem: some vertices in Z may be inside X
- Two possibilities (fortunately):
- Step 1 accidentally finds a solution (X’,S’,Y’) such that
x ∉ X’
- Otherwise there is only polynomial amount of
removals to try Z x x
SLIDE 72 PROOF OF MAIN THEOREM IDEA 2. STEP 1 STEP 2
- Problem: some vertices in Z may be inside X
- Two possibilities (fortunately):
- Step 1 accidentally finds a solution (X’,S’,Y’) such that
x ∉ X’
- Otherwise there is only polynomial amount of
removals to try
- Step 2 also requires k > t; otherwise, use colour-coding
Z x x
SLIDE 73 compl mplexity parameter meter variant k t k+t edge cut edge cut, terminal FPT FPT FPT edge cut, |X| = k
W[1]-hard
(open) FPT vertex cut
W[1]-hard
FPT FPT vertex cut, terminal
W[1]-hard W[1]-hard
FPT vertex cut, |X| = k
W[1]-hard W[1]-hard W[1]-hard
polynomial
Thank you!
Questions?