Title: Prize Collecting Cuts
1Prize Collecting Cuts
- Daniel Golovin
- Carnegie Mellon University
- Lamps of ALADDIN 2005
- Joint work with Mohit Singh Viswanath Nagarajan
2The Problem
- Input Undirected graph G (V,E), root vertex r,
and integer K, 0 lt K lt 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
3Motivation
- Protect at least K nodes (servers, cities, etc)
from an infected node in a network.
root
S
4Motivation, continued
- Separate at least K enemy units from your base.
S
root
5Related 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
6Related 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 Markovs inequality
7What 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 eK/log(n)) approx, for any fixed e gt 0.
They use ideas from Kargers min-cut algorithm.
8Results
- For K O(n), we obtain an (const, const)
bi-criteria approx - For small K, we match the F.K.N. result (i.e. an
(1 eK/log(n)) approx)
9PTAS 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.
10Contraction
- Contract (u,v) Keep parallel edges
v
u
u,v
11PTAS 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.
12Analysis
- Suppose OPT has cost B, and cuts away S.
- If FKN returns a solution of cost (1e)B, we are
done. Otherwise, S gt 8K, and for every subset
R of size between K and 8K, cap(?R) gt B.
R1
R3
root
S
R2
R4
13Analysis
- Suppose OPT has cost B, and cuts away S.
- If FKN returns a solution of cost (1e)B, we are
done. Otherwise, S gt 8K, and for every subset
R of size between K and 8K, cap(?R) gt B.
Lots of inter-cluster edges
14Analysis, 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
15Analysis, 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.
16Analysis, 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 (SB)/(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.
17Analysis PrAbort
Probability of Aborting exactly B red (bad)
edges, at least SB/4K red black edges
Pre red, given e is not blue
18Analysis PrAbort
- At each step, Prabort 4K/S, so we succeed
with probability at least 1-4K/S
Pre black, given e is not blue
R1
R3
root
R2
S
R4
19Analysis PrSuccess
- 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
20Analysis PrSuccess
If x 2, (1-1/x)x 1/4 (via Bernoullis
ineq.) Since S gt 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)
21Analysis, cont.
- So either the FKN preprocessing gives us an
(1e)B solution, or with high probability in
polynomial many independent runs we obtain the
optimal solution.
22Bi-criteria approx for K O(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.
23Bi-criteria approx for K O(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.
24Analysis
- 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.
OPT cut
The shaded region has at least K/2 vertices, and
can be separated from the root at cost at most B.
25Analysis
- 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 O(n), L(2B/K) O(B).
26Ongoing Work
- The middle ground log(n) ltlt K ltlt n
- Strictly enforcing the budget constraint and
approximating the prize collected
27Thank You