35
Randomized Selection of Important Separators Saket Saurabh The Institute of Mathematical Sciences, India ASPAK 2014, March 3-8

Important Cuts and (p,q)-clustering

Embed Size (px)

Citation preview

Page 1: Important Cuts and (p,q)-clustering

Randomized Selection of Important Separators

Saket Saurabh

The Institute of Mathematical Sciences, India

ASPAK 2014, March 3-8

Page 2: Important Cuts and (p,q)-clustering

Some Basic Definitions

I C ⊆ V (G ) is a (p, q)-cluster if |C | ≤ p and d(C ) ≤ q.

I A (p, q)-partition of G is a partition of V (G ) into(p, q)-clusters.

Page 3: Important Cuts and (p,q)-clustering

Problem

(p, q)-Partition Parameter: qInput: An undirected graph G and integers p and q.Question: Does G has a (p, q)-partition?

Page 4: Important Cuts and (p,q)-clustering

Problem

(p, q)-Partition Parameter: qInput: An undirected graph G and integers p and q.Question: Does G has a (p, q)-partition?

Goal is to show that (p, q)-Partition problem is FPTparameterized by q.

Page 5: Important Cuts and (p,q)-clustering

Necessary Condition

Page 6: Important Cuts and (p,q)-clustering

Necessary Condition

A necessary condition for the existence of (p, q)-partition is that forevery vertex v ∈ V (G ) there exists a (p, q)-cluster that contains v .

Page 7: Important Cuts and (p,q)-clustering

Is this sufficient?

Page 8: Important Cuts and (p,q)-clustering

Is this sufficient?

Very surprisingly, it turns out that this trivial necessary condition isactually sufficient for the existence of a (p, q)-partition.

HOW?

Page 9: Important Cuts and (p,q)-clustering

Posimodularity

We say that a set function f : 2|V (G)| → R is posimodular if itsatisfies the following inequality for every A,B ⊆ V (G ):

f (A) + f (B) ≥ f (A \ B) + f (B \ A) (1)

Page 10: Important Cuts and (p,q)-clustering

Posimodularity

We say that a set function f : 2|V (G)| → R is posimodular if itsatisfies the following inequality for every A,B ⊆ V (G ):

f (A) + f (B) ≥ f (A \ B) + f (B \ A) (1)

The function dG is posimodular.

Page 11: Important Cuts and (p,q)-clustering

Let us move forward?

LemmaLet G be an undirected graph and let p, q ≥ 0 be two integers. Ifevery v ∈ V (G ) is contained in some (p, q)-cluster, then G has a(p, q)-partition. Furthermore, given a set of (p, q)-clusters C1, . . . ,Cn whose union is V (G ), a (p, q)-partition can be found inpolynomial time.

Proof.Proof on the board :).

Page 12: Important Cuts and (p,q)-clustering

What did we achieve?

We have reduced the problem of (p, q)-Partition to

(p, q)-Cluster Parameter: qInput: An undirected graph G , a veretx v ∈ V (G ) and integersp and q.Question: Does G has (p, q)-cluster containing v?

Page 13: Important Cuts and (p,q)-clustering

What did we achieve?

We have reduced the problem of (p, q)-Partition to

(p, q)-Cluster Parameter: qInput: An undirected graph G , a veretx v ∈ V (G ) and integersp and q.Question: Does G has (p, q)-cluster containing v?

Page 14: Important Cuts and (p,q)-clustering

Algorithms for (p, q)-Cluster

I For every fixed q, there is an nO(q) time algorithm for(p, q)-Cluster.

I What about parameterized by p + q?

Page 15: Important Cuts and (p,q)-clustering

Algorithms for (p, q)-Cluster

I For every fixed q, there is an nO(q) time algorithm for(p, q)-Cluster.

I What about parameterized by p + q?

Page 16: Important Cuts and (p,q)-clustering

Algorithms for (p, q)-Cluster

I For every fixed q, there is an nO(q) time algorithm for(p, q)-Cluster.

I What about parameterized by p + q?

There is a 2O(p+q)nO(1) time algorithm for (p, q)-Cluster.

Page 17: Important Cuts and (p,q)-clustering

Towards the FPT algorithm

Satellite Problem Parameter: qInput: An undirected graph G , integers p and q, a vertex v ∈V (G ), and a partition (V0,V1, . . . ,Vr ) of V (G ) such that v ∈ V0

and there is no edge between Vi and Vj for any 1 ≤ i < j ≤ r .Question: The task is to find a (p, q)-cluster C satisfying V0 ⊆ Csuch that for every 1 ≤ i ≤ r , either C ∩ Vi = ∅ or Vi ⊆ C .

Page 18: Important Cuts and (p,q)-clustering

Towards the FPT algorithm

Satellite Problem Parameter: qInput: An undirected graph G , integers p and q, a vertex v ∈V (G ), and a partition (V0,V1, . . . ,Vr ) of V (G ) such that v ∈ V0

and there is no edge between Vi and Vj for any 1 ≤ i < j ≤ r .Question: The task is to find a (p, q)-cluster C satisfying V0 ⊆ Csuch that for every 1 ≤ i ≤ r , either C ∩ Vi = ∅ or Vi ⊆ C .

For every Vi (1 ≤ i ≤ r), we have to decide whether to include orexclude it from the solution cluster C . If we exclude Vi from C ,then d(C ) increases by, d(Vi ), the number of edges between V0

and Vi . If we include Vi into C , then |C | increases by |C |.

Page 19: Important Cuts and (p,q)-clustering

Figure : Instance of Satellite Problem with a solution C . ExcludingV2 and V4 from C decreased the size of C by the gray area, butincreased d(C ) by the red edges.

Page 20: Important Cuts and (p,q)-clustering

Satellite Problem

LemmaThe Satellite Problem can be solved in polynomial time.

Proof.We will come back to the proof.

Page 21: Important Cuts and (p,q)-clustering

Satellite Problem

LemmaThe Satellite Problem can be solved in polynomial time.

Proof.We will come back to the proof. Hint: Think Knapsack problem.

Page 22: Important Cuts and (p,q)-clustering

Objective

We will give a randomized algorithm for (p, q)-Cluster byreducing it to Satellite Problem.

Page 23: Important Cuts and (p,q)-clustering

Important Sets

DefinitionWe say that a set X ⊆ V (G ), v 6∈ X is important

1. d(X ) ≤ q,

2. G [X ] is connected,

3. there is no Y ⊃ X , v 6∈ Y such that d(Y ) ≤ d(X ) and G [Y ]is connected.

Page 24: Important Cuts and (p,q)-clustering

Important Sets

The following definition connects the notion of important cuts withour problem.

DefinitionWe say that a set X ⊆ V (G ), v 6∈ X is important

1. d(X ) ≤ q,

2. G [X ] is connected,

3. there is no Y ⊃ X , v 6∈ Y such that d(Y ) ≤ d(X ) and G [Y ]is connected.

It is easy to see that X is an important set if and only if ∆(X ) isan important (u, v)-cut of size at most q for every u ∈ X .

Page 25: Important Cuts and (p,q)-clustering

Enumerating Important Cuts and Important Sets

TheoremLet X ,Y ⊆ V (G ) be two disjoint sets of vertices in graph G, letk ≥ 0 be an integer, and let Sk be the set of all (X ,Y )-importantcuts of size at most k. Then |Sk | ≤ 4k and Sk can be constructedin time |Sk | · k · (|V (G )|+ |E (G )|).

Page 26: Important Cuts and (p,q)-clustering

Minimal (p, q)-cluster

LemmaLet C be an inclusionwise minimal (p, q)-cluster containing v.Then every component of G \ C is an important set.

Proof.On board.

Page 27: Important Cuts and (p,q)-clustering

Main Result

LemmaGiven a graph G, vertex v ∈ V (G ), and integers p and q, we canconstruct in time 2O(q) · nO(1) an instance I of the SatelliteProblem such that

I If some (p, q)-cluster contains v , then I is a yes-instance withprobability 2−O(q) (or some 2−O(f (q))),

I If there is no (p, q)-cluster containing v, then I is ano-instance.

Page 28: Important Cuts and (p,q)-clustering

Algorithm

I For every u ∈ V (G ), u 6= v , enumerate every important(u, v)-cut of size at most q.

I For every such cut S , put the component K of G \ Scontaining u into the collection X .

I

I

Page 29: Important Cuts and (p,q)-clustering

Algorithm

I For every u ∈ V (G ), u 6= v , enumerate every important(u, v)-cut of size at most q.

I For every such cut S , put the component K of G \ Scontaining u into the collection X .

I Let X ′ be a subset of X , where each member K of X ischosen with probability 1

2 independently at random.

I

Page 30: Important Cuts and (p,q)-clustering

Algorithm

I For every u ∈ V (G ), u 6= v , enumerate every important(u, v)-cut of size at most q.

I For every such cut S , put the component K of G \ Scontaining u into the collection X .

I Let X ′ be a subset of X , where each member K of X ischosen with probability 1

2 independently at random.

I Let Z be the union of the sets in X ′, let V1, . . . , Vr be theconnected components of G [Z ], and let V0 = V (G ) \ Z . It isclear that V0, V1, . . . , Vr describe an instance I of theSatellite Problem, and a solution for I gives a(p, q)-cluster containing v . Thus we only need to show that ifthere is a (p, q)-cluster C containing v , then I is a yesinstance with desired probability.

Page 31: Important Cuts and (p,q)-clustering

Let us ZOOM in :D

I Let Z be the union of the sets in X ′, let V1, . . . , Vr be theconnected components of G [Z ], and let V0 = V (G ) \ Z . It isclear that V0, V1, . . . , Vr describe an instance I of theSatellite Problem, and a solution for I gives a(p, q)-cluster containing v . Thus we only need to show that ifthere is a (p, q)-cluster C containing v , then I is a yesinstance with desired probability.

Page 32: Important Cuts and (p,q)-clustering

What do we need?

We show that the reduction works if the union Z of the selectedimportant sets satisfies two constraints: it has to cover every

component of G \ C and it has to be disjoint form the vertices onthe boundary of C . The probability of the event that these

constraints are satisfied is 2−O(f (q)).

Page 33: Important Cuts and (p,q)-clustering

I Let C be an inclusionwise minimal (p, q)-cluster containing v .

I Let S be the set of vertices on the boundary of C , i.e., thevertices of C incident to ∆(C ).

I Let K1, . . . , Kt be the components of G \ C .

Page 34: Important Cuts and (p,q)-clustering

I Let C be an inclusionwise minimal (p, q)-cluster containing v .

I Let S be the set of vertices on the boundary of C , i.e., thevertices of C incident to ∆(C ).

I Let K1, . . . , Kt be the components of G \ C .

Consider the following two events:(E1) Every component Ki of G \ C is in X ′ (and hence Ki ⊆ Z ).(E2) Z ∩ S = ∅.

Page 35: Important Cuts and (p,q)-clustering

Let us do the probability computation onboard :).