This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CME 305: Discrete Mathematics and Algorithms Instructor: Professor Amin Saberi ([email protected]) January 19 and 21, 2010 Lecture 5: Matching in Bipartite Graphs Definition: A graph G ( V,E ) is bipartite if we can partition V into two sets A and B such that ∀ e = ( i,j ) ∈ E , { i,j } * A and { i,j } * B . In other words, the two end points of an edge do not belong to the same set. We usually represent a bipartite graph by G ( A,B,E ). Definition: A matching M is a set of edges such that every vertex is incident to at most one edge in M . In other words, it is a set of “independent” edges that share no endpoints in common; M is a perfect matching iff  A  =  B  =  M  ; M is a maximal matching if it is not a subsent of any other matching. In other words, ∀ e ∈ E \ M , M ∪ { e } is not a matching; M is a maximum matching if there are no possible matching of a larger size. Question: Under what conditions bipartite graph G ( A,B,E ) has a perfect matching? Theorem 1 Hall’s Marriage Theorem (1935) Let G ( A,B,E ) be a bipartite graph such that  A  =  B  = n . G has a perfect matching iff ∀ S ⊆ A,  S  ≤  N ( S )  where N ( S ) is the neighborhood of S , i.e. N ( S ) = { v ∈ B  ∃ u ∈ S : ( u,v ) ∈ E } . Proof: “ ⇒ ”: It’s easy to see that if ∃ S ⊂ A such that  S  >  N ( S )  , G cannot have a perfect matching. “ ⇐ ”: We prove this by strong induction on the size of A . The case n = 1 is trivial. We split the induction step into two cases: Case 1: ∀ S ⊂ A,  S  <  N ( S )  Pick an arbitrary vertex u ∈ A and match it to one of its neighbors v . Let A 1 = A \ { u } , B 1 = B \ { v } , and G 1 be the bipartite graph induced by A 1 and B 1 . ∀ S ∈ A 1 ,  N G 1 ( S )  ≥  N G...
View
Full
Document
This document was uploaded on 06/17/2010.
 Winter '09

Click to edit the document details