Documente Academic
Documente Profesional
Documente Cultură
Q.1 Let M be a matching in a bipartite graph G. Show that if M is suboptimal, i.e. contains fewer edges than some other matching in G, then G
contains an augmenting path with respect to M .
Solution: Let M 0 be a matching in a bipartite graph G of cardinality more
than |M |.
Observation: M 4M 0 consists of components which are either paths or
even cycles. The edges of M and M 0 alternate in every component of M 4M 0 .
Proof: Follows from the fact that degree of a vertex in M 4M 0 is at most 2
and definition of symmetric difference.
Even cycles have equal number of edges from M and M 0 . Since |M 0 | > |M |,
it follows that at least one of the component P is a odd path starting and ending
with edges of M 0 . P is a augmenting path for M .
Q.2 Describe an algorithm that finds, as efficiently as possible, a matching
of maximum cardinality in any bipartite graph.
Solution: Considering the contrapositive of Q.1, it is clear that if M is
a matching of maximum cardinality in any bipartite graph, then there is no
augmenting path. So, to compute any maximum cardinality matching in any
bipartite graph G(X Y, E), all we need to do is
1. start with any matching M ,
2. compute an M -augmenting path,
3. augment the path with matching M to obtain a matching M 0 , |M 0 | > |M |,
and repeat steps 2 and 3.
Computing an M -augmenting path:
Input: a bipartite graph G(X Y, E), U be the set of vertices of X saturated
by M .
1. Set S = U , T = . The idea is to follow M -alternating paths starting
from U , S X and T Y be the vertices reached. We mark a vertex in S when
it is used for any path extension or all its incident edges are explored. When
we reach a vertex, we record any one of the vertices from which it is reached.
2. If S has no unmarked vertices, stop and report M as the maximum
matching, T (X \ S) as the minimum vertex cover. Otherwise, choose any
vertex x S.
3. We explore x by choosing an y Y with xy 6 M . If y is unsaturated
by M , report xy as the augmenting path. Otherwise, let w X with yw M .
matching of X.
21. Derive Halls theorem from the Gallai-Milgram theorem.
Solution: Suppose we are given the bipartite graph B = X, Y with |N (S)|
|S| for all S X. Form a directed graph D by directing all edges of B from X
to Y . Pick an independent set I V (D). Then N (I X) Y \ I. So by Halls
condition, |Y \ I| |I X|. Then |I| = |I X| + |I Y | |Y \ I| + |I Y | = |Y |.
So by Gallai-Milgram, D can be covered by at most |Y | directed paths. Each
of these paths must have an endpoint in Y , so X is covered by paths of length
at least 1. These paths provide a matching saturating all of X.
22. Dilworths Theorem is equivalent to Konig-Egervary Theorem.
Solution. Dilworth to Konig-Egervary:
View any n-node bipartite graph G as a bipartite poset. The nodes of one
part are maximal elements, and nodes of the other part are minimal. Every
vertex disjoint path covering of the poset of size n k uses k chains of size 2,
which is actually a matching. Each antichain of size n k corresponds to an
independent set in G, and the rest of k nodes forms a vertex cover.