270 likes | 330 Views
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|
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 haven’t 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?