18.438 Advanced Combinatorial Optimization November 3rd, 2009 Lecture 14 Lecturer: Michel X. Goemans Scribe: Xin Lu In this lecture, we will analyze the Shannon Switching game. 1 Shannon Switching Game Given an undirected graph G = (V, E) and two vertices s, t ∈ V , two players, Join and Cut, choose edges from E alternatively. If Join can choose a path from s to t, then he wins, otherwise Cut wins. Although this game resembles the classcial game of Hex, it differs fom it by the important fact that we will be able to characterize which player has a winning strategy, and describe the strategy. This game can also be generalized to matroids, as was done by Lehman [1]: Join and Cut play in a matroid M = (S 0 , S + e, I), they choose elements from S alternatively. Let SJ (resp. SC ) be the set of elements that Join chooses (resp. Cut), if there exists C ∈ C(M ) such that e ∈ C, C\{e} ⊆ SJ , i.e. e ∈ spanM (SJ ), Join wins, otherwise, Cut wins. A game is called a Join game if Join has a winning strategy even if he plays second. A game is called a Cut game if Cut has a winning strategy even if he plays second. A game is called a neutral game if whoever plays first has a winning strategy. Now, we present the main result of the lecture: Theorem 1 A game is a Join game ⇐⇒ ∃A, B ⊆ S such that A ∩ B = ∅, e ∈ spanM (A) = spanM (B). A and B are called cospanning sets. It is easy to prove the ” ⇐ ” part. This is similar to the spanning tree situation discussed at the end of last lecture. Join’s winning strategy is to focus on elements from A∪B (or from spanM (A∪B) or from two disjoint maximal independent subsets TA and TB of A and B), i.e. discard (delete) all elements not in TA ∪ TB (or not in A ∪ B) from the matroid (and thus TA and TB become bases). The fact that for any x ∈ TA (similarly for TB ; x is whatever element Cut just played), there exists a y ∈ TB such that TA − x + y is still a base means that there still exists 2 disjoint bases in the matroid in which we delete x (played by Cut) and contract y (played by Join). This provides the induction for Join’s winning strategy since Join is guaranteed to be able to obtain a set SJ spanning span(A) = span(B) and thus creating a circuit with e. We will give a proof of the ” ⇒ ” part later. To make the game symmetric, let Cut play on the dual matroid M ∗ = (S 0 , I)∗ . We claim that the game is indeed a symmetric game, namely, Join wins if e ∈ spanM (SC ), and Cut wins if e ∈ spanM ∗ (SJ ). In other words, with this new definition for a win for Cut, we claim that that Cut wins if and only if Join does not. To prove the claim, we need the following properties of circuits and co-circuits (those of M ∗ ): Lemma 2 Let C ∈ C(M ), D ∈ C(M ∗ ), then |D ∩ C| = 6 1. Proof: Assume there exist C ∈ C(M ), D ∈ C(M ∗ ), |C ∩ D| = 1. Let {e} = C ∩ D. Since D −e ∈ I(M ∗ ), S 0 \(D −e) contains a base of M . Note that C −e ⊂ S 0 \(D −e) and C −e ∈ I(M )and thus can be extended to a base B of M such that C − e ⊂ B ⊂ S 0 \(D − e). If e ∈ B then C ⊆ B, a contradiction with the independence of B in M . Thus C − e ⊆ B ⊆ S 0 \ D, i.e. D ⊆ S 0 \ B. This implies that D is independent in M ∗ , a contradiction. From this, Lehman derives a characterization of co-circuits of a matroid; this is not really needed for what follows but is given for completeness. 14-1 Lemma 3 C(M ∗ ) = {minimal (inclusion-wise)D ⊆ S 0 |D0 6= ∅, |D ∩ C| = 6 1, ∀C ∈ C(M )}. Proof: Let D 6= ∅ such that |D ∩ C| = 6 1, ∀C ∈ C(M )}. If D is independent for M ∗ , then M has a base that is disjoint from D. Now take any element, say f , of D and add it to B. This means that there is a circuit C ⊆ B + f with C ∩ D = {f }, a contradiction. Thus all minimal non-empty such sets D are co-circuits. And vice versa by Lemma 2. Claim 4 Exactly one of the players wins. Proof: First, let’s prove that not both of them can win. If not, ∃SJ , SC ⊂ S such that SJ ∩ SC = ∅, SJ ∪ SC = S, e ∈ spanM (SJ ), e ∈ spanM ∗ (SC ), which implies there exists a circuit C ⊆ SJ + e, a cocircuit D ⊆ SC + e with C ∩ D = {e}, a contradiction for Lemma 2! Then let’s prove at least one of them wins. If Join doesn’t win, which means e ∈ / span(SJ ) ⇒ r(SJ + e) = r(SJ ) + 1. Therefore, rM ∗ (SC ) = |SC | + r(S 0 \SC ) − |S 0 | = |SC | + r(SJ + e) − |S 0 | = |SC | + r(SJ ) + 1 − |S 0 | = |SC + e| + r(SJ ) − |S 0 | = rM ∗ (SC + e) ⇒ e ∈ span(SC ), and therefore Cut wins. This justifies that the new symmetric game is equivalent to the original one. As soon as we’ll have completed the proof of Theorem 1, we will have shown by symmetry the analogous result for Cut games: Corollary 5 A game is a Cut game ⇐⇒ ∃A, B ⊆ S such that A ∩ B = ∅, e ∈ spanM ∗ (A) = spanM ∗ (B). To continue the proof of Theorem 1, we first need to understand the condition of the theorem in more depth. In particular, the condition as stated does not give yet a good characterization of such games (when do such sets A and B exist?). Recall the matroid base packing theorem: Theorem 6 For a matroid M = (S 0 , I), S 0 contains two disjoint bases ⇐⇒ ∀U ⊆ S 0 , |S 0 \U | ≥ 2(r(S 0 ) − r(U )). The necessary and sufficient condition in this theorem can be rewritten as ∀U ⊆ S 0 , 2r(U )−|U | ≥ 2r(S 0 ) − |S 0 | or as 2r(S 0 ) − |S 0 | = min0 (2r(U ) − |U |), i.e. S 0 is a minimizer to g(U ) = 2r(U ) − |U |. U ⊆S Restricting our attention to a given set F ⊆ S 0 , we obtain: Lemma 7 Given a matroid M = (S 0 , I) and F ⊆ S 0 , there exist two disjoint sets A and B with F = span(A) = span(B) if and only if 2r(F ) − |F | = min (2r(U ) − |U |). U ⊆F Since r(U ) is submodular and |U | is modular, g(U ) = 2r(U ) − |U | is a submodular function, therefore we have the following: Claim 8 L = {X ⊆ S 0 : 2r(X) − |X| = min0 (2r(U ) − |U |)} is a lattice, i.e. if A, B ∈ L then U ⊆S A ∪ B ∈ L, A ∩ B ∈ L. Proof: Assume A, B ∈ L. Since 2r(U ) − |U | is submodular, we have 2 min0 (2r(U ) − |U |) = U ⊆S (2r(A) − |A|) + (2r(B) − |B|) ≥ (2r(A ∩ B) − |A ∩ B|) + (2r(A ∪ B) − |A ∪ B|). Therefore, 2r(A ∩ B) − |A ∩ B| = 2r(A ∪ B) − |A ∪ B| = min0 (2r(U ) − |U |), i.e. A ∪ B ∈ L, A ∩ B ∈ L. U ⊆S Let X̂ ⊆ S be the maximal (inclusion-wise) minimizer to the problem min (2r(U ) − |U |). Observe U ⊆S that we restrict our attention to sets U ⊆ S and not U ⊆ S + e. From Lemma 7, we immediately derive: 14-2 Claim 9 e ∈ spanM (X̂) ⇐⇒ ∃A, B ⊂ S, A ∩ B = ∅, e ∈ spanM (A) = spanM (B). Remember that rM ∗ (U ) = |U | + r(S 0 \U ) − r(S 0 ). Thus, 2rM ∗ (U ) − |U | = |U | + 2r(S 0 \U ) − 2r(S 0 ) = 2r(S 0 \U ) − |S 0 \U | + (|S 0 | − 2r(S 0 )). Since |S 0 | − 2r(S 0 ) is a constant, we have that U is a minimizer for 2rM ∗ (U ) − |U | if and only if S 0 \ U is a minimizer for 2rM (U ) − |U | (over all sets U ). Our set X̂ is almost a global minimizer (since we only minimized over sets not contaning e); however, it is a global minimizer if we assume that e ∈ / spanM (X̂). Claim 10 If e ∈ / spanM (X̂) then 2r(X̂) − |X̂| ≤ 2r(Y ) − |Y |, for all Y ⊆ S 0 . Proof: By contradiction, assume that there exists Y with 2r(X̂) − |X̂| > 2r(Y ) − |Y |. By definition of X̂, we must have e ∈ Y . Consider now Y − e. Again, by optimality of X̂ over all subsets of S, we have that 2r(Y − e) − |Y − e| ≥ 2r(X̂) − |X̂| > 2r(Y ) − |Y |. (1) Thus 1 > 2r(Y ) − 2r(Y − e) implying that r(Y ) = r(Y − e). Furthermore, (1) now implies that 2r(Y − e) − |Y − e| = 2r(X̂) − |X̂|, and thus by maximality of X̂, we must have that Y − e ⊆ X̂. However e ∈ spanM (Y −e) (since r(Y ) = r(Y −e)), and thus we have e ∈ spanM (X̂), a contradiction. Therefore, if e ∈ / spanM (X̂) then Claim 10 implies that S 0 \ X̂ is a minimizer of min 2rM ∗ (U ) − |U |. U ⊆S 0 By Lemma 7, we deduce that there exist two subsets A and B of S 0 \ X̂ with spanM ∗ (A) = spanM ∗ (B) = S 0 \ X̂ 3 e. Trivially, at most one of them can contain e. We are now able to show that if e ∈ / spanM (X̂) (which by Claim 9 is equivalent to the condition stated in Theorem 1 not being true), Cut has a winning strategy if he plays first. Indeed, let Join play e artificially first, to make sure that Cut won’t choose e. Similarly to the winning strategy for Join in a Join game, Cut can guarantee to get a set SC such that spanM ∗ (SC ) ⊇ S 0 \ X̂ and thus spanning e. Thus Cut wins provided he plays first; thus this is either a Cut game or a neutral game, completing the proof of the theorem. Observe that, in a join game, the winning strategy for Join does not depend on e, as it is based only on X̂. Thus, Join does not need to know e in advance. 2 Testing membership in the graphic matroid polytope To be able to play the winning strategy (for either Join or Cut), we need to be able to find the set X̂ efficiently. This can be done by submodular function minimization and this will be the focus of a forthcoming lecture. However, here, we consider the special case when M is a graphic matroid, and this corresponds to the original Shannon switching game. 14-3 Consider the graphic matroid M associated with the graph G = (V, E). We want to be able to find the maximal set U ⊆ E minimizing 2r(U ) − |U |. Let us generalize this problem and assume we are given x ∈ RE + and we want to find the largest set U minimizing r(U ) − x(U ). This is a generalization since we can select xf = 21 for all f ∈ E. Observe that our problem is now the problem of finding the most violated inequality (if any, and largest if there are ties) in the matroid polytope or forest polytope in this case. Furthermore, we do not need to consider sets U which do not give facets of the polytope. Thus in the case of the forest polytope, we only need to consider sets U ⊆ E of the form E(S) for some set ∅ 6= S ⊆ V and furthermore r(U ) = |S| − 1 in this case. Thus, our goal is to find the largest set ∅ = 6 S ⊆ V minimizing |S| − 1 − x(E(S)). See Section 51.4 in Schrijver’s book. This problem can be reduced to a minimum s − t cut problem in a digraph D. The vertex set of D consists of V ∪ {s, t}, and its arc set is as follows: • For every edge e = {u, v} ∈ E, we have two arcs (u, v) and (v, u), each of capacity xe . • Let P = {v ∈ V |x(δ(v)) > 2}, and N = {v ∈ V |x(δ(v) < 2}. For every vertex v ∈ P , we have an arc (v, t) of capacity x(δ(v)) − 2 > 0. Similarly, for every vertex v ∈ N , we have an arc (s, v) of capacity 2 − x(δ(v)) > 0. Consider an arbitrary s − t cut in this digraph, say separating U + s from (V \ U ) + t. Its capacity is x(δ(U )) + X [x(δ(v)) − 2] + v∈U ∩P = x(δ(U )) + X X [2 − x(δ(v))] + X [x(δ(v)) − 2] v∈P v∈V \U = [2 − x(δ(v))] v∈N \U 2|V \ U | − 2x(E(V \ U )) + γ, P where γ = v∈P [x(δ(v)) − 2]. Therefore minimizing |S| − x(E(S)) over sets S 6= ∅ is equivalent to minimizing the capacity of the cut separating U + s from (V \ U ) + t over all U 6= V . In order to be able to use the max-flow min-cut theorem, we need to get rid of this U 6= V condition. One way is to guess a vertex i ∈ V \ U (i.e. try all such vertices), and find the minimum cut separating s from {i, t} in the digraph. For our application for the Shannon switching game, we need to be able to find the maximal minimizer S, and this corresponds to the minimal minimum s − t cut in our directed graph. This can also be found efficiently from a maximum flow computation (take the vertices reachable from s in the residual graph). References [1] A. Lehman, “A solution to Shannon’s switching game”, J. Soc. Indust. Appl. Math., 12, 687– 725, 1964. 14-4