06.03.2017 Views

Mathematics for Computer Science

e9ck2Ar

e9ck2Ar

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

“mcs” — 2017/3/3 — 11:21 — page 457 — #465<br />

12.5. Bipartite Graphs & Matchings 457<br />

neighbors of some set S of vertices is the image of S under the edge-relation, that<br />

is,<br />

N.S/ WWD f r j hs—ri 2 E.G/ <strong>for</strong> some s 2 S g:<br />

S is called a bottleneck if<br />

jSj > j N.S/j:<br />

Theorem 12.5.4 (Hall’s Theorem). Let G be a bipartite graph. There is a matching<br />

in G that covers L.G/ iff no subset of L.G/ is a bottleneck.<br />

An Easy Matching Condition<br />

The bipartite matching condition requires that every subset of men has a certain<br />

property. In general, verifying that every subset has some property, even if it’s easy<br />

to check any particular subset <strong>for</strong> the property, quickly becomes overwhelming<br />

because the number of subsets of even relatively small sets is enormous—over a<br />

billion subsets <strong>for</strong> a set of size 30. However, there is a simple property of vertex<br />

degrees in a bipartite graph that guarantees the existence of a matching. Call a<br />

bipartite graph degree-constrained if vertex degrees on the left are at least as large<br />

as those on the right. More precisely,<br />

Definition 12.5.5. A bipartite graph G is degree-constrained when deg.l/ deg.r/<br />

<strong>for</strong> every l 2 L.G/ and r 2 R.G/.<br />

For example, the graph in Figure 12.9 is degree-constrained since every node on<br />

the left is adjacent to at least two nodes on the right while every node on the right<br />

is adjacent to at most two nodes on the left.<br />

Theorem 12.5.6. If G is a degree-constrained bipartite graph, then there is a<br />

matching that covers L.G/.<br />

Proof. We will show that G satisfies Hall’s condition, namely, if S is an arbitrary<br />

subset of L.G/, then<br />

j N.S/j jSj: (12.2)<br />

Since G is degree-constrained, there is a d > 0 such that deg.l/ d deg.r/<br />

<strong>for</strong> every l 2 L and r 2 R. Since every edge with an endpoint in S has its other<br />

endpoint in N.S/ by definition, and every node in N.S/ is incident to at most d<br />

edges, we know that<br />

dj N.S/j #edges with an endpoint in S:<br />

Also, since every node in S is the endpoint of at least d edges,<br />

#edges incident to a vertex in S djSj:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!