1 Applications of Matroid Intersection
Total Page:16
File Type:pdf, Size:1020Kb
MATH 233B: Polyhedral techniques in combinatorial optimization Instructor: Jan Vondr´ak Lecture date: 2/16/2017 Scribe: Yuval Wigderson 1 Applications of Matroid Intersection Let's see some combinatorial applications of the matroid intersection min-max formula. 1.1 Bipartite matching First consider bipartite matching. For a set of edges S, we have that r1(S) is the number of vertices touched by S in V1, and similarly for r2(S). Then the min-max formula gives max jMj = min(r1(S) + r2(E n S)) M matching S⊆E Notice that the vertices touched by S on the left and by E n S on the right is a vertex cover. Conversely, given any minimal vertex cover, we can define S to be the edges incident with the vertices on the left; by minimality, every vertex in the cover on the right is incident to some edge in E n S. Therefore, we get that the right-hand side in the above formula is just the size of the minimal vertex cover, and we get back K¨onig'stheorem. 1.2 Rainbow spanning trees Suppose G is connected and its edges are colored by n − 1 colors. Is it true that there is a spanning tree such that each edge has a different color? Our first matroid, M1, will just be the graphic matroid for G. M2 will be the partition matroid defined by the color classes (i.e. independent sets contain at most one edge of each color). Then r1(S) = n − b0(S) where b0(S) is the number of connected components in G[S]. Additionally, r2(S) is the number of colors that S contains. Then the min-max formula is max jF j = min(n − b0(S) + #(colors in E n S)) F forest S⊆E all edges different colors Note that on the right-hand side, if E n S intersects some color classes, we might as well force it to take the entire class for each of those colors, since this doesn't change the last term and can only make S smaller and thus only increase b0(S). So the right-hand side equals ! ! [ min n − b0 Ci + jIj I⊆[n−1] i=2I S where Ci are the color classes and we take E n S = i2I Ci. We want to characterize when there is a rainbow spanning tree, which is the same as asking when this minimum is ≥ n − 1. So that happens if and only if, for all I ⊆ [n − 1], ! [ b0 Ci ≤ jIj + 1 i=2i A related conjecture of Brualdi-Hollingsworth, which is still open, is that for any proper edge coloing of K2n by 2n − 1 colors (n ≥ 3), the edges can be decomposed into n rainbow spanning trees. It's known that there exist Ω(n= log n) disjoint rainbow spanning trees. 1.3 Rado's theorem E Theorem 1 (Rado) For a matroid M = (E; I) and a set system X = (X1;:::;XM ) ⊂ 2 , there is a transversal in X independent in M if and only if for all I ⊆ [m], ! [ rM Xi ≥ jIj i2I Proof: The transversal matroid T on E is defined so that S ⊆ [m] is independent if it is a partial transversal. Equivalently, if we define a bipartite graph whose left-hand side is [m] and whose right-hand side is E, and connect i 2 [m] to all elements of Xi, then a set S ⊆ E is independent if it can be covered by a matching in this graph. We have rT (S) to just be the size of the maximal matching in G([m];S). By K¨onig'stheorem, this equals the minimal vertex cover of G([m];S). This is the same as ! [ rT (S) = min m − jIj + Xi \ S I⊆[m] i2I So now we want to understand when there is a set of size m that's independent in both M and T . By matroid intersection, this is the same as min(rT (S) + rM (E n S)) ≥ m S⊆E which by the above is the same as ! ! [ min min m − jIj + Xi \ S + rM (E n S) ≥ m S⊆E I⊆[m] i2I S Notice that if we remove some x 2 i2I Xi \ S, then we make the size of that union go down by 1, while rm(E n S) goes up by at most 1. So for minimizing, we can assume that S does not contain S S any element of i2I Xi. Similarly, if we add to S any element not in i2I , then this union does S not get larger, while rM (E n S) can only decrease. So the optimum is to take S = E n i2I Xi. Therefore, the condition is true iff !! [ min m − jIj + rM Xi ≥ m I⊆[m] i2I Rearranging gives us the desired condition. 2 1.4 Common transversals E Now suppose that M is itself the transversal matroid of some set system Y = (Y1;:::;Ym) ⊂ 2 . In this case, we want to find a joint transversal, namely a collection of distinct elements x1; : : : ; xm so that xi 2 Xi and xi 2 Yπ(i) for some permutation π 2 Sm. From the above, 0 1 [ rM (S) = min @m − jJj + Yj \ S A : J⊆[m] j2J So by Rado's theorem, a common transversal exists if and only if for all I ⊆ [m], ! [ rM Xi ≥ jIj i2I which by the above happens iff for all I;J ⊆ [m], [ [ m − jJj + Yj \ Xi ≥ jIj: j2J i2I Since this is trivial for jIj + jJj ≤ m, this condition is equivalent to saying that for all I;J ⊆ [m] with jIj + jJj > m, we have that [ [ Xi \ Yj ≥ jIj + jJj − m: i2I j2J 2 Matroid mapping lemma Let us prove a useful lemma which will be useful for us next time. Lemma 2 For any matroid M 0 = (E0; I0) with rank function r0, and any mapping f : E0 ! E, M = (E; I) is a matroid, where I 2 I () 9I0 2 I0;I = f(I0) The rank function on M is r(S) = min(jS n T j + r0(f −1(T ))): T ⊆S Proof: I is closed under taking subsets. For the extension axiom, suppose we have I;J 2 I with jJj > jIj. So we can find I0;J 0 2 I0 with f(I0) = I; f(J 0) = J, and we might as well assume that jI0j = jIj; jJ 0j = jJj. Additionally, among all such choices, we ensure that jI0 \ J 0j is as large as possible. By extension in M 0, there is some j0 2 J 0 n I0 so that I0 + j0 2 I0. If f(j0) 2 J n I, then we're good, since I + f(j0) 2 I. If not, then f(j0) 2 I \ J. So in particular f(j0) 2 I, so there exists some i0 2 I0 so that f(i0) = f(j0). Moreover, i0 2= I0 \ J 0, since elements of the intersection map bijectively on J 0. So we've found i0 2 I0 n J 0 with f(i0) = f(j0). But then, we could have picked I00 = I0 − i0 + j0 as our preimage for I. Moreover, jI00 \ J 0j > jI0 \ J 0j, contradicting minimality. So we get that this can't happen, and we have extension. −1 ` −1 For the rank function, let S ⊆ E. We partition f (S) as s2S f (s). The rank of S is the largest independent set in it, and a subset of S is independent if it's the image of an independent set. We might as well choose this preimage to contain at most one element from each of our partitioning −1 blocks, meaning that I ⊆ S is independent if and only if for all i 2 I there exist ai 2 f (i) so 0 −1 that fai : i 2 Ig 2 I . Let PS be the partition matroid on this partition ff (s): s 2 Sg. Then by matroid intersection, 0 0 0 −1 0 max jIj = max jI j = min (rPS (T ) + r (f (S) n T )) I⊆S;I2I I02I0 T 0⊆f −1(S) 0 scriptI 2PS 0 S −1 Similarly to before, we might as well consider T = s2T f (s) for some T ⊆ S. With this choice, 0 rPS (T ) = jT j, and therefore 0 −1 rM (S) = min(jT j + r (f (S n T ))) T ⊆S Exchanging the role of T and S n T gives what we wanted. 2.