=========================================================================== CSC 373H / L0101 Lecture Summary for Week 13 Winter 2005 =========================================================================== Weighted Set Cover (cont'd): . (11.10) For all S_k, SUM_{s in S_k} c_s <= H(|S_k|) w_k (where H(n) = 1 + 1/2 + ... + 1/n = Theta(log n)). Proof: Let d = |S_k| and S_k = {s_1, s_2, ..., s_d}, in order of coverage by the algorithm. * when s_1 is first covered, set used is at least as good as S_k so c_{s_1} <= w_k/d (cost per element for S_k) * when s_2 is first covered, set used is at least as good as S_k so c_{s_2} <= w_k/(d-1) (cost/elem for S_k-{s_1}) * ... * when s_j is first covered, set used is at least as good as S_k so c_{s_j} <= w_k/(d-j+1) (cost/elem for S_k-{s_1,...,s_{j-1}}) * ... Total: SUM_{s in S_k} c_s <= w_k/d + w_k/(d-1) + ... + w_k/1 = H(d) w_k. . Let d* = MAX_{i=1..m} |S_i| (max size of S_i's), C* = optimum set cover, and w* = SUM_{i in C*} w_i = optimum weight. . (11.11) SUM_{i in C} w_i <= H(d*) w* = Theta(log n) w*. Proof: * By (11.10), for each i in C*, w_i >= 1/H(|S_i|) * SUM_{s in S_i} c_s >= 1/H(d*) * SUM_{s in S_i} c_s. * C* is a cover so SUM_{i in C*} SUM_{s in S_i} c_s >= SUM_{s in U} c_s. * Hence, w* = SUM w_i i in C* 1 >= SUM ----- SUM c_s i in C* H(d*) s in S_i 1 1 >= ----- SUM c_s = ----- SUM w_i (by 11.9) H(d*) s in U H(d*) i in C