Massachusetts Institute of Technology Michel X. Goemans 18.433: Combinatorial Optimization Spring 2015 Solutions to problem set 6 Problem 1 First we show that M ∗ is a matroid. It is easy to see that M ∗ satisfies the first axiom. For, if X ⊆ Y and E \ Y contains a base of M , then E \ X also contains it since E \ X ⊇ E \ Y . For the second axiom, let X and Y be independent sets of M ∗ with |X| < |Y |. Let BX be a base of M contained in E \X and BY be a base of M contained in E \ Y . Let S = BY \ X. By matroid axiom, there exists a subset T of BX such that S ∩ T = ∅ and S ∪ T is a base of M . Since |S ∪ T | = |BY |, we get |T | = |BY ∩ X|. Note that |BY ∩ X| ≤ |X| < |Y |. Hence, there is an element e ∈ Y which is not in S ∪ T . We have (X ∪ {e}) ∩ T = X ∩ T = ∅ as T ⊂ BX , and (X ∪ {e}) ∩ S = X ∩ S = ∅ as S = BY \ X. It follows that X ∪ {e} ∈ I ∗ , as desired. Every base of M ∗ is of the form E \ B for some base B of M . We have dual rank funtion r∗ (X) = |X| + r(E \ X) − r(E), where r is the rank function of M . To prove it, note that r∗ (X) = maxB ∗ |X ∩ B ∗ | where B ∗ ranges over all bases of M ∗ . Using the fact that B ∗ is of the form E \ B for a base B of M , we have r∗ (X) = = = max |(E \ B) ∩ X| max (|X| − |X ∩ B|) max (|X| − |B| + |B ∩ (E \ X|) B:base of M B:base of M B:base of M = |X| − r(E) + r(E \ X). Problem 2 (Note: It S will make more sense if we modify the algorithm to look at arcs in δ − (S), instead of v∈S δ − (v). This algorithm will always output an r-arborescence if there exists any. However, this algorithm is still suboptimal.) Consider a directed graph on three vertices {r, 1, 2} with arcs {(r, 1), (r, 2), (2, 1)}. Let the cost function be c(r, 1) = 2, c(r, 2) = 3 and c(2, 1) = 1. The minimum cost r-arborescence is {(r, 2), (2, 1)} of cost 4. However, the algorithm will output {(r, 1), (r, 2)} of cost 5, as in the first step (r, 1) is the minimum cost edge from V \ S to S. Problem 3 We construct F and y in the same way as in the lecture notes, except that we will continue until (V, F ) becomes a strongly connected graph. More precisely, at every iteration (as long as (V, F ) is not strongly connected), we select a set S ⊂ V such that (i) within S, F is strongly connected and (ii) there isP no arc in F incoming to S, and then raise its value yS until a new arc a gets tight ( S:a∈δ− (S) yS = ca ). Such an arc a is added to F . Observe that such a set S always exists. Indeed, if one takes the strongly connected components of (V, F ) and contract them, we obtain a directed Solutions to problem set 6 Spring 2015 2 acyclic graph, which must have a vertex with no incoming arc (a source); such a vertex corresponds to a set with the desired properties. In the second phase, for each r ∈ V , we construct from F , an r-arborescence Tr . This is done by removing arcs ai ’s of F in reverse order if unnecessary for connecting r to every other vertex. To show that this r-arborescence is optimal, we show that its P value is equal to S:r∈S / yS . Notice that this value is dependent on the root r and this would indeed show optimality of Tr since the vector y restricted to the components not containing r is a dual feasible solution for the r-arborescence problem. We proceed in a way similar to the lecture notes. Observe that X X X X c(a) = yS = |δ − (S) ∩ Tr |yS , a∈Tr a∈Tr S:a∈δ − (S) S while X yS S:r∈S / is a lower bound on the cost of the optimum arborescence (since y restricted to sets not containing r is a dual feasible solution). Thus, to show that Tr is optimal, we’ll show that its cost equals the value of the lower bound and more precisely that: (a) yS > 0 and r ∈ / S ⇒ |δ − (S) ∩ Tr | = 1, and (b) yS > 0 and r ∈ S ⇒ δ − (S) ∩ Tr = ∅. The first case is as in the lecture notes. For the case when r ∈ S and yS > 0, we claim that every arc a ∈ δ − (S) will be deleted during the second phase. Following the same argument as in the lecture notes, we can show that after second phase we have an r-arborescence satisfying condition 1, i.e., if yS > 0 then |T ∩δ − (S)| = 1. At some point in the first phase S was chosen and we added ak ∈ δ − (S) to F . Note that {a1 , . . . , ak−1 } is strongly connected within S. Assume that ak was needed to go to vertex v from r, and that along the path P to v the last vertex in S is w ∈ S. Then we could go to v by taking a subset of the arcs a1 , . . . , ak−1 to w ∈ S (since r is also in S), and continue along path P . So ak was not necessary. This proves the optimality of Tr . Problem 4 Let M1 and M2 be matroids on E = [n] where I1 = {I : AI,Y1 has rank |I|} and I2∗ = {I : AI,Y2 has rank |I|}. Since A is invertible, r1 (E) = |Y1 | and r2 (E) = n−|Y2 | = |Y1 |. We claim that maxS∈I1 ∩I2 |S| is equal to |Y1 |. If this is the case, then AS,Y1 has rank |Y1 | and AE\S,Y2 has rank |Y2 |. So AS,Y1 and AE\S,Y2 are both invertible. Solutions to problem set 6 Spring 2015 3 By matroid intersection theorem, max |S| = min[r1 (U ) + r2 (E \ U )] S∈I1 ∩I2 U ⊆E = min[r1 (U ) + r2∗ (U ) − r2∗ (E) + |E \ U |] U ⊆E = min[r1 (U ) + r2∗ (U ) − |U | + |Y1 |] U ⊆E ≥ |Y1 |. The last inequality follows from the fact that rank(AU,Y1 )+rank(AU,Y2 ) ≥ rank(AU,Y1 ∪Y2 ) and AU,E has full (row) rank. Hence maxS∈I1 ∩I2 |S| = |Y1 |. Problem 5 (a) The capacity of the cut induced by {s} is X X X u((s, v)) = x(δ(v)) = 2 x(e) = 2|V | − 2. v∈V v∈V e∈E The capacity of the cut induced by {s} ∪ V , or equivalently {t}, is X u((v, t)) = 2|V |. v∈V (b) Let S be a nonempty proper subset of V . Then, X X X u((v, t)) u(e) + u({s} ∪ S) = u((s, v)) + v∈V \S e∈δ + (S) v∈S = (2x(E(V \ S)) + x(δ(S))) + x(δ(S)) + 2|S| = 2(x(E) − x(E(S))) + 2|S| = 2|V | + 2(|S| − 1 − x(E(S))). Hence, minS⊆V,S6=∅ u({s} ∪ S) < 2|V | if and only if there is a nonempty proper subset S of V such that x(E(S)) > |S| − 1. (c) Fix v ∈ V . We obtain a new digraph Dv by substituting capacity of (s, v) by +∞. Note that every s − t cut in Dv has same capacity as in Dv if it does not separate s and v. On the other hand, any cut separating s and v has capacity +∞. Hence, minimum s − t cut of Dv has capacity minS⊆V,v∈S u({s} ∪ S). From part (b), we know that there exists a violated inequality for x if and only if min u({s} ∪ S) < 2|V |, S⊆V,S6=∅ and it is equivalent to that the minimum s − t cut of Dv has capacity less than 2|V | for some v. So we can solve the separation problem by solving each min-cut problem (or equivalent max-flow problem) on Dv .