Prize Collecting Cuts

591 Views

Download Presentation
## Prize Collecting Cuts

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

**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| • 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**Motivation**• Protect at least K nodes (servers, cities, etc) from an infected node in a network. root S**Motivation, continued**• Separate at least K enemy units from your base. S root**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**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**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.**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)**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.**Contraction**• Contract (u,v): Keep parallel edges u v {u,v}**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.**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**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**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**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.**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.**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]:**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**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**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)**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.**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.**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.**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.**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).**Ongoing Work**• The middle ground: log(n) << K << n • Strictly enforcing the budget constraint and approximating the prize collected**Thank You**Questions?