28
Algorithms for Max-min Optimization Anupam Gupta Carnegie Mellon University based on works with Viswanath Nagarajan (IBM Watson) and R.Ravi (CMU), Aaron Roth (MSR/Penn), Grant Schoenebeck (Princeton), and Kunal Talwar (MSR)

Algorithms for Max-min Optimization Anupam Gupta Carnegie Mellon University based on works with Viswanath Nagarajan (IBM Watson) and R.Ravi (CMU), Aaron

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Algorithms for Max-min Optimization

Anupam GuptaCarnegie Mellon University

based on works with Viswanath Nagarajan (IBM Watson) and R.Ravi (CMU),

Aaron Roth (MSR/Penn), Grant Schoenebeck (Princeton), and Kunal Talwar (MSR)

maximization problems

Given: universe U of elementscollection I of “independent” subsets “value” function f:2U non-negative values

When can we solve this?

Example #1:

max-weight independent set

f(S)maxs.t. S in I

Universe = vertices of graph“independent” set = no edge between two verticesf(S) = v in S wv

maximization problems

Given: universe U of elementscollection I of “independent” subsets “value” function f:2U non-negative values

When can we solve this?

Example #2:

max-weight spanning tree

f(S)maxs.t. S in I

Universe = edges of graph“independent” set = no cycles within the edgesf(S) = e in S we

A quick survey on linear and submodular maximizationI.e., when f(S) is either linear or submodular.

What is max-min optimization?I.e., cases where f(S) is defined by a minimization (covering) problem.

A couple of general theorems about these topics, the ideas behind some of the algorithms, and a couple of simple proofs.

general outline of this talk

f(S)maxs.t. S in I

case I: linear fn maximization

linear case: f(S) = e in S we

e.g., max-weight spanning tree

If I forms a matroid, we can solve this exactly!

f(S)maxs.t. S in I

In fact, the greedy algorithm suffices…

recall: a family of independent sets I forms a matroid if a) it is closed under taking subsets b) if A and B independent and |A| < |B|,

there is an element e in B such that A+e independent.

case I: linear fn maximization

linear case: f(S) = e in S we

e.g., max-weight bipartite matching

If I is the intersection of two matroids, also solvable

f(S)maxs.t. S in I

The greedy algorithm is not the best any more…

max-weight arborescence

… but it is a 2-approximation

case I: linear fn maximization

linear case: f(S) = e in S we

If I is the intersection of p > 2 matroids, NP hard in general

f(S)maxs.t. S in I

But the greedy algorithm is still a p-approximation!

can do slightly better via a local-search algorithm…

case II: submodular maximization

Recall f is submodular if

f(S)maxs.t. S in I

f(subset + e) – f(subset)

submodular function f

f(superset + e) – f(superset) ≥

f is monotone if f(subset) f(superset) ≤

two quick examples

Given a collection of sets A1, A2, …, Am

universe = {1, 2, …, m}f({1, 3, 7}) = | A1 [ A3 [ A7 |

Given an undirected graph G = (V,E)universe = Vf(S) = # of edges going from S to V\S in the graph.

The cut function in graphs is (non-monotone) submodular.

The “set-coverage” function is monotone submodular.

f(S)maxs.t. S in Imonotone submodular function f

If I is the intersection of p matroids

the greedy algorithm is a (p+1)-approximation!

case II: submodular maximization

S = { }While e such S + e is independent pick the element e* which maximizes f(S+e*) – f(S)

the greedy algorithm: a proof

Suppose we want to maximize monotone submodular f(S)such that I = { S ½ U | S contains at most k elements }

Theorem: f(Sfinal) ≥ ½ f(Sfinal [ OPT)

Proof: Suppose not.

Then f(Sfinal) < ½ f(Sfinal [ OPT)

f(Sfinal [ OPT) – f(Sfinal) > f(Sfinal)

e in OPT\S s.t. f(Sfinal + e) – f(Sfinal) >

at every step of greedy, f(S + e) – f(S) >

kf(Sfinal)

So greedy’s improvement must have been at least as much.

kf(Sfinal)

Contradiction

Cardinality constraint

n.b. use monotonicityonly in the last step.

≥ ½ f(OPT)

f(S)maxs.t. S in Inon-monotone submodular function f

If I is 2U (there are no constraints at all)already the problem is APX-hard!

However, the following algorithm is an 4-approximation:

case II: submodular maximization

S = a random subset of the universe U.

again, can do better (won’t talk about it today)…

f(S)maxs.t. S in Inon-monotone submodular function f

If I is the intersection of p matroidsthe greedy algorithm is not good!

However, the following algorithm is an O(p) approximation:

case II: submodular maximization

S1 ← Greedy(U)Find the subset T of S1 maximizing f(T)

S2 ← Greedy(U\S1)

Return the better of T and S2

the greedy algorithm: non-monotone proof

S1 ← Greedy(U)Find the subset T of S1 maximizing f(T)

S2 ← Greedy(U\S1)

Return the better of T and S2

f(S1) ≥ ½ f(S1 [ OPT)

f(S2) ≥ ½ f(S2 [ (OPT \ S1))

f(T) ≥ ¼ f(S1 \ OPT)

≥ f(OPT)

max{ f(T) , f(S2) } ≥ f(OPT)/12

for cardinality constraints

(from analysis of monotone case)

(from unconstrained max.)

(from monotone case again)

quick recap

f(S)maxs.t. S in I

If f is submodular

If I is the intersection of p matroids

then we can get an O(p) approximation.

what can we do for more general functions f( )?

for the rest of the talk, just focus on cardinality constraints I = { S ½ U, |S| ≤ k }

(some of our results will extend to more general constraints)

max-min covering problems

Fix a graph Guniverse = set of nodesfST(S) = min-cost Steiner tree on S

fMC(S) = min-cost cut separating S from root r

Fix a collection of sets A1, A2, …, Am

fSC(S) = size of min-cost set cover on S using these sets Ai

f(S)maxs.t. |S|≤ k

“Which k nodes is most expensive to connect up”?

“Which k elements are most expensive to cover”?

“Which k nodes are most expensive to disconnect from r”?

Of course, if f(S) is submodular (or close), we can use previous results…Can prove, e.g., fSC is very far from any submodular function

max-min covering: results (1)

f(S)maxs.t. |S|≤ k

For general covering problems…

Theorem:if you can solve some covering problem offlineand you can solve the problem online (deterministically)

you can solve the max-min version of the problem.

Usually offline × online approximation.

These algos extend to intersections of p matroids and q knapsacks…

max-min covering: results (2)

f(S)maxs.t. |S|≤ kFor the cardinality max-min:

O(log m + log n)-approximation for set coverO(1)-approximation for Steiner tree/forestO(log2 n)-approximation for multicut

all using the “same” algorithmic idea…

what’s the algorithm?

Recall: want to find S with |S| ≤ k that maximizes f(S)

Generic Idea:

call this value T*

For each value T do the following:

1. While some element costs “much more” than T/k to satisfy,add it to a set XT

Talg = smallest T such that cost(XT) not “much more” than T

For proof, need to show that a) for T ≈ T*, we have cost(XT) ≈ T*b) for T a bit smaller than T*, XT contains S of size k, such that cost(S) > T.

“cost(S)”

all k-sets cost < O(T*)

exists a k-set with cost ≥ (T*)

rest of the talk

Generic Algorithm:

Show how generic algorithm applies to:a) maxmin Steiner treeb) (time permitting) maxmin set cover

For each value T do the following:

1. While some element costs “much more” than T/k to satisfy,add it to a set XT

Talg = smallest T such that cost(XT) not “much more” than T

Steiner tree

Given a metric space (V, ℓ) and root rand a “scenario” S of terminals

find the least cost network connecting S to r

Results:MST is a 2-approximation.polytime 1.39-approx. algo [Byrka Grandoni Rothvoss Sanita ’10]

APX-hard [Bern Plassmann ‘89]

maxmin Steiner tree

Given a metric space (V, ℓ) and root r

find S approximately achieving

SteinerTree(S)maxs.t. |S|≤ k

the precise algorithm

Algorithm:For each value T do:1. add the root r to XT.

2. while exists a vertex v such that distance(v, XT) > 4T/kadd v to XT

find smallest T such that MST(XT) < 4T.

Fact: cost of connecting any set of k guys to MST(XT) ≤ 4T.

Corollary: cost of connecting any set of k guys ≤ 4T + MST(XT).

the analysis(1)

Fact: cost of connecting any k guys ≤ 4T + MST(XT).

Theorem 1: For T = T*, cost of MST(XT) < 4T.proof that

any k-subset can beconnected

at cost < 8T*

Lemma 2: For T = T*/8, cost of MST(XT) ≥ 4T.

if |XT| ≤ k, it is a set with cost ≥ 4T = T*/2 and small size

if |XT| is large, pick any k points from it.

their mutual distance > 4T/k, so Steiner-tree cost > 2T = T*/4.

Proof: if not, we could connect up any k points at cost < 8T = T*.

have found k-subsetwith cost > T*/4

remains to prove…

Theorem 1: For T = T*, cost of MST(XT) < 4T.

|XT| × 4T*/k × ½ ≤ ≤ |XT|/k × T*

≤ (|XT|/k + 1) × T*

|XT| ≤ k

optimal treeon XT

|XT| × T*/k ≤ T*≤ 2T*

MST is a 2-approximation, hence the 4T*

wrapping up maxmin Steiner

Algorithm:For each value T do:1. add the root r to XT.

2. while exists a vertex v such that distance(v, XT) > 4T/kadd v to XT

Talg = smallest T such that MST(XT) < 4T.

This value Talg shows all k-subsets can be connected at cost O(Talg)

the set XT for Talg/2 gives a k-subset of cost (Talg)

so, constant approximation.

rest of the talk

Generic Algorithm:

Show how generic algorithm applies to:a) maxmin Steiner treeb) (time permitting) maxmin set cover

For each value T do the following:

1. While some element costs “much more” than T/k to satisfy,add it to a set XT

Talg = smallest T such that cost(XT) not “much more” than T

to conclude

studied constrained maximization problemsgood algorithms for submodular cases

algorithms for max-min problems (f = minimization covering problem)O(log m + log n)-approximation for Set Coveralso for Steiner tree, Steiner forest, min-cut, multicut“same” simple algorithm“dual-rounding” analysis

for which other functions can we do constrained maximization well?papers are on the arxivthanks!!

f(S)maxs.t. S in I