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

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

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

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?