ON THE PARAMETERISED COMPLEXITY OF CUTTING A FEW VERTICES FROM A GRAPH Fedor V. Fomin 1 Petr A. Golovach 1 Janne H. Korhonen *,2 1 University of Bergen, Norway 2 University of Helsinki, Finland
INTRODUCTION MIN CUTS AND SIZE CONSTRAINTS
MINIMUM CUT Given a graph G = ( V , E ), find a cut ( X , Y ) such that | ∂ ( X , Y )| is minimised
MINIMUM CUT Y X Given a graph G = ( V , E ), find a cut ( X , Y ) such that | ∂ ( X , Y )| is minimised
MINIMUM CUT Y X Given a graph G = ( V , E ), find a cut ( X , Y ) such that | ∂ ( X , Y )| is minimised Polynomial-time solvable!
MINIMUM BISECTION Given a graph G = ( V , E ), find a cut ( X , Y ) such that | ∂ ( X , Y )| is minimised and | X | = | Y |
MINIMUM BISECTION ? Given a graph G = ( V , E ), find a cut ( X , Y ) such that | ∂ ( X , Y )| is minimised and | X | = | Y |
MINIMUM BISECTION ? Given a graph G = ( V , E ), find a cut ( X , Y ) such that | ∂ ( X , Y )| is minimised and | X | = | Y | NP-hard!
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
PROBLEM DEFINITIONS PARAMETERISED SMALL CUTS
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
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
CUTTING A FEW VERTICES FROM A GRAPH BASIC VARIANTS INPUT: Graph G = ( V , E ), positive integers k and t ‣ Edge cut Find a vertex partition ( X , Y ) s.t. ‣ 1 ≤ | X | ≤ k ‣ | ∂ ( X , Y )| ≤ t ∂ ( X , Y ) X ‣ Vertex cut Find a vertex partition ( X , S , Y ) s.t. ‣ S separates X and Y ‣ 1 ≤ | X | ≤ k ‣ | S | ≤ t X S
CUTTING A FEW VERTICES FROM A GRAPH TERMINAL VARIANTS INPUT: Graph G = ( V , E ), positive integers k and t , vertex x ‣ Edge cut with terminal Find a vertex partition ( X , Y ) s.t. x ‣ | X | ≤ k ‣ | ∂ ( X , Y )| ≤ t ‣ x ∈ X ∂ ( X , Y ) X ‣ Vertex cut with terminal Find a vertex partition ( X , S , Y ) s.t. ‣ S separates X and Y x ‣ | X | ≤ k ‣ | S | ≤ t X S ‣ x ∈ X
CUTTING A FEW VERTICES FROM A GRAPH EXACT VARIANTS INPUT: Graph G = ( V , E ), positive integers k and t ‣ Edge cut with exact size Find a vertex partition ( X , Y ) s.t. ‣ | X | = k ‣ | ∂ ( X , Y )| ≤ t ∂ ( X , Y ) X ‣ Vertex cut with exact size Find a vertex partition ( X , S , Y ) s.t. ‣ S separates X and Y ‣ | X | = k ‣ | S | ≤ t X S
CUTTING A FEW VERTICES FROM A GRAPH ‣ edge cut ‣ vertex cut ‣ edge cut, terminal ‣ vertex cut, terminal ‣ edge cut, | X | = k ‣ vertex cut, | X | = k
CUTTING A FEW VERTICES FROM A GRAPH ‣ edge cut ‣ vertex cut ‣ edge cut, terminal ‣ vertex cut, terminal ‣ edge cut, | X | = k ‣ vertex cut, | X | = k ‣ For each of the variants above, is there an algorithm with running time ‣ f ( k ) n O (1) , ‣ f ( t ) n O (1) , or ‣ f ( k + t ) n O (1) ?
CUTTING A FEW VERTICES FROM A GRAPH ‣ edge cut ‣ vertex cut ‣ edge cut, terminal ‣ vertex cut, terminal ‣ edge cut, | X | = k ‣ vertex cut, | X | = k ‣ For each of the variants above, is there an algorithm with running time ‣ f ( k ) n O (1) , ‣ f ( t ) n O (1) , or ‣ f ( k + t ) n O (1) ? i.e. FPT or W[1]-hard?
EARLIER WORK AND OUR RESULTS
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
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal edge cut, | X | = k vertex cut vertex cut, terminal vertex cut, | X | = k ‣ Extreme sets [Watanabe and Nakamura 1987] ‣ Weighted version also in P [Armon and Zwick 2006]
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT edge cut, | X | = k vertex cut vertex cut, terminal vertex cut, | X | = k ‣ [Lokshtanov and Marx 2011]
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT edge cut, | X | = k W[1]-hard vertex cut vertex cut, terminal vertex cut, | X | = k ‣ [Lokshtanov and Marx 2011] ‣ [Cai 2008]
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT edge cut, | X | = k W[1]-hard FPT vertex cut vertex cut, terminal vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard ‣ [Lokshtanov and Marx 2011] ‣ [Cai 2008] ‣ [Marx 2006]
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT edge cut, | X | = k W[1]-hard vertex cut FPT W[1]-hard vertex cut, terminal W[1]-hard W[1]-hard FPT vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard ‣ Our results ‣ W[1]-hard results standard ‣ FPT result uses standard two-colour colour- coding [Cai, Chan and Chan 2006]
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT edge cut, | X | = k W[1]-hard FPT vertex cut FPT W[1]-hard vertex cut, terminal FPT W[1]-hard W[1]-hard vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard ‣ Our results ‣ main result uses important separators [Marx 2006]
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT FPT edge cut, | X | = k W[1]-hard vertex cut FPT FPT W[1]-hard vertex cut, terminal FPT W[1]-hard W[1]-hard vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard ‣ Colour-coding + knapsack [Cao 2013]
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT (open) edge cut, | X | = k FPT W[1]-hard vertex cut FPT FPT W[1]-hard vertex cut, terminal FPT W[1]-hard W[1]-hard vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT edge cut, | X | = k (open) FPT W[1]-hard vertex cut FPT FPT W[1]-hard vertex cut, terminal FPT W[1]-hard W[1]-hard vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard
PROOF TECHNIQUES
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT edge cut, | X | = k (open) FPT W[1]-hard vertex cut FPT FPT W[1]-hard vertex cut, terminal FPT W[1]-hard W[1]-hard vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT edge cut, | X | = k (open) FPT W[1]-hard vertex cut FPT FPT W[1]-hard vertex cut, terminal W[1]-hard W[1]-hard FPT vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard ‣ W[1]-hardness results are standard
compl mplexity parameter rameter variant k t k + t edge cut polynomial edge cut, terminal FPT FPT FPT FPT edge cut, | X | = k (open) W[1]-hard FPT vertex cut FPT W[1]-hard vertex cut, terminal FPT W[1]-hard W[1]-hard vertex cut, | X | = k W[1]-hard W[1]-hard W[1]-hard ‣ Two-colour colour-coding [Cai, Chan and Chan 2006]
COLOUR-CODING
COLOUR-CODING ‣ Consider the basic vertex cut version
COLOUR-CODING ‣ Consider the basic vertex cut version ‣ Assume that there is a cut ( X,S,Y ) with | X | ≤ k and | S | ≤ t
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
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
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
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
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
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
Recommend
More recommend