Prize Collecting Cuts Daniel Golovin Carnegie Mellon University Lamps of ALADDIN 2005 Joint work...

27
Prize Collecting Cuts Daniel Golovin Carnegie Mellon University Lamps of ALADDIN 2005 Joint work with Mohit Singh & Viswanath Nagarajan
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Prize Collecting Cuts Daniel Golovin Carnegie Mellon University Lamps of ALADDIN 2005 Joint work...

Prize Collecting Cuts

Daniel Golovin

Carnegie Mellon University

Lamps of ALADDIN 2005

Joint work with Mohit Singh & Viswanath Nagarajan

2

The Problem• Input: Undirected graph G = (V,E), root vertex r,

and integer K, 0 < K < |V|• Goal: find a set of vertices S, not containing the

root, minimizing cap(∂S), subject to the constraint |S| ≥ K, (∂S := edges out of S)

root

S

3

Motivation

• Protect at least K nodes (servers, cities, etc) from an infected node in a network.

root

S

4

Motivation, continued

• Separate at least K enemy units from your base.

root

S

5

Related Work

• “A polylogarithmic approximation of the minimum bisection”, Feige & Krauthgamer, SIAM Journal on Computing 2002

• “On cutting a few vertices from a graph”, Feige, Krauthgamer, & Nissim, Discrete Applied Mathematics 2003

• “Global min-cuts in RNC, and other ramifications of a simple min-cut algorithm”, Karger, SODA 1993

6

Related Work

• Hayrapetyan, Kempe, Pál and Svitkina claim a (2,2) bicriteria approx for the problem of minimizing the number of vertices on the root side of the cut, subject to cap(∂S) ≤ B, though we have not seen the manuscript.

• We can get a (2,2) approx via Lagrangian relaxation and Markov’s inequality

7

What was known

• Feige & Krauthgamer consider the problem of removing exactly K vertices from a graph, obtain an O(log3/2(n)) approx for all values of K.

• F.K.N. consider this problem for small K, obtain a (1+ εK/log(n)) approx, for any fixed ε > 0. They use ideas from Karger’s min-cut algorithm.

8

Results

• For K = Ω(n), we obtain an (const, const) bi-criteria approx

• For small K, we match the F.K.N. result (i.e. an (1+ εK/log(n)) approx)

9

PTAS for K = O(log(n))

• First run the FKN PTAS for all K’ in [K,8K]. At all times, keep the best solution cut around.

• While G still has edges, contract an edge uniformly at random, compute the minimum cost root-cluster cut for the new cluster, and continue.

• Output the best solution cut seen.

10

Contraction

• Contract (u,v): Keep parallel edges

vu {u,v}

11

PTAS for K = O(log(n))

• First run the FKN PTAS for all K’ in [K,8K]. At all times, keep the best solution cut around.

• While G still has edges, contract an edge uniformly at random, compute the minimum cost root-cluster cut for the new cluster, and continue.

• Output the best solution cut seen.

12

Analysis

• Suppose OPT has cost B, and cuts away S. • If FKN returns a solution of cost (1+ε)B, we are

done. Otherwise, |S| > 8K, and for every subset R of size between K and 8K, cap(∂R) > B.

root

S

R3

R2

R1

R4

13

Analysis

• Suppose OPT has cost B, and cuts away S.• If FKN returns a solution of cost (1+ε)B, we are

done. Otherwise, |S| > 8K, and for every subset R of size between K and 8K, cap(∂R) > B.

root

S

R3

R2

R1

R4

Lots of inter-cluster edges

14

Analysis, cont.

• If we generate a cluster of size at least K in S, its min-cut from the root has cost at most B, and we will return it (or some better solution).

• Safe to assume each cluster in S has at most K vertices

root

SC∂S is a min root to C cut

15

Analysis, cont.

• Each cluster in S has at most K vertices• Partition the clusters of S into groups such that

each group has between K and 2K vertices.

NodeClusterGroup

16

Analysis, cont.

• There are at least |S|/2K groups in S, each has at least B edges leaving it.

• Each edge is counted at most twice, so there are at least (|S|B)/(4K) edges incident on vertices of S.

• At most B of these edges leave S. If we contract such an edge, we abort the run.

17

Analysis: Pr[Abort]

||4)4||()](|Pr[ SKKBSBSSeSe Pr[e red, given e is not blue]:

root

S

R3

R2

R1

R4S

Probability of Aborting:

exactly B red (bad) edges,

at least |S|B/4K red & black edges

18

Analysis: Pr[Abort]

root

S

R3

R2

R1

R4

||41)](|Pr[ SKSSeSSe

• At each step, Pr[abort] ≤ 4K/|S|, so we succeed with probability at least 1-4K/|S|:Pr[e black, given e is not blue]:

S

19

Analysis: Pr[Success]

• We may run only |S|-1 contractions of edges in (∂S)U(SxS) (i.e. red & black edges) before either aborting or contracting S into a single node

• The probability of generating a cluster of size at least K in S before aborting is

|||)|/41(]Pr[ SSKsuccess

20

Analysis: Pr[Success]|||)|/41(]Pr[ SSKsuccess

If x ≥ 2, (1-1/x)x ≥ 1/4 (via Bernoulli’s ineq.)

Since |S| > 8K:(1-4K/|S|)|S|/4K ≥ 1/4

Raise both sides to the 4K power(1-4K/|S|)|S| ≥ (¼)4k

= 4-O(log(n))

= n-O(1)

21

Analysis, cont.

• So either the FKN preprocessing gives us an (1+ε)B solution, or with high probability in polynomial many independent runs we obtain the optimal solution.

22

Bi-criteria approx for K = Ω(n)

• For large K, prize collecting cut starts to look like sparsest cut with demands D(root,v) = 1 for all vertices v, and the constraint that at least K vertices are cut away.

• Note: we can solve sparsest cut exactly on inputs with a single ``source’’ of demands.

23

Bi-criteria approx for K = Ω(n)

• Idea: Iteratively run sparsest cut with these demands, chopping off more and more of the graph, until at least K/2 vertices have been removed.

root

24

Analysis• At each step, we know the sparsest cut

has sparsity at most 2B/K. Thus the cost per vertex separated is at most 2B/K.

root

The shaded region has at least K/2 vertices, and can be separated from the root at cost at most B.

OPT cut

25

Analysis

• Cost per vertex separated is at most 2B/K.

• If the output separates L vertices from the root, its cost is at most L(2B/K).

• Since L ≤ n and K = Ω(n), L(2B/K) = O(B).

26

Ongoing Work

• The middle ground: log(n) << K << n

• Strictly enforcing the budget constraint and approximating the prize collected

27

Thank You

Questions?