ON THE PARAMETERISED COMPLEXITY OF CUTTING A FEW VERTICES FROM A - - PowerPoint PPT Presentation

on the parameterised complexity of cutting a few vertices
SMART_READER_LITE
LIVE PREVIEW

ON THE PARAMETERISED COMPLEXITY OF CUTTING A FEW VERTICES FROM A - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

ON THE PARAMETERISED COMPLEXITY OF CUTTING A FEW VERTICES FROM A GRAPH

Fedor

  • V. Fomin1

Petr A. Golovach1 Janne H. Korhonen*,2

1University of Bergen, Norway 2University of Helsinki, Finland

slide-2
SLIDE 2

INTRODUCTION MIN CUTS AND SIZE CONSTRAINTS

slide-3
SLIDE 3

MINIMUM CUT

Given a graph G = (V,E), find a cut (X,Y) such that |∂(X,Y)| is minimised

slide-4
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
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
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
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
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
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
SLIDE 10

PROBLEM DEFINITIONS PARAMETERISED SMALL CUTS

slide-11
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
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
SLIDE 13
  • Edge cut

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
SLIDE 14
  • Edge cut with terminal

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
SLIDE 15
  • Edge cut with exact size

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
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
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
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
SLIDE 19

EARLIER WORK AND OUR RESULTS

slide-20
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
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
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
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
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
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
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
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
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
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
SLIDE 30

PROOF TECHNIQUES

slide-31
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
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
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
SLIDE 34

COLOUR-CODING

slide-35
SLIDE 35

COLOUR-CODING

  • Consider the basic vertex cut version
slide-36
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
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
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
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
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
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
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
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
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
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
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
SLIDE 47

IMPORTANT SEPARATORS, INTUITIVELY X Y

G = (V,E)

  • Graph G = (V,E), subsets X and Y of V
slide-48
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
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
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
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
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
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
SLIDE 54

MAIN RESULT

Theorem. Vertex cut variant of cutting a few vertices problem can be solved in time 4tnO(1).

slide-55
SLIDE 55

PROOF OF MAIN THEOREM IDEA 1.

G = (V,E)

slide-56
SLIDE 56

PROOF OF MAIN THEOREM IDEA 1.

G = (V,E)

  • Assume that solution (X,S,Y) exists
slide-57
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
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
SLIDE 59
  • Sadly, the idea does not work...

PROOF OF MAIN THEOREM IDEA 1.

slide-60
SLIDE 60
  • Sadly, the idea does not work...

PROOF OF MAIN THEOREM IDEA 1. x y

slide-61
SLIDE 61
  • Sadly, the idea does not work...

PROOF OF MAIN THEOREM IDEA 1. x y

slide-62
SLIDE 62
  • Sadly, the idea does not work...

PROOF OF MAIN THEOREM IDEA 1. x y

slide-63
SLIDE 63

PROOF OF MAIN THEOREM IDEA 2.

G = (V,E)

slide-64
SLIDE 64

PROOF OF MAIN THEOREM IDEA 2.

G = (V,E)

  • Assume that solution (X,S,Y) exists
slide-65
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
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
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
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
SLIDE 69

PROOF OF MAIN THEOREM IDEA 2. STEP 1 STEP 2

Z x x

slide-70
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
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
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
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?