prize collecting cuts daniel golovin carnegie mellon university lamps of aladdin 2005 joint work...
Post on 21-Dec-2015
214 views
TRANSCRIPT
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
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.
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