Title: Tucker,%20Applied%20Combinatorics,%20Sec.%204.3,%20prepared%20by%20Jo%20E-M
1Tucker, Applied Combinatorics, Sec. 4.3, prepared
by Jo E-M
Some Definitions
Y
X
A set of independent edges
Edges only between X and Y
X-Matching Maximal Matching
All vertices in X are used
The largest possible number of edges
Note an X-matching is necessarily maximal.
2More Definitions
R(A) Range of a set A of vertices
R(A) is the set of vertices adjacent to at least
one vertex in A A red, R(A) blue
A set of vertices so that every edge is incident
to at least one of them
3Matching Network
All edges infinite capacity
a
z
All edges capacity 1
By converting the bipartite graph to a network,
we can use network flow techniques to find
matchings.
4Matching Network
All edges infinite capacity
a
z
All edges capacity 1
Matching a z flow
5Matching Network
All edges infinite capacity
a
z
All edges capacity 1
X matching saturation at a
6Matching Network
All edges infinite capacity
a
z
All edges capacity 1
Maximal matching Maximal flow
7Matching Network
All edges infinite capacity
S red vertices, an edge cover
a
z
All edges capacity 1
A red on left, B red on right
Edge cover means that all edges have at least one
red endpoint P to P,
to ,
to P. Thus only uncovered edges,
would go from P to .
Edge cover Finite a z cut
8Matching Network
All edges infinite capacity
S red vertices, NOT an edge cover
a
z
All edges capacity 1
A red on left, B red on right
An infinite cut would go through an edge with two
black endpoints, which corresponds to an
uncovered edge.
Not an edge cover Infinite a z cut
9Theorem 1
- Recall Corollary 3a from Section 4.2
- The size of a maximal flow is equal to the
capacity of a minimal cut. - Since.
- Then,
- The size of a maximal matching is equal
- to the size of a minimal edge cover.
Matching a z flow
and
Edge cover Finite a z cut
10Finding Matchings
All edges infinite capacity
a
z
All edges capacity 1
Take any matching, convert to a network, and then
use the augmenting flow algorithm to find a
maximal flow, hence a maximal matching.
11An easy way to think about it
- Start with any matching.
- From an unmatched vertex in X, alternate between
nonmatching and matching edges until you hit an
unmatched vertex in Y. - Then switch between the nonmatching and matching
edges along to path to pick up one more matching
edge. - Continue this until no unmatched vertex in X
leads to an unmatched vertex in Y.
12Example
13Theorem 2Halls Matching Theorem
- A bipartite graph has an X-matching if and only
if for every subset A of X, R(A) is greater
than or equal to A.
X matching
True for all A in X
14Proof ofHalls Matching Theorem
- An X-matching implies that for
every subset A of X, R(A) is greater than or
equal to A.
For any A, the X matching gives at least one
vertex in R(A) for every vertex in A.
X matching
15Proof ofHalls Matching Theorem
- If R(A) is greater than or equal
to A for every subset A of X, then there is an
X-matching.
- First note that if M is a maximal matching, then
. - Taking A X, we have that
since the range of X is contained in Y.
Thus . - Also, by Theorem 1, if S is a minimal edge cover,
then . - Note that if , then M must be
an X matching. - Thus, it suffices to show that
for all edge covers S.
16Proof of Halls Matching Theorem
- Continued we need to show that
for all edge covers S.
Since ,
. Now let A
be the vertices in X but not in S, so that
. Thus,
. Now, S is an edge-cover, so if it doesnt
contain on the X side, it must contain
all the vertices a goes to on the Y side in order
to cover the edges in between. Thus
, so . Thus,
But , hence
, so
as needed. ///
17Example To Try
Make up a random bipartite graph with about 20
vertices total. Swap with someone, and then both
of you find an X-matching