1 / 27

Prize Collecting Cuts

Prize Collecting Cuts. Daniel Golovin Carnegie Mellon University Lamps of ALADDIN 2005 Joint work with Mohit Singh & Viswanath Nagarajan. The Problem. Input: Undirected graph G = (V,E), root vertex r, and integer K, 0 < K < |V|

jabari
Download Presentation

Prize Collecting Cuts

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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. S root

  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 haven’t 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 u v {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. R1 R3 root S R2 R4

  13. R1 R3 root S R2 R4 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. 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 ∂S is a min root to C cut root C S

  15. Node Cluster Group 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.

  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. R1 R3 root R2 S R4 S Analysis: Pr[Abort] Probability of Aborting: exactly B red (bad) edges, at least |S|B/4K red & black edges Pr[e red, given e is not blue]:

  18. S Analysis: Pr[Abort] • 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

  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

  20. Analysis: Pr[Success] 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. root 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.

  24. root Analysis • 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.

  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?

More Related