520 likes | 610 Views
Submodular Set Function Maximization via the Multilinear Relaxation & Dependent Rounding. Chandra Chekuri Univ. of Illinois, Urbana-Champaign. Max weight i ndependent set. N a finite ground set w : N ! R + weights on N I µ 2 N is an independence family of subsets
E N D
Submodular Set Function Maximizationvia the Multilinear Relaxation & Dependent Rounding Chandra Chekuri Univ. of Illinois, Urbana-Champaign
Max weight independent set • N a finite ground set • w : N !R+weights on N • Iµ2Nis an independence family of subsets • Iis downward closed: A 2Iand B ½ A ) B 2I maxw(S) s.tS 2I
Independence families • stable sets in graphs • matchings in graphs and hypergraphs • matroids and intersection of matroids • packing problems: feasible {0,1} solutions to A x·bwhere A is a non-negative matrix
Max weight independent set maxw(S) s.tS 2I • max weight stable set in graphs • max weight matchings • max weight independent set in a matroid • max weight independent set in intersection of two matroids • max profit knapsack • etc
This talk maxf(S) s.t.S 2I f is a non-negative submodular set function on N Motivation: • several applications • mathematical interest
Submodular Set Functions A function f : 2N!R+is submodular if f(A+j) – f(A) ¸ f(B+j) – f(B) for all A ½ B, i2 N\B j A B f(A+j) – f(A) ≥ f(A+i+j) – f(A+i) for all A N, i, j N\A
Submodular Set Functions A function f : 2N!R+is submodular if f(A+j) – f(A) ¸ f(B+j) – f(B) for all A ½ B, i2 N\B j A B f(A+j) – f(A) ≥ f(A+i+j) – f(A+i) for all A N, i, j N\A Equivalently: f(A) + f(B) ≥ f(AB) + f(AB) 8A,B N
Cut functions in graphs • G=(V,E) undirected graph • f : 2V!R+where f(S) = |δ(S)| S
Coverage in Set Systems • X1, X2, ..., Xnsubsets of set U • f : 2{1,2, ..., n} !R+where f(A) = |[i in AXi | X1 X1 X5 X5 X4 X4 X2 X2 X3 X3
Submodular Set Functions • Non-negative submodular set functions f(A) ≥ 0 8A )f(A) + f(B) ¸ f(A[ B) (sub-additive) • Monotone submodular set functions f(ϕ) = 0 and f(A) ≤ f(B) for all A B • Symmetric submodular set functions f(A) = f(N\A) for all A
Other examples • Cut functions in hypergraphs (symmetric non-negative) • Cut functions in directed graphs (non-negative) • Rank functions of matroids (monotone) • Generalizations of coverage in set systems (monotone) • Entropy/mutual information of a set of random variables • ...
Example: Max-Cut maxf(S) s.tS 2I • f is cut function of a given graph G=(V,E) • I = 2V: unconstrained • NP-Hard
Example: Max k-Coverage maxf(S) s.tS 2I • X1,X2,...,Xnsubsets of U and integer k • N = {1,2,...,n} • f is the set coverage function (monotone) • I = { A µ N : |A| · k } (cardinality constraint) • NP-Hard
Approximation Algorithms A is an approx. alg. for a maximization problem: • A runs in polynomial time • for all instances I of the problem A(I) ¸® OPT(I)® (· 1) is the worst-case approximation ratio of A
Techniques maxf(S) s.t.S 2I f is a non-negative submodular set function on N • Greedy • Local Search • Multilinear relaxation and rounding
Greedy and Local-Search [Nemhauser-Wolsey-Fisher’78, Fisher-Nemhauser-Wolsey’78] • Work well for “combinatorial” constraints: matroids, intersection of matroids and generalizations • Recent work shows applicability to non-monotone functions [Feige-Mirrokni-Vondrak’07] [Lee-Mirrokni-Nagarajan-Sviridenko’08] [Lee-Sviridenko-Vondrak’09] [Gupta etal, 2010]
Motivation for mathematical programming approach • Quest for optimal results • Greedy/local search not so easy to adapt for packing constraints of the form Ax ·b • Known advantages of geometric and continuous optimization methods and the polyhedral approach
Math. Programming approach maxw(S) s.tS 2I maxw¢x s.tx2 P(I) xi2[0,1] indicator variable for i Exact algorithm: P(I) = convexhull( {1S : S 2I})
Math. Programming approach maxw(S) s.tS 2I maxw¢x s.tx2 P(I) Round x*2 P(I) to S*2I Exact algorithm: P(I) = convexhull( {1S : S 2I}) Approx. algorithm: P(I)¾convexhull( {1S : S 2I}) P(I) solvable: can do linear optimization over it
Math. Programming approach maxf(S) s.tS 2I maxF(x) s.tx2 P(I) Round x*2 P(I) to S*2I P(I)¶convexhull( {1S : S 2I}) and solvable
Math. Programming approach maxf(S) s.tS 2I maxF(x) s.tx2 P(I) Round x*2 P(I) to S*2I • What is the continuous extension F ? • How to optimize with objective F ? • How do we round ?
Some results [Calinescu-C-Pal-Vondrak’07]+[Vondrak’08]=[CCPV’09] Theorem: There is a randomized (1-1/e)' 0.632 approximation for maximizing a monotone f subject to any matroid constraint. [C-Vondrak-Zenklusen’09] Theorem: (1-1/e-²)-approximation for monotone f subject to a matroid and a constant number of packing/knapsack constraints.
What is special about 1-1/e? Greedy gives (1-1/e)-approximation for the problem max { f(S) | |S| · k } when f is monotone [NWF’78] • Obtaining a (1-1/e + ²)-approximation requires exponentially many value queries to f[FNW’78] • Unless P=NP no (1-1/e +²)-approximation for special case of Max k-Coverage [Feige’98] New results give (1-1/e) for any matroid constraint improving ½ . Moreover, algorithm is interesting and techniques have been quite useful.
Submodular Welfare Problem • n items/goods (N) to be allocated to k players • each player has a submodular utility function fi(Ai) is the utility to i if Ai is allocation to i) • Goal: maximize welfare of allocation ifi(Ai) Can be reduced to a single f and a (partition) matroid constraint and hence (1-1/e) approximation
Some more results [C-Vondrak-Zenklusen’11] • Extend approach to non-monotone f • Rounding framework viacontention resolution schemes • Several results from framework including the ability to handle intersection of different types of constraints
Math. Programming approach maxf(S) s.tS 2I maxF(x) s.tx2 P(I) Round x*2 P(I) to S*2I • What is the continuous extension F ? • How to optimize with objective F ? • How do we round ?
Multilinear extension of f [CCPV’07] inspired by [Ageev-Sviridenko] For f : 2N!R+define F : [0,1]N!R+ as x = (x1, x2, ..., xn) [0,1]N R: random set, include iindependently with prob. xi F(x) =E[ f(R) ] =S N f(S) iS xi iN\S (1-xi)
Why multilinear extension? • Ideally a concave extension to maximize • Could choose (“standard”) concave closure f+ of f • Evaluating f+(x) is NP-Hard!
Properties of F • F(x) can be evaluated (approximately) by random sampling • F is a smooth submodular function • 2F/xixj ≤ 0 for all i,j. Recall f(A+j) – f(A) ≥ f(A+i+j) – f(A+i) for all A, i, j • Fis concave along any non-negative direction vector • F/xi ≥ 0 for all iif f is monotone
Math. Programming approach Round x*2 P(I) to S*2I maxf(S) s.tS 2I maxF(x) s.tx2 P(I) • What is the continuous extension F ? ✔ • How to optimize with objective F ? • How do we round ?
Maximizing F max { F(x) | xi· k, xi2 [0,1] } is NP-Hard
Approximately maximizing F [Vondrak’08] Theorem: For any monotone f, there is a (1-1/e) approximation for the problem max { F(x) | x P } where P [0,1]N is any solvable polytope. Algorithm: Continuous-Greedy
Approximately maximizing F [C-Vondrak-Zenklusen’11] Theorem: For any non-negative f, there is a ¼ approximation for the problem max { F(x) | x P } where P [0,1]nis any down-closed solvable polytope. Remark: 0.325-approximation can be obtained Algorithm: Local-Search variants
Local-Search based algorithm Problem: max { F(x) | x 2 P }, P is down-monotone x*= a local optimum of F in P Q = { z 2 P | z·1-x* } y* = a local optimum of F inQ Output better of x*and y*
Local-Search based algorithm Problem: max { F(x) | x 2 P }, P is down-monotone x*= a local optimum of F in P Q = { z 2 P | z·1-x* } y* = a local optimum of F inQ Output better of x*and y* Theorem: Above algorithm gives a ¼ approximation.
Math. Programming approach maxf(S) s.tS 2I maxF(x) s.tx2 P(I) Round x*2 P(I) to S*2I • What is the continuous extension F ? ✔ • How to optimize with objective F ? ✔ • How do we round ?
Rounding Rounding and approximation depend on Iand P(I) Two results: • For matroidpolytope a special rounding • A general approach via contention resolution schemes
Rounding in Matroids MatroidM = (N, I) Independence polytope: P(M)=convhull({1S | S 2I}) given by following system [Edmonds] i2 Sxi·rankM(S) 8 S µ N x 2 [0,1]N
Rounding in Matroids [Calinescu-C-Pal-Vondrak’07] Theorem: Given any point x in P(M), there is a randomized polynomial time algorithm to round x to a vertex x* (hence an indep set of M) such that • E[x*] = x • F(x*) ≥ F(x) [C-Vondrak-Zenklusen’09] Different rounding with additional properties and apps.
Rounding maxF(x) s.tx2 P(I) Round x*2 P(I) to S*2I F(x*) = E[f(R)] where R is obtained by independently rounding each i with probability x*i R unlikely to be in I
Rounding maxF(x) s.tx2 P(I) Round x*2 P(I) to S*2I F(x*) = E[f(R)] where R is obtained by independently rounding each i with probability x*i R unlikely to be in I Obtain R’ µ R s.t.R’ 2Iand E[f(R’)] ¸ c f(R)
A simple question? • xis a convex combination of spanning trees • R: pick each e 2 E independently with probability xe Question: what is the expected size of a maximal forest in R? (n - # of connected components) 0.6 0.3 0.6 0.4 0.7 1 0.7 0.9 1 0.4 0.1
A simple question? • xis a convex combination of spanning trees of G • R: pick each e 2 E independently with probability xe Question: what is the expected size of a maximal forest in R? (n - # of connected components) Answer: ¸(1-1/e) (n-1)
Related question • xis a convex combination of spanning trees of G • R: pick each e 2 E independently with probability xe Want a (random) forest R’ µ R s.t. for every edge e Pr[e 2 R’ | e 2 R] ¸ c
Related question • xis a convex combination of spanning trees of G • R: pick each e 2 E independently with probability xe Want a (random) forest R’ µ R s.t. for every edge e Pr[e 2 R’ | e 2 R] ¸ c ) there is a forest of size e c xe = c (n-1) in R
Related question • xis a convex combination of spanning trees of G • R: pick each e 2 E independently with probability xe Want a (random) forest R’ µ R s.t. for every edge e Pr[e 2 R’ | e 2 R] ¸ c Theorem:c = (1-1/e) is achievable & optimal [CVZ’11] (true for any matroid)
Contention Resolution Schemes • Ian independence family on N • P(I) a relaxation for I and x2 P(I) • R: random set from independent rounding of x CR scheme for P(I): given x, R outputs R’ µ R s.t. • R’ 2I • and for all i, Pr[i2 R’ | i2 R] ¸ c
Rounding and CR schemes maxF(x) s.tx2 P(I) Round x*2 P(I) to S*2I Theorem: A monotone CR scheme for P(I) can be used to round s.t. E[f(S*)] ¸ c F(x*) Via FKG inequality
Remarks [CVZ’11] • Several existing rounding schemes are CR schemes • CR schemes for different constraints can be combined for their intersection • CR schemes through correlation gap and LP duality
Math. Programming approach maxf(S) s.tS 2I maxF(x) s.tx2 P(I) Round x*2 P(I) to S*2I Problem reduced to finding a good relaxation P(I) and a contention resolution scheme forP(I)