Lecture 14

advertisement
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
Download