Mathematics for Computer Science
e9ck2Ar
e9ck2Ar
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
“mcs” — 2017/3/3 — 11:21 — page 456 — #464<br />
456<br />
Chapter 12<br />
Simple Graphs<br />
Inductive Step: Suppose that jM j D m C 1 2. To find a matching <strong>for</strong> M , there<br />
are two cases.<br />
Case 1: Every nonempty subset of at most m men likes a strictly larger set of<br />
women. In this case, we have some latitude: we pair an arbitrary man with<br />
a woman he likes and send them both away. This leaves m men and one<br />
fewer women, and the matching condition will still hold. So the induction<br />
hypothesis P.m/ implies we can match the remaining m men.<br />
Case 2: Some nonempty subset X of at most m men likes an equal-size set Y of<br />
women. The matching condition must hold within X, so the strong induction<br />
hypothesis implies we can match the men in X with the women in Y . This<br />
leaves the problem of matching the set M X of men to the set W Y of<br />
women.<br />
But the problem of matching M X against W Y also satisfies the Matching<br />
condition, because any subset of men in M X who liked fewer women<br />
in W Y would imply there was a set of men who liked fewer women in the<br />
whole set W . Namely, if a subset M 0 M X liked only a strictly smaller<br />
subset of women W 0 W Y , then the set M 0 [ X of men would like only<br />
women in the strictly smaller set W 0 [ Y . So again the strong induction hypothesis<br />
implies we can match the men in M X with the women in W Y ,<br />
which completes a matching <strong>for</strong> M .<br />
So in both cases, there is a matching <strong>for</strong> the men, which completes the proof of<br />
the Inductive step. The theorem follows by induction.<br />
<br />
The proof of Theorem 12.5.2 gives an algorithm <strong>for</strong> finding a matching in a bipartite<br />
graph, albeit not a very efficient one. However, efficient algorithms <strong>for</strong> finding<br />
a matching in a bipartite graph do exist. Thus, if a problem can be reduced to<br />
finding a matching, instances of the problem can be solved in a reasonably efficient<br />
way.<br />
A Formal Statement<br />
Let’s restate Theorem 12.5.2 in abstract terms so that you’ll not always be condemned<br />
to saying, “Now this group of men likes at least as many women. . . ”<br />
Definition 12.5.3. A matching in a graph G is a set M of edges of G such that no<br />
vertex is an endpoint of more than one edge in M . A matching is said to cover a<br />
set S of vertices iff each vertex in S is an endpoint of an edge of the matching. A<br />
matching is said to be perfect if it covers V .G/. In any graph G the set N.S/ of