Solutions to problem set 6

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