- 555 Views
- Uploaded on
- Presentation posted in: Sports / GamesEducation / CareerFashion / BeautyGraphics / DesignNews / Politics

Prize Collecting Cuts

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Prize Collecting Cuts

Daniel Golovin

Carnegie Mellon University

Lamps of ALADDIN 2005

Joint work with Mohit Singh & Viswanath Nagarajan

- 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

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

root

S

- Separate at least K enemy units from your base.

S

root

- “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

- 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

- 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.

- 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)

- 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.

- Contract (u,v): Keep parallel edges

u

v

{u,v}

- 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.

- 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.

R1

R3

root

S

R2

R4

R1

R3

root

S

R2

R4

- 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.

Lots of inter-cluster edges

- 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

∂S is a min

root to C cut

root

C

S

Node

Cluster

Group

- 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.

- 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.

R1

R3

root

R2

S

R4

S

Probability of Aborting:

exactly B red (bad) edges,

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

Pr[e red, given e is not blue]:

S

- 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]:

R1

R3

root

R2

S

R4

- 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

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)

- 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.

- 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.

root

- 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

- At each step, we know the sparsest cut has sparsity at most 2B/K. Thus the cost per vertexseparated is at most 2B/K.

OPT cut

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

- 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).

- The middle ground: log(n) << K << n
- Strictly enforcing the budget constraint and approximating the prize collected

Questions?