• Nem Talált Eredményt

Important separators and parameterized algorithms

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Important separators and parameterized algorithms"

Copied!
75
0
0

Teljes szövegt

(1)

Important separators and parameterized algorithms

Dániel Marx1

1Institute for Computer Science and Control, Hungarian Academy of Sciences (MTA SZTAKI)

Budapest, Hungary

School on Parameterized Algorithms and Complexity Będlewo, Poland

August 19, 2014 1

(2)

Main message

Small separators in graphs have interesting extremal properties that can be exploited in combinatorial and algorithmic results.

Bounding the number of “important” cuts.

Edge/vertex versions, directed/undirected versions.

Algorithmic applications: FPT algorithm for Multiway cut,

Directed Feedback Vertex Set, and (p,q)-Clustering.

Random selection of important separators: a new tool with many applications.

Overview

2

(3)

Definition: δ(R)is the set of edges with exactly one endpoint inR. Definition: A setS of edges is aminimal (X,Y)-cutif there is no X−Y path inG\S and no proper subset ofS breaks everyX−Y path.

Observation: Every minimal(X,Y)-cutS can be expressed asS = δ(R)for some X ⊆R andR∩Y =∅.

R δ(R) X Y

Minimum cuts

3

(4)

Theorem

A minimum(X,Y)-cut can be found in polynomial time.

Theorem

The size of a minimum(X,Y)-cut equals the maximum size of a pairwise edge-disjoint collection ofX −Y paths.

R δ(R) X Y

Minimum cuts

3

(5)

There is a long list of algorithms for finding disjoint paths and minimum cuts.

Edmonds-Karp: O(|V(G)| · |E(G)|2) Dinitz: O(|V(G)|2· |E(G)|)

Push-relabel: O(|V(G)|3)

Orlin-King-Rao-Tarjan: O(|V(G)| · |E(G)|) . . .

But we need only the following result:

Theorem

An(X,Y)-cut of size at mostk (if exists) can be found in time O(k·(|V(G)|+|E(G)|)).

Finding minimum cuts

4

(6)

Theorem

An(X,Y)-cut of size at mostk (if exists) can be found in time O(k·(|V(G)|+|E(G)|)).

We try to grow a collectionP of edge-disjointX −Y paths.

Residual graph:

not used byP: bidirected,

used by P: directed in the opposite direction.

X Y X Y

original graph residual graph

If we cannot find an augmenting path, we can find a (minimum) cut of size|P|.

Finding minimum cuts

5

(7)

Theorem

An(X,Y)-cut of size at mostk (if exists) can be found in time O(k·(|V(G)|+|E(G)|)).

We try to grow a collectionP of edge-disjointX −Y paths.

Residual graph:

not used byP: bidirected,

used by P: directed in the opposite direction.

X Y X Y

original graph residual graph

If we cannot find an augmenting path, we can find a (minimum) cut of size|P|.

Finding minimum cuts

5

(8)

Theorem

An(X,Y)-cut of size at mostk (if exists) can be found in time O(k·(|V(G)|+|E(G)|)).

We try to grow a collectionP of edge-disjointX −Y paths.

Residual graph:

not used byP: bidirected,

used by P: directed in the opposite direction.

X Y X Y

original graph residual graph

If we cannot find an augmenting path, we can find a (minimum) cut of size|P|.

Finding minimum cuts

5

(9)

Theorem

An(X,Y)-cut of size at mostk (if exists) can be found in time O(k·(|V(G)|+|E(G)|)).

We try to grow a collectionP of edge-disjointX −Y paths.

Residual graph:

not used byP: bidirected,

used by P: directed in the opposite direction.

X Y X Y

original graph residual graph

If we cannot find an augmenting path, we can find a (minimum) cut of size|P|.

Finding minimum cuts

5

(10)

Fact: The functionδ issubmodular: for arbitrary sets A,B,

|δ(A)| + |δ(B)| ≥ |δ(A∩B)| + |δ(A∪B)|

Proof: Determine separately the contribution of the different types of edges.

Submodularity

6

(11)

Fact: The functionδ issubmodular: for arbitrary sets A,B,

|δ(A)| + |δ(B)| ≥ |δ(A∩B)| + |δ(A∪B)|

Proof: Determine separately the contribution of the different types of edges.

A B

Submodularity

6

(12)

Fact: The functionδ issubmodular: for arbitrary sets A,B,

|δ(A)| + |δ(B)| ≥ |δ(A∩B)| + |δ(A∪B)|

0 1 1 0

Proof: Determine separately the contribution of the different types of edges.

B A

Submodularity

6

(13)

Fact: The functionδ issubmodular: for arbitrary sets A,B,

|δ(A)| + |δ(B)| ≥ |δ(A∩B)| + |δ(A∪B)|

1 0 1 0

Proof: Determine separately the contribution of the different types of edges.

A B

Submodularity

6

(14)

Fact: The functionδ issubmodular: for arbitrary sets A,B,

|δ(A)| + |δ(B)| ≥ |δ(A∩B)| + |δ(A∪B)|

0 1 0 1

Proof: Determine separately the contribution of the different types of edges.

A B

Submodularity

6

(15)

Fact: The functionδ issubmodular: for arbitrary sets A,B,

|δ(A)| + |δ(B)| ≥ |δ(A∩B)| + |δ(A∪B)|

1 0 0 1

Proof: Determine separately the contribution of the different types of edges.

B A

Submodularity

6

(16)

Fact: The functionδ issubmodular: for arbitrary sets A,B,

|δ(A)| + |δ(B)| ≥ |δ(A∩B)| + |δ(A∪B)|

1 1 1 1

Proof: Determine separately the contribution of the different types of edges.

B A

Submodularity

6

(17)

Fact: The functionδ issubmodular: for arbitrary sets A,B,

|δ(A)| + |δ(B)| ≥ |δ(A∩B)| + |δ(A∪B)|

1 1 0 0

Proof: Determine separately the contribution of the different types of edges.

B A

Submodularity

6

(18)

Lemma

Letλbe the minimum (X,Y)-cut size. There is a unique maximal Rmax⊇X such that δ(Rmax) is an(X,Y)-cut of sizeλ.

Proof: Let R1,R2 ⊇X be two sets such that δ(R1), δ(R2)are (X,Y)-cuts of size λ.

|δ(R1)|+|δ(R2)| ≥ |δ(R1∩R2)|+|δ(R1∪R2)|

λ λ ≥λ

⇒ |δ(R1∪R2)| ≤λ

R2 R1

Y

X Note: Analogous result holds for a unique minimal Rmin.

Submodularity

7

(19)

Lemma

Letλbe the minimum (X,Y)-cut size. There is a unique maximal Rmax⊇X such that δ(Rmax) is an(X,Y)-cut of sizeλ.

Proof: Let R1,R2 ⊇X be two sets such that δ(R1), δ(R2)are (X,Y)-cuts of size λ.

|δ(R1)|+|δ(R2)| ≥ |δ(R1∩R2)|+|δ(R1∪R2)|

λ λ ≥λ

⇒ |δ(R1∪R2)| ≤λ

R2

R1

Y

X Note: Analogous result holds for a unique minimal Rmin.

Submodularity

7

(20)

Lemma

Given a graphG and sets X,Y ⊆V(G), the sets Rmin andRmax can be found in polynomial time.

Proof: Iteratively add vertices to X if they do not increase the minimumX −Y cut size. When the process stops, X =Rmax. Similar forRmin.

But we can do better!

Finding R

min

and R

max 8

(21)

Lemma

Given a graphG and sets X,Y ⊆V(G), the sets Rmin andRmax can be found inO(λ·(|V(G)|+|E(G)|))time, whereλis the minimumX −Y cut size.

Proof: Look at the residual graph.

X Y X Y

original graph residual graph

Rmin Rmax Rmin Rmax

Rmin: vertices reachable from X.

Rmax: vertices from whichY isnotreachable.

Finding R

min

and R

max 9

(22)

Definition: δ(R)is the set of edges with exactly one endpoint inR. Definition: A setS of edges is aminimal (X,Y)-cutif there is no X−Y path inG\S and no proper subset ofS breaks everyX−Y path.

Observation: Every minimal(X,Y)-cutS can be expressed asS = δ(R)for some X ⊆R andR∩Y =∅.

R δ(R) X Y

Important cuts

10

(23)

Definition

A minimal(X,Y)-cutδ(R)is importantif there is no(X,Y)-cut δ(R0) withR ⊂R0 and|δ(R0)|≤ |δ(R)|.

Note: Can be checked in polynomial time if a cut is important (δ(R) is important ifR =Rmax).

R δ(R) X Y

Important cuts

10

(24)

Definition

A minimal(X,Y)-cutδ(R)is importantif there is no(X,Y)-cut δ(R0) withR ⊂R0 and|δ(R0)|≤ |δ(R)|.

Note: Can be checked in polynomial time if a cut is important (δ(R) is important ifR =Rmax).

R0 δ(R)

R

δ(R0)

X Y

Important cuts

10

(25)

Definition

A minimal(X,Y)-cutδ(R)is importantif there is no(X,Y)-cut δ(R0) withR ⊂R0 and|δ(R0)|≤ |δ(R)|.

Note: Can be checked in polynomial time if a cut is important (δ(R) is important ifR =Rmax).

R δ(R)

X Y

Important cuts

10

(26)

The number of important cuts can be exponentially large.

Example:

X Y

1 2 k/2

This graph has2k/2 important(X,Y)-cuts of size at mostk.

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Important cuts

11

(27)

The number of important cuts can be exponentially large.

Example:

X Y

1 2 k/2

This graph has2k/2 important(X,Y)-cuts of size at mostk.

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Important cuts

11

(28)

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Proof: Let λbe the minimum(X,Y)-cut size and letδ(Rmax) be the unique important cut of sizeλsuch that Rmax is maximal.

(1) We show thatRmax⊆R for every important cutδ(R).

By the submodularity ofδ:

|δ(Rmax)|+|δ(R)| ≥ |δ(Rmax∩R)|+|δ(Rmax∪R)|

λ ≥λ

|δ(Rmax∪R)| ≤ |δ(R)|

IfR 6=Rmax∪R, then δ(R)is not important. Thus the important(X,Y)- and(Rmax,Y)-cuts are the same.

⇒We can assume X =Rmax.

Important cuts

12

(29)

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Proof: Let λbe the minimum(X,Y)-cut size and letδ(Rmax) be the unique important cut of sizeλsuch that Rmax is maximal.

(1) We show thatRmax⊆R for every important cutδ(R).

By the submodularity ofδ:

|δ(Rmax)|+|δ(R)| ≥ |δ(Rmax∩R)|+|δ(Rmax∪R)|

λ ≥λ

|δ(Rmax∪R)| ≤ |δ(R)|

If R 6=Rmax∪R, thenδ(R)is not important.

Thus the important(X,Y)- and(Rmax,Y)-cuts are the same.

⇒We can assume X =Rmax.

Important cuts

12

(30)

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Proof: Let λbe the minimum(X,Y)-cut size and letδ(Rmax) be the unique important cut of sizeλsuch that Rmax is maximal.

(1) We show thatRmax⊆R for every important cutδ(R).

By the submodularity ofδ:

|δ(Rmax)|+|δ(R)| ≥ |δ(Rmax∩R)|+|δ(Rmax∪R)|

λ ≥λ

|δ(Rmax∪R)| ≤ |δ(R)|

If R 6=Rmax∪R, thenδ(R)is not important.

Thus the important(X,Y)- and (Rmax,Y)-cuts are the same.

⇒We can assume X =Rmax.

Important cuts

12

(31)

(2) Search tree algorithm for enumerating all these cuts:

An (arbitrary) edgeuv leavingX =Rmax is either in the cut or not.

v Y X =Rmaxu

Branch 1: Ifuv ∈S, thenS\uv is an important (X,Y)-cut of size at mostk−1 inG \uv.

⇒ k decreases by one, λdecreases by at most 1. Branch 2: If uv 6∈S, thenS is an important

(X ∪v,Y)-cut of size at mostk in G.

⇒ k remains the same,λincreases by 1. The measure2k−λdecreases in each step.

⇒ Height of the search tree ≤2k

⇒ ≤22k =4k important cuts of size at mostk.

Important cuts

13

(32)

(2) Search tree algorithm for enumerating all these cuts:

An (arbitrary) edgeuv leavingX =Rmax is either in the cut or not.

v Y X =Rmaxu

Branch 1: Ifuv ∈S, thenS\uv is an important (X,Y)-cut of size at mostk−1 inG \uv.

⇒ k decreases by one, λdecreases by at most 1.

Branch 2: If uv 6∈S, thenS is an important (X∪v,Y)-cut of size at most k in G.

⇒ k remains the same,λincreases by 1. The measure2k−λdecreases in each step.

⇒ Height of the search tree ≤2k

⇒ ≤22k =4k important cuts of size at mostk.

Important cuts

13

(33)

(2) Search tree algorithm for enumerating all these cuts:

An (arbitrary) edgeuv leavingX =Rmax is either in the cut or not.

v Y X =Rmaxu

Branch 1: Ifuv ∈S, thenS\uv is an important (X,Y)-cut of size at mostk−1 inG \uv.

⇒ k decreases by one, λdecreases by at most 1.

Branch 2: If uv 6∈S, thenS is an important (X∪v,Y)-cut of size at most k in G.

⇒ k remains the same,λincreases by 1.

The measure2k−λdecreases in each step.

⇒ Height of the search tree ≤2k

⇒ ≤22k =4k important cuts of size at mostk.

Important cuts

13

(34)

(2) Search tree algorithm for enumerating all these cuts:

An (arbitrary) edgeuv leavingX =Rmax is either in the cut or not.

v Y X =Rmaxu

Branch 1: Ifuv ∈S, thenS\uv is an important (X,Y)-cut of size at mostk−1 inG \uv.

⇒ k decreases by one, λdecreases by at most 1.

Branch 2: If uv 6∈S, thenS is an important (X∪v,Y)-cut of size at most k in G.

⇒ k remains the same,λincreases by 1.

The measure2k−λdecreases in each step.

⇒ Height of the search tree ≤2k

⇒ ≤22k =4k important cuts of size at mostk.

Important cuts

13

(35)

We are using the following two statements:

Branch 1: If uv ∈S, then Sis an important(X,Y)-cut inG

S \ uv is an important (X,Y)-cut in G\uv

Converse is not true:

Set {ab,ay} is important (X,Y)-cut in G\xb, but {xb,ab,ay} is not an impor- tant(X,Y)-cut in G.

Branch 2: If S is an(X ∪v,Y)-cut, then Sis an important(X,Y)-cut

inG

S is an important(X∪v,Y)- cut in G

Converse is true!

Important cuts — some details

14

(36)

We are using the following two statements:

Branch 1: If uv ∈S, then Sis an important(X,Y)-cut inG

S \ uv is an important (X,Y)-cut in G\uv

Converse is not true:

Set {ab,ay} is important (X,Y)-cut in G\xb, but {xb,ab,ay} is not an impor-

tant(X,Y)-cut in G. X Y

a

c

x b y

Branch 2: If S is an(X ∪v,Y)-cut, then Sis an important(X,Y)-cut

inG

S is an important(X∪v,Y)- cut in G

Converse is true!

Important cuts — some details

14

(37)

We are using the following two statements:

Branch 1: If uv ∈S, then Sis an important(X,Y)-cut inG

S \ uv is an important (X,Y)-cut in G\uv

Converse is not true:

Set {ab,ay} is important (X,Y)-cut in G\xb, but {xb,ab,ay} is not an impor-

tant(X,Y)-cut in G. X Y

a

c

x b y

Branch 2: If S is an(X ∪v,Y)-cut, then Sis an important(X,Y)-cut

inG

S is an important(X∪v,Y)- cut in G

Converse is true!

Important cuts — some details

14

(38)

Theorem

There are at most4k important(X,Y)-cuts of size at mostk and they can be enumerated in timeO(4k·k·(|V(G)|+|E(G)|)).

Algorithm for enumerating important cuts:

1 Handle trivial cases (k =0,λ=0,k < λ)

2 FindRmax.

3 Choose an edge uv ofδ(Rmax).

Recurse on(Guv,Rmax,Y,k1).

Recurse on(G,Rmaxv,Y,k).

4 Check if the returned cuts are important and throw away those that are not.

Important cuts — algorithm

15

(39)

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Example: The bound 4k is essentially tight.

Y X

Any subtree withk leaves gives an important(X,Y)-cut of sizek. The number of subtrees withk leaves is the Catalan number

Ck−1= 1 k

2k−2 k−1

≥4k/poly(k).

Important cuts

16

(40)

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Example: The bound 4k is essentially tight.

X

Y

Any subtree withk leaves gives an important(X,Y)-cut of sizek.

The number of subtrees withk leaves is the Catalan number Ck−1= 1

k

2k−2 k−1

≥4k/poly(k).

Important cuts

16

(41)

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Example: The bound 4k is essentially tight.

Y X

Any subtree withk leaves gives an important(X,Y)-cut of sizek.

The number of subtrees withk leaves is the Catalan number Ck−1= 1

k

2k−2 k−1

≥4k/poly(k).

Important cuts

16

(42)

Theorem

There are at most4k important(X,Y)-cuts of size at mostk.

Example: The bound 4k is essentially tight.

Y X

Any subtree withk leaves gives an important(X,Y)-cut of sizek.

The number of subtrees withk leaves is the Catalan number Ck−1= 1

k

2k−2 k−1

≥4k/poly(k).

Important cuts

16

(43)

Definition: Amultiway cut of a set of terminalsT is a setS of edges such that each component ofG\S contains at most one vertex ofT.

Multiway Cut

Input: GraphG, setT of vertices, inte- gerk

Find: Amultiway cutS of at most k

edges. t4

t5

t4

t3

t2

t1

Polynomial for|T|=2, but NP-hard for any fixed|T| ≥3 [Dalhaus et al. 1994].

Multiway Cut

17

(44)

Definition: Amultiway cut of a set of terminalsT is a setS of edges such that each component ofG\S contains at most one vertex ofT.

Multiway Cut

Input: GraphG, setT of vertices, inte- gerk

Find: Amultiway cutS of at most k

edges. t4

t5

t4

t3

t2

t1

Trivial to solve in polynomial time for fixedk (in time nO(k)).

Theorem

Multiway cutcan be solved in time4k ·k3·(|V(G)|+|E(G)|).

Multiway Cut

17

(45)

Intuition: Consider a t∈T. A subset of the solutionS is a (t,T \t)-cut.

t

There are many such cuts.

But a cut farther fromt and closer toT \t seems to be more useful.

Multiway Cut

18

(46)

Intuition: Consider a t∈T. A subset of the solutionS is a (t,T \t)-cut.

t

There are many such cuts.

But a cut farther fromt and closer toT \t seems to be more useful.

Multiway Cut

18

(47)

Intuition: Consider a t∈T. A subset of the solutionS is a (t,T \t)-cut.

t

There are many such cuts.

But a cut farther fromt and closer toT \t seems to be more useful.

Multiway Cut

18

(48)

Intuition: Consider a t∈T. A subset of the solutionS is a (t,T \t)-cut.

t

There are many such cuts.

But a cut farther fromt and closer toT \t seems to be more useful.

Multiway Cut

18

(49)

Pushing Lemma

Lett∈T. The Multiway Cutproblem has a solutionS that contains an important(t,T \t)-cut.

Proof: Let R be the vertices reachable fromt inG \S for a solutionS.

δ(R)is not important, then there is an important cut δ(R0) with R ⊂R0 and|δ(R0)|≤ |δ(R)|. ReplaceS with

S0 := (S\δ(R))∪δ(R0) ⇒ |S0| ≤ |S|

S0 is a multiway cut: (1) There is not-u path inG\S0 and (2) a u-v path inG \S0 implies at-u path, a contradiction.

Multiway Cut and important cuts

19

(50)

Pushing Lemma

Lett∈T. The Multiway Cutproblem has a solutionS that contains an important(t,T \t)-cut.

Proof: Let R be the vertices reachable fromt inG \S for a solutionS.

R t

δ(R)is not important, then there is an important cut δ(R0) with R ⊂R0 and|δ(R0)|≤ |δ(R)|. ReplaceS with

S0 := (S\δ(R))∪δ(R0) ⇒ |S0| ≤ |S|

S0 is a multiway cut: (1) There is not-u path inG\S0 and (2) a u-v path inG \S0 implies at-u path, a contradiction.

Multiway Cut and important cuts

19

(51)

Pushing Lemma

Lett∈T. The Multiway Cutproblem has a solutionS that contains an important(t,T \t)-cut.

Proof: Let R be the vertices reachable fromt inG \S for a solutionS.

R0 R t

δ(R)is not important, then there is an important cut δ(R0) with R ⊂R0 and|δ(R0)|≤ |δ(R)|. ReplaceS with

S0 := (S\δ(R))∪δ(R0) ⇒ |S0| ≤ |S|

S0 is a multiway cut: (1) There is not-u path inG\S0 and (2) a u-v path inG \S0 implies at-u path, a contradiction.

Multiway Cut and important cuts

19

(52)

Pushing Lemma

Lett∈T. The Multiway Cutproblem has a solutionS that contains an important(t,T \t)-cut.

Proof: Let R be the vertices reachable fromt inG \S for a solutionS.

R0 R

t u

v

δ(R)is not important, then there is an important cut δ(R0) with R ⊂R0 and|δ(R0)|≤ |δ(R)|. ReplaceS with

S0 := (S\δ(R))∪δ(R0) ⇒ |S0| ≤ |S|

S0 is a multiway cut: (1) There is not-u path inG\S0 and (2) a u-v path inG \S0 implies a t-u path, a contradiction.

Multiway Cut and important cuts

19

(53)

Pushing Lemma

Lett∈T. The Multiway Cutproblem has a solutionS that contains an important(t,T \t)-cut.

Proof: Let R be the vertices reachable fromt inG \S for a solutionS.

t u

R v R0

δ(R)is not important, then there is an important cut δ(R0) with R ⊂R0 and|δ(R0)|≤ |δ(R)|. ReplaceS with

S0 := (S\δ(R))∪δ(R0) ⇒ |S0| ≤ |S|

S0 is a multiway cut: (1) There is not-u path inG\S0 and (2) a u-v path inG \S0 implies a t-u path, a contradiction.

Multiway Cut and important cuts

19

(54)

1 If every vertex of T is in a different component, then we are done.

2 Let t∈T be a vertex that is not separated from everyT \t.

3 Branch on a choice of an important(t,T \t) cut S of size at most k.

4 Set G :=G\S andk :=k− |S|.

5 Go to step 1.

We branch into at most4k directions at most k times: 4k2·nO(1) running time.

Next: Better analysis gives 4k bound on the size of the search tree.

Algorithm for Multiway Cut

20

(55)

We have seen: at most4k important cut of size at most k.

Better bound:

Lemma

IfS is the set of all important(X,Y)-cuts, thenP

S∈S4−|S|≤1 holds.

Proof: We show the stronger statement P

S∈S4−|S|≤2−λ, where λis the minimum(X,Y)-cut size.

Branch 1: removinguv.

λincreases by at most one and we add the edgeuv to each separator, increasing the cut by one. Thus the total contribution is

X

S∈S1

4−(|S|+1)= X

S∈S1

4−|S|/4≤2−(λ−1)/4=2−λ/2.

Branch 2: replacing X with X ∪v.

λincreases by at least one. Thus the total contribution is X

S∈S2

4−|S|≤2−(λ+1)=2−λ/2.

A refined bound

21

(56)

Lemma

IfS is the set of all important(X,Y)-cuts, thenP

S∈S4−|S|≤1 holds.

Proof: We show the stronger statement P

S∈S4−|S|≤2−λ, where λis the minimum (X,Y)-cut size.

Branch 1: removinguv.

λincreases by at most one and we add the edgeuv to each separator, increasing the cut by one. Thus the total contribution is

X

S∈S1

4−(|S|+1)= X

S∈S1

4−|S|/4≤2−(λ−1)/4=2−λ/2.

Branch 2: replacing X with X ∪v.

λincreases by at least one. Thus the total contribution is X

S∈S2

4−|S|≤2−(λ+1)=2−λ/2.

A refined bound

21

(57)

Lemma

The search tree for theMultiway Cutalgorithm has4k leaves.

Proof: Let Lk be the maximum number of leaves with parameter k. We proveLk ≤4k by induction. After enumerating the setSk of important separators of size≤k, we branch into|Sk|directions.

X

S∈Sk

4k−|S|=4k· X

S∈Sk

4−|S|≤4k

Still need: bound the work at each node.

Refined analysis for Multiway Cut

22

(58)

We have seen:

Lemma

We can enumerate every important(X,Y)-cut of size at mostk in timeO(4k ·k·(|V(G)|+|E(G)|)).

Problem: running time at a node of the recursion tree is not linear in the number children.

Refined enumeration algorithms

23

(59)

We have seen:

Lemma

We can enumerate every important(X,Y)-cut of size at mostk in timeO(4k ·k·(|V(G)|+|E(G)|)).

Problem: running time at a node of the recursion tree is not linear in the number children.

Easily follows:

Lemma

We can enumerate a supersetSk0 of every important (X,Y)-cut of size at mostk in timeO(|Sk0| ·k2·(|V(G)|+|E(G)|))such that P

S∈Sk0 4−|S|≤1holds.

Refined enumeration algorithms

23

(60)

We have seen:

Lemma

We can enumerate every important(X,Y)-cut of size at mostk in timeO(4k ·k·(|V(G)|+|E(G)|)).

Problem: running time at a node of the recursion tree is not linear in the number children.

Needs more work:

Lemma

We can enumerate the setSk of every important (X,Y)-cut of size at mostk in time O(|Sk| ·k2·(|V(G)|+|E(G)|)).

Refined enumeration algorithms

23

(61)

Theorem

Multiway Cutcan be solved in time O(4k ·k3·(|V(G)|+|E(G)|)).

1 If every vertex of T is in a different component, then we are done.

2 Let t∈T be a vertex that is not separated from everyT \t.

3 Branch on a choice of an important(t,T \t) cut S of size at most k.

4 Set G :=G\S andk :=k− |S|.

5 Go to step 1.

Algorithm for Multiway Cut

24

(62)

Lemma:

At mostk·4k edges incident to t can be part of an inclusionwise minimals−t cut of size at most k.

Proof: We show that every such edge is contained in an important (s,t)-cut of size at mostk.

Suppose thatvt ∈δ(R) and|δ(R)|=k.

There is an important(s,t)-cutδ(R0)withR ⊆R0 and|δ(R0)|≤k. Clearly,vt ∈δ(R0): v ∈R, hencev ∈R0.

Simple application

25

(63)

Lemma:

At mostk·4k edges incident to t can be part of an inclusionwise minimals−t cut of size at most k.

Proof: We show that every such edge is contained in an important (s,t)-cut of size at mostk.

v

R t

s

Suppose thatvt ∈δ(R) and|δ(R)|=k.

There is an important(s,t)-cutδ(R0)withR ⊆R0 and|δ(R0)|≤k. Clearly,vt ∈δ(R0): v ∈R, hencev ∈R0.

Simple application

25

(64)

Lemma:

At mostk·4k edges incident to t can be part of an inclusionwise minimals−t cut of size at most k.

Proof: We show that every such edge is contained in an important (s,t)-cut of size at mostk.

v R

R0

s t

Suppose thatvt ∈δ(R) and|δ(R)|=k.

There is an important(s,t)-cutδ(R0)withR ⊆R0 and|δ(R0)|≤k.

Clearly,vt ∈δ(R0): v ∈R, hencev ∈R0.

Simple application

25

(65)

Lets,t1, . . . ,tn be vertices andS1, . . . ,Sn be sets of at mostk edges such thatSi separates ti froms, butSi does notseparatetj froms for any j 6=i.

It is possible thatn is “large” even ifk is “small.”

s

t6 t5 t4 t3 t2 t1

Is the opposite possible, i.e.,Si separates everytj except ti? Lemma

IfSi separatestj froms if and only j 6=i and every Si has size at mostk, then n≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(66)

Lets,t1, . . . ,tn be vertices andS1, . . . ,Sn be sets of at mostk edges such thatSi separates ti froms, butSi does notseparatetj froms for any j 6=i.

It is possible thatn is “large” even ifk is “small.”

s

t6 t5 t4 t3 t2 t1

S1

Is the opposite possible, i.e.,Si separates everytj except ti? Lemma

IfSi separatestj froms if and only j 6=i and every Si has size at mostk, then n≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(67)

Lets,t1, . . . ,tn be vertices andS1, . . . ,Sn be sets of at mostk edges such thatSi separates ti froms, butSi does notseparatetj froms for any j 6=i.

It is possible thatn is “large” even ifk is “small.”

s

t6 t5 t4 t3 t2 t1

S2

Is the opposite possible, i.e.,Si separates everytj except ti? Lemma

IfSi separatestj froms if and only j 6=i and every Si has size at mostk, then n≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(68)

Lets,t1, . . . ,tn be vertices andS1, . . . ,Sn be sets of at mostk edges such thatSi separates ti froms, butSi does notseparatetj froms for any j 6=i.

It is possible thatn is “large” even ifk is “small.”

s

t6 t5 t4 t3 t2 t1

S3

Is the opposite possible, i.e.,Si separates everytj except ti? Lemma

IfSi separatestj froms if and only j 6=i and every Si has size at mostk, then n≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(69)

Lets,t1, . . . ,tn be vertices andS1, . . . ,Sn be sets of at mostk edges such thatSi separates ti froms, butSi does notseparatetj froms for any j 6=i.

It is possible thatn is “large” even ifk is “small.”

s

t6 t5 t4 t3 t2 t1

S1

Is the opposite possible, i.e.,Si separates everytj exceptti?

Lemma

IfSi separatestj froms if and only j 6=i and every Si has size at mostk, then n≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(70)

Lets,t1, . . . ,tn be vertices andS1, . . . ,Sn be sets of at mostk edges such thatSi separates ti froms, butSi does notseparatetj froms for any j 6=i.

It is possible thatn is “large” even ifk is “small.”

s

t6 t5 t4 t3 t2 t1

S2

Is the opposite possible, i.e.,Si separates everytj exceptti?

Lemma

IfSi separatestj froms if and only j 6=i and every Si has size at mostk, then n≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(71)

Lets,t1, . . . ,tn be vertices andS1, . . . ,Sn be sets of at mostk edges such thatSi separates ti froms, butSi does notseparatetj froms for any j 6=i.

It is possible thatn is “large” even ifk is “small.”

s

t6 t5 t4 t3 t2 t1

S3

Is the opposite possible, i.e.,Si separates everytj exceptti?

Lemma

IfSi separatestj froms if and only j 6=i and every Si has size at mostk, then n≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(72)

Lets,t1, . . . ,tn be vertices andS1, . . . ,Sn be sets of at mostk edges such thatSi separates ti froms, butSi does notseparatetj froms for any j 6=i.

It is possible thatn is “large” even ifk is “small.”

s

t6 t5 t4 t3 t2 t1

S3

Is the opposite possible, i.e.,Si separates everytj exceptti? Lemma

IfSi separatestj froms if and only j 6=i and everySi has size at mostk, thenn ≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(73)

t1 t2 t3 t4 t5 t6

s t

S3

Is the opposite possible, i.e.,Si separates everytj exceptti? Lemma

IfSi separatestj froms if and only j 6=i and everySi has size at mostk, thenn ≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(74)

s

t6 t5 t4 t3 t2 t1

t

S2

Is the opposite possible, i.e.,Si separates everytj exceptti? Lemma

IfSi separatestj froms if and only j 6=i and everySi has size at mostk, thenn ≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

(75)

s

t6 t5 t4 t3 t2 t1

t

S1

Is the opposite possible, i.e.,Si separates everytj exceptti? Lemma

IfSi separatestj froms if and only j 6=i and everySi has size at mostk, thenn ≤(k+1)·4k+1.

Proof: Add a new vertex t. Every edge tti is part of an

(inclusionwise minimal)(s,t)-cut of size at mostk+1. Use the previous lemma.

Anti isolation

26

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

In this article we survey algorithmic lower bound results that have been obtained in the field of exact exponential time algorithms and pa- rameterized complexity under

Although the Connected Separator problem is FPT by Theorem 2 and therefore admits a kernel [11], we show in Section 5 that this problem does not admit a polynomial kernel, even

The preliminary version of this paper adapted the framework of random sampling of important separators to directed graphs and showed the fixed-parameter tractabil- ity of

Main message: Small separators in graphs have interesting extremal properties that can be exploited in combinatorial and algorithmic results.. Bounding the number of

A simple (but essentially tight) bound on the number of important separators. Useful for

Main message: Small separators in graphs have interesting extremal properties that can be exploited in combinatorial and algorithmic results.. Bounding the number of

The undirected approach does not work: the pushing lemma is not true.. Pushing Lemma (for

Proof: Find a collection of good clusters covering every vertex and having minimum total