1 / 53

Chapter 2. Greedy Strategy

Chapter 2. Greedy Strategy. II. Submodular function. Min Set Cover. Given a collection C of subsets of a set E , find a minimum subcollection C’ of C such that every element of E appears in a subset in C’. What is a submodular function?.

dmitri
Download Presentation

Chapter 2. Greedy Strategy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 2. Greedy Strategy II. Submodular function

  2. Min Set Cover Given a collection C of subsets of a set E, find a minimum subcollection C’ of C such that every element of E appears in a subset in C’ .

  3. What is a submodular function? Consider a function f on all subsets of a set E. f is submodular if for all subsets A, B of E.

  4. Example of Submodular Function

  5. Greedy Algorithm { Use f(C) as the potential function}

  6. Theorem Greedy Algorithm produces an approximation within ln  +1 from optimal, where = max S C |S| .

  7. Analysis

  8. Alternative Analysis

  9. What do we need?

  10. Equivalent to Submodularity This inequality holds if and only if f is submodular and (monotone increasing)

  11. Meaning of Submodularity • The earlier, the better! • Monotone decreasing gain!

  12. Theorem Greedy Algorithm produces an approximation within ln  +1 from optimal. The same result holds for min weighted set-cover.

  13. Min Weighted Set Cover Given a collection C of subsets of a set E and a weight function w on C, find a minimum total-weight subcollection C’ of C such that every element of E appears in a subset in C’ .

  14. Greedy Algorithm

  15. Greedy Algorithm

  16. A General Problem

  17. Greedy Algorithm

  18. A General Theorem Remark:

  19. Need an additional property of submodular functions Proof Let , So

  20. Proof

  21. From the greedy strategy:

  22. The last inequality follows from the submodularity of f .

  23. Proof of (b) By the greedy strategy: By the submodularity and mono increasing:

  24. Note:

  25. Min-Weight Vertex Cover • Given a vertex-weighted graph G = (V,E), find a vertex cover of the min weight. • Potential Function: f(A) = the number of edges covered by vertices in A. • f is submodular: f(A) + f(B) – f(A U B) is the number of edges covered by both A and B, and hence >f(A ∩B).

  26. Min-Weight Hitting Set • Given a vertex-weighted hypergraph H = (V,C), find a hitting set A of the min total weight. (In a hypergraphH = (V,C), C is a collection of subsets of V. Also, a hitting set is a subset of V that intersects each set in C.) • f(A) [= the number of subsets in C that intersects A] is submodular.

  27. Both Min-WHS and Min-WVC have polynomial time (ln  + 1)-approximation, where is the max degree of the input (hyper)graph. • For nonweighted cases, Min-VC has a polynomial-time 2-approx, and it could be generalized to Min-WVC!! (see Chap 8)

  28. Subset Interconnection Design • Given m subsets X1, …, Xm of set X, find a graph G with vertex set X and minimum number of edges such that for every i=1, …, m, the subgraph G[Xi] induced by Xi is connected. Weighted version Minimize the total edge weight in G.

  29. What is the potential function ? For any edge set A, define fi(A) to be the number of connected components of the subgraph of (X,A), induced by Xi. Function– fi is submodular.

  30. Proof. Consider two edge sets A and B. Observe that if an edge in A connects two connected components of G [B] into one component of G [AUB], Then this edge also connects two components of G [AB into one component of G [A]. So, f (B) – f (A U B) = # of components of G [B] reduced by edges in A < # of components of G [AB] reduced by edges in A = f (AB) – f (A).

  31. Rank • All acyclic subgraphs form a matroid. • The rank of a subgraph is the cardinality of a maximum independent subset of edges in the subgraph. • Let Ei = {(u,v) in E | u, v in Xi}. Rank ri(E)=ri(Ei)=|Xi| – fi(E). • Rank riis submodular.

  32. In fact, the rank of any matroid is submodular. Proof. Consider two independent subsets A, B. Let I 1 be a maximal indep set in AB, I 2 a maximal indep set in A that contains I 1, and I 3 a maximal indep set in AUB that contains I 2. Since (E,C) is a matroid, |I 1|=rank(AB), |I 2|=rank(A), |I 3|=rank(AUB). Let J = I 3 – I 2. From the maximality of I 2, we know that J is a subset of B. Therefore, I 1UJ is an indep set in B, |I 1|+|J| < rank(B); or, rank(AB) +rank(AUB) – rank(A) < rank(B).

  33. Potential Function r1+ּּּ+rm Theorem Subset Interconnection Design has a (1+ln m)-approximation. r1(Φ)+ּּּ+rm(Φ)=0 r1(e)+ּּּ+rm(e)<m for any edge

  34. Connected Vertex-Cover • Given a connected graph, find a minimum vertex-cover which induces a connected subgraph.

  35. For any vertex subset A, g(A) is the number of edges not covered by A. For any vertex subset A, h(A) is the number of connected components of the subgraph induced by A. – g is submodular (same as in Min-WVC) – ug(C) = |N(u) – C|= number of neighbors of u that are not in C

  36. –h is not submodular. • – u h(C) = [number of connected components in G|C subgraph induced by C that are adjacent to u] – 1 • In the following, A a subset of B but – u h(A) < – u h(B) A B

  37. – g – h is submodular We prove this by a new characterization of submodularity: f is submodular (and monotone increasing) iff for all A, x, y, where =

  38. p(C) = – g(C) – h(C): v up(C) <0 Case 1. u = v. •  v up(C) <0 iff up(C) >0 • If u is not adjacent to any x in C, then – ug(C) = deg(u). – uh(C) = –1 and so up(C) >0 because deg(u) > 1. • If u is adjacent to some x in C, then – uh(C) >0

  39. Case 2. u is not adjacent to v Case 3. u is adjacent to v

More Related