Presentation is loading. Please wait.

Presentation is loading. Please wait.

Graph Theory Ch. 3. Matchings and Factors 1 Chapter 3 Matchings and Factors Matchings and Covers Algorithms and Applications Matchings in General Graph.

Similar presentations


Presentation on theme: "Graph Theory Ch. 3. Matchings and Factors 1 Chapter 3 Matchings and Factors Matchings and Covers Algorithms and Applications Matchings in General Graph."— Presentation transcript:

1 Graph Theory Ch. 3. Matchings and Factors 1 Chapter 3 Matchings and Factors Matchings and Covers Algorithms and Applications Matchings in General Graph

2 Graph Theory Ch. 3. Matchings and Factors 2 Matching 3.1.1  A matching in a simple graph G is a set of edges with no shared endpoints.  The vertices incident to the edges of a matching M are said to be saturated by M; the others are unsaturated.  A perfect matching in a graph is a matching that saturates every vertex. A matching in bipartite graph A matching in general graph Saturated Unsaturated

3 Graph Theory Ch. 3. Matchings and Factors 3 Matching 3.1.1  A perfect matching in a graph is a matching that saturates every vertex. Perfect Matching Maximum Matching Not a perfect matching

4 Graph Theory Ch. 3. Matchings and Factors 4 Example: Perfect matching in K n,n 3.1.2  Consider K n,n with partite sets X= {x 1,…, x n } and Y= {y 1,…, y n }.  A perfect matching defines a bijection from X to Y.  Successively finding mates for x 1, x 2,… yields n! perfect matchings. –Each matching is represented by a permutation of [n], mapping i to j when x i is matched to y j.

5 Graph Theory Ch. 3. Matchings and Factors 5 Example: Perfect matching in K n,n 3.1.2  For K 3,3, there are : 123, 132, 213, 231, 312, 321. –312: (x 1 -y 3 ) (x 2 -y 1 ) (x 3 -y 2 )

6 Graph Theory Ch. 3. Matchings and Factors 6 Example: Perfect matching in K n,n 3.1.2  We can express the matchings as matrices. –With X and Y indexing the rows and columns, we let position i, j be 1 for each edge x i y j in a matching M to obtain the corresponding matrix. There is one 1 in each row and each column. 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 Y 1 Y 2 Y 3 Y 4 X1X2X3X4X1X2X3X4 XYXY X 1 X 2 X 3 X 4 Y 1 Y 2 Y 3 Y 4

7 Graph Theory Ch. 3. Matchings and Factors 7 Perfect Matchings in Complete graphs  K 2n+1 has no perfect matching, Consider K 2n. –Let f n be the number of ways to pair up 2n distinct people in K 2n –There are 2n-1 choices for partner of v 2n, and for each such choices there are f n-1 ways to complete the matching (see example in the next page) –Hence f n =(2n-1)f n-1 for n  1. With f 0 =1, it follows by induction that f n =(2n-1)·(2n-3) · · ·(1).

8 Graph Theory Ch. 3. Matchings and Factors 8 Example: Perfect Matchings in K 6  For K 6, n=3, –f 3 is the number of perfect matchings –f 3 = (2n-1) * f 2 = 5* f 2 =5*3*f 1

9 Graph Theory Ch. 3. Matchings and Factors 9 Maximal Matching and Maximum Matching 3.1.4  A maximum matching in a graph is matching that can not be enlarged by adding an edge. –A maximum matching is a matching of maximum size among all matchings in the graph.  A matching M is maximal if every edge not in M is incident to an edge already in M. –Every maximum matching is a maximal matchings, but the converse need not hold.

10 Graph Theory Ch. 3. Matchings and Factors 10 Maximal  Maximum 3.1.5  The smallest graph having a maximal matching that is not a maximum matching is P 4. –If we take the middle edge, then we can add no other, but the two end edges form a larger matching. –Below we show this phenomenon in P 4. Maximal Maximum

11 Graph Theory Ch. 3. Matchings and Factors 11 Alternating path & Augmenting path 3.1.6  Given a matching M, an M-alternating path is a path that alternate between edges in M and edges not in M.  An M-alternating path whose endpoints are unsaturated by M is a M-augmenting path. A B C D E F G H Augmenting path: 1) E-B-F-D 2) A-F-B-G-C-H A B C D E F G H

12 Graph Theory Ch. 3. Matchings and Factors 12 Symmetric Difference 3.1.7  If G and H are graphs with vertex set V, then the symmetric difference G  H is the graph with vertex set V whose edges are those edges appearing in exactly one of G and H.  We also use this notation for sets of edges ; in particular, if M and M’ are matchings, then M  M’ = (M-M’)  (M’-M).  Very similar to Exclusive -OR

13 Graph Theory Ch. 3. Matchings and Factors 13 Example of Symmetric Difference A B C D H I J K E L F M G N A B C D H I J K E L F M G N A B C D H I J K E L F M G N M’M M  M’

14 Graph Theory Ch. 3. Matchings and Factors 14 Lemma: Every component of the symmetric difference of two matchings is a path or an even cycle 3.1.9 Proof:  Let M and M’ be matchings, and F be M  M’.  Since M and M’ are matchings, every vertex has at most one incident edge from each of them  Thus F has at most two edges at each vertex.  Since  (F)  2, every component of F is a path or a cycle.  A B C D H I J K E L F M G N M  M’

15 Graph Theory Ch. 3. Matchings and Factors 15 Lemma: Every component of the symmetric difference of two matchings is a path or an even cycle 3.1.9 Proof: (continue)  Furthermore, every path or cycle in F alternates between edges M-M’ and edges of M’-M.  Thus each cycle has even length, with an equal number of edges from M and from M’.

16 Graph Theory Ch. 3. Matchings and Factors 16 Theorem: A matching M in a graph G is a maximum matching in G if and only if G has no M-augmenting path. 3.1.10 Proof:  We prove the contrapositive of each direction ; G has a matching larger than M if and only if G has an M - augmenting path.  (sufficiency) It is seen that an M-augmenting path can be used to produce a matching larger than M.

17 Graph Theory Ch. 3. Matchings and Factors 17 Theorem: A matching M in a graph G is a maximum matching in G if and only if G has no M-augmenting path. 3.1.10 Proof: (continue)  (necessity) For the converse, –Let M’ be a matching in G larger than M –Let F=M  M’. By Lemma 3.1.9, F consists of paths and even cycles; the cycles have the same number of edges from M and M’ –Since |M’|>|M|, F must have a component with more edges of M’ than of M. Such a component can only be a path that starts and ends with an edge of M ’; thus it is a M-augmenting path in G.

18 Graph Theory Ch. 3. Matchings and Factors 18 Theorem: An X,Y-bigraph G has a matching that saturates X if and only if |N(S)|  |S| for all S  X. 3.1.11  Necessity. The |S| vertices matched to S must lie in N(S).  Sufficiency. To prove that Hall’s Condition is sufficient, we prove the contra-positive: If M is a maximum matching in G and M does not saturate X, then there is a set S  X such that |N(S)|<|S|.

19 Graph Theory Ch. 3. Matchings and Factors 19 Theorem: An X,Y-bigraph G has a matching that saturates X if and only if |N(S)|  |S| for all S  X. 3.1.11 Sufficiency  Let u  X be a vertex unsaturated by M.  Among all the vertices reachable from u by M- alternating paths in G, let S consist of those in X, and that T consist of those in Y. → T=N(S) S X Y u Given u, Let ‘~’ represent alternating Let R ={v| (v,u) M~Path exists} S={v|v  X and v  R} T={v|v  Y and v  R}

20 Graph Theory Ch. 3. Matchings and Factors 20 Theorem 3.1.11 Continue Sufficicy Continue  We claim that M matches T with S-{u}. The M - alternating paths from u reach Y along edges not in M and return to X along edges in M.  Hence every vertex of S-{u } is reached by an edge in M from a vertex in T. T=N(S) S X Y u

21 Graph Theory Ch. 3. Matchings and Factors 21 Theorem 3.1.11 Continue Sufficiency continue  Since there is no M-augmenting path, every vertex of T is saturated; thus an M-augmenting path reaching y  T extends via M to a vertex of S.  Hence these edges of M yield a bijection from T to S-{u}, and we have |T|=|S-{u}|. T=N(S) S X Y u

22 Graph Theory Ch. 3. Matchings and Factors 22 Theorem 3.1.11 Continue Sufficiency continue  With T=N(S), we have proved that |N(S)|=|T|=|S|-1<|S| for this choice of S. This completes the proof of the contrapositive. T=N(S) S X Y u

23 Graph Theory Ch. 3. Matchings and Factors 23 Corollary: for k>0, every k-regular bipartite graph has a perfect matching. 3.1.13 Proof :  Let G be a k-regular X,Y- bigraph  Counting the edges by endpoints in X and by endpoints in Y shows that k|X| = k|Y|  So |X|=|Y|.  Hence it suffices to verify Hall’s Condition; a matching that saturates X will also saturate Y and be perfect matching. ►

24 Graph Theory Ch. 3. Matchings and Factors 24 Corollary: for k>0, every k-regular bipartite graph has a perfect matching. 3.1.13 Proof : Continued  Consider S  X. Let m be the number of edges from S to N(S)  Since G is k-regular, m=k|S|. These m edges are incident to N(S), so m  k|N(S)| S m=k|S|, m  k|N(S)| N(S)N(S)

25 Graph Theory Ch. 3. Matchings and Factors 25 Corollary: for k>0, every k-regular bipartite graph has a perfect matching. 3.1.13 Proof : Continued  Hence k|S|  k|N(S)|, which yields |N(S)|  |S| when k>0.  Having chosen S  X arbitrarily, we have established Hall’s condition. S m=k|S|, m  k|N(S)| N(S)N(S)

26 Graph Theory Ch. 3. Matchings and Factors 26 Vertex Cover 3.1.14  A vertex cover of a graph G is a set Q  V(G) that contains at least one endpoint of every edge. The vertices in Q cover E(G).

27 Graph Theory Ch. 3. Matchings and Factors 27 Vertex Cover 3.1.14  In a graph that represents a road network (with straight roads and no isolated vertices). –Finding a minimum vertex cover = Placing the minimum number of policemen to guard the entire road network.  

28 Graph Theory Ch. 3. Matchings and Factors 28 Matchings and Vertex covers  In the graph underneath –We mark a vertex cover of size 2 and show a matching of size 2 in bold. –|vertex cover|  | matching|

29 Graph Theory Ch. 3. Matchings and Factors 29 Matchings and Vertex covers  As the graph illustrated underneath –the optimal values differ by 1 for an odd cycle –The difference can be arbitrarily large

30 Graph Theory Ch. 3. Matchings and Factors 30 Theorem: If G is a bipartite graph, then the maximum size of a matching in G equals the minimum size of a vertex cover of G. 3.1.16 A B C D E F G A B C D E F G Green: Vertex cover Red: Matching |Q|  |M|

31 Graph Theory Ch. 3. Matchings and Factors 31 Theorem 3.1.16 Proof :  Let G be an X, Y-bigraph.  Since distinct vertices must be used to cover the edges of a matching, |Q|  |M| whenever Q is a vertex cover and M is a matching in G  Given a smallest vertex cover Q of G, we construct a matching of size |Q| to prove that equality can always be achieved.

32 Graph Theory Ch. 3. Matchings and Factors 32 Theorem 3.1.16 Continue  Partition Q by letting R=Q  X and T=Q  Y. –Let H and H’ be the subgraphs of G induced by R  (Y- T) and T  (X-R), respectively. T R H H’ X Y

33 Graph Theory Ch. 3. Matchings and Factors 33 Theorem 3.1.16 Continue  We use Hall’s Theorem to show that H has a matching that saturates R into Y-T and H’ has a matching that saturated T.  Since H and H’ are disjoint, the two matchings together form a matching of size |Q| in G. T R H H’ X Y

34 Graph Theory Ch. 3. Matchings and Factors 34 Theorem 3.1.16 Continue  Since R  T is a vertex cover, G has no edge from Y-T to X-R. –Otherwise, an edge between Y-T to X-R is not covered T R H H’ X Y NH(S)NH(S) S

35 Graph Theory Ch. 3. Matchings and Factors 35 Theorem 3.1.16 Continue  For each S  R, we consider N H (S), which is contained in Y-T. –If |N H (S)|<|S|, then we can substitute N H (S) for S in Q to obtain a smaller vertex cover –since N H (S) cover all edges incident to S that are not covered by T T R H H’ X Y N H (S) S |N H (S)|  |S|

36 Graph Theory Ch. 3. Matchings and Factors 36 Theorem 3.1.16 continue  The minimality of Q thus yields Hall’s Condition in H, and hence H has a matching that saturates R  Applying the same argument to H’ yields the matching that saturates T T R NH(S)NH(S) H H’ X Y S A matching exists in H of size |R| A matching exists in H’ of size |T|

37 Graph Theory Ch. 3. Matchings and Factors 37 Min-Max relation 3.1.17  A min-max relation is a theorem stating equality between the answers to a minimization problem and maximization problem over a class of instances.  The Konig-Egervary Theorem is such a relation for vertex covering and matching in bipartite graphs.

38 Graph Theory Ch. 3. Matchings and Factors 38 Min-Max relation 3.1.17  For the discussions in this text, we think of a dual pair of optimization problems –as a maximization problem M and minimization problem N, defined on the same instances (such as graphs), – such that for every candidate solution M to M and every candidate N to N, the number of M is less than or equal to the value of N. –Often the “value” is cardinality, as above where M is maximum matching and N is minimum vertex cover.

39 Graph Theory Ch. 3. Matchings and Factors 39 Independent sets and covers  The independence number of a graph is the maximum size of an independent set of vertices.  The independence number of a bipartite graph does not always equal the size of a partite set. –In the graph bellow, both partite sets have size 3, but we have marked an independent set of size 4.

40 Graph Theory Ch. 3. Matchings and Factors 40 Edge cover 3.1.19  An edge cover of G is a set L of edges such that every vertex of G is incident to some edge of L. –The four bold edges in thee following graph form an edge cover.

41 Graph Theory Ch. 3. Matchings and Factors 41 Definitions  For the optimal sizes of the sets of the independence and covering problems we have defined, we use the notation below. –Maximum size of independent set  (G) –Maximum size of matching  ’(G) –Minimum size of vertex cover  (G) –Minimum size of edge cover  ’(G)

42 Graph Theory Ch. 3. Matchings and Factors 42 Lemma: In a graph G, S  V(G) is an independent set if and only if Ŝ is a vertex cover, and hence  (G)+  (G) = n(G). 3.1.21 Proof :  If S is an independent set, then every edge is incident to at least one vertex of Ŝ.  Conversely, if Ŝ covers all the edges, then there are no edges joining vertices of S.   Independent set

43 Graph Theory Ch. 3. Matchings and Factors 43 Lemma: In a graph G, S  V(G) is an independent set if and only if Ŝ is a vertex cover, and hence  (G)+  (G) = n(G). 3.1.21 Proof : continued  Hence every maximum independent set is the complement of a minimum vertex cover, and  (G)+  (G)=n(G)  (G) = 4  (G) = 2 n(G) = 6

44 Graph Theory Ch. 3. Matchings and Factors 44 Theorem: If G is a graph without isolated vertices, then α’(G)+ β’(G) =n(G). 3.1.22  ’(G) : Maximum size of matching  ’(G): Minimum size of edge cover Proof:  From a maximum matching M, we will construct an edge cover of size n(G)-|M|. ( see next page ) –Since a smallest edge cover is not bigger than this cover, this will imply that  ’(G)  n(G)-  ’(G).  Also, from a minimum edge cover L, we will construct a matching of size n(G)-|L|. ( see next page ) –Since a largest matching is not smaller than this matching, this will imply that  ’(G)  n(G)-  ’(G).  These two inequalities complete the proof. (detail) 

45 Graph Theory Ch. 3. Matchings and Factors 45 Theorem 3.1.22 Continue  Given M, we construct an edge cover of size n(G)-|M|. –Add to M one edge incident to each unsaturated vertex. –We have used one edge for each vertex, except that each edge of M takes care of two vertices, –So the total size of this edge cover is n(G)-|M|, as desired.  |(unsaturated Vertices)| = n (G)-2|M| Select one edge for each unsaturated vertex

46 Graph Theory Ch. 3. Matchings and Factors 46 Theorem 3.1.22 Continue  Given a minimum edge cover L, we construct a matching of size n(G)-|L|. – If both ends of an edge e belong to edges in L other than e, then e  L, since L-{e} is also an edge cover. –Hence each component formed by edges of L has at most one vertex of degree exceeding 1 and is a star (a tree with at most one non-leaf).  Impossible case can be deleted One component Assume k components, then |L|=n(G)-k

47 Graph Theory Ch. 3. Matchings and Factors 47 Theorem 3.1.22 Continue –Let k be the number of these components –Since L has one edge for each non-central vertex in each star, we have |L|=n(G)-k –We form a matching M of size k =n(G)-|L| by choosing one edge from each star in L

48 Graph Theory Ch. 3. Matchings and Factors 48 Maximum Bipartite Matching 3.2  To find a maximum matching, we iteratively seek augmenting paths to enlarge the current matching.  Given a matching M in an X, Y –bigraph G, we search for M-augmenting paths from each M- unsaturated vertex in X.

49 Graph Theory Ch. 3. Matchings and Factors 49 Augmenting Path Algorithm – for matching 3.2.1 Input: An X, Y-bigraph G, a matching M in G, and the set U of M-unsaturated vertices in X. Ideal: 1.Explore M-alternating paths from U 2.Let S  X and T  Y be the sets of vertices reached 3.Mark vertices of S that have been explored for path extensions 4.As a vertex is reached, record the vertex from which it is reached

50 Graph Theory Ch. 3. Matchings and Factors 50 Augmenting Path Algorithm – for matching 3.2.1 Initialization: S=U and T= . Iteration:  If S has no unmarked vertex, stop and report –T  (X-S) as a minimum cover and –M as a maximum matching 

51 Graph Theory Ch. 3. Matchings and Factors 51 Augmenting Path Algorithm – for matching 3.2.1 Iteration: (continue)  Otherwise, select an unmarked x  S. To explore x, consider each y  N(x ) such that xy  M. –If y is unsaturated, terminate and report an M- augmenting path from U to y –Otherwise, y is matched to some w  X by M. In this case, include y in T ( reached from x) and include w in S ( reached from y) –After exploring all such edges incident to x, mark x and iterate

52 Graph Theory Ch. 3. Matchings and Factors 52 Example of Finding Matching 1 M = Ø, U=  1, 2, 3, 4, 5, 6  U: Unsaturated Vertices in X 123456 abcdef X Y 123456 abcdef X Y - Select one vertex from U, say v 1. - Consider the neighbors of v1 which is unsaturated. - va is unsaturated. - v 1 -va is an augmenting path. - M= {(1,a)}, U={2, 3, 4, 5, 6}

53 Graph Theory Ch. 3. Matchings and Factors 53 a Example of Finding Matching 2 123456 bcdef X Y M = {(1,a)(2,c)(3,d)(5,e)} U=  4, 6  - Select one vertex from U, say v 4. - Consider the neighbors of v 4 : va, vc - Neither va nor vc is unsaturated - Mark va and vc reached - Mark va : from v 4 and mark vc : from v 4 - Consider the mate of va and the mate of vc - Consider the neighbors of v 2 : va, vc - Either va or vc is already reached - Consider the neighbors of v 1 : va, vb - vb is unsaturated, note : vb is from v 1 - v 4 -va-v 1 -vb is an augmenting path. - M= { (1,b)(2,c)(3,d)(4,a)(5,e)} - U={6} Frm v4 Frm va Frm vc Frm v1 4 ca 1 2 b 123456 abcdef X Y

54 Graph Theory Ch. 3. Matchings and Factors 54 Example of Finding Matching2 M = {(1,b)(2,c)(3,d)(4,a)(5,e)} U=  6  S = { 1, 2, 3, 4, 6} T= {a, b, c, d} Vertex cover: T  (X-S) = {a, b, c, d, 5} 123456 abcdef X Y 6 a 4 3 1 d c2 b 1234 5 6 abcdef X Y S T X-S Y-T

55 Graph Theory Ch. 3. Matchings and Factors 55 Theorem: Repeatedly applying the augmenting path algorithm to a bipartite graph produces a matching and a vertex cover of equal size. 3.2.2 Proof:  We need only verify that the Augmenting Path Algorithm produces an M-augmenting path or a vertex cover of size |M| –If the algorithm produces an M-augmenting path, we are finished. –Otherwise, it terminates by marking all vertices of S and claiming that R=T  (X-S) is a vertex cover of size |M|. We prove that R is a vertex cover and has size |M|. Continued in the next page

56 Graph Theory Ch. 3. Matchings and Factors 56 Theorem: Repeatedly applying the augmenting path algorithm to a bipartite graph produces a matching and a vertex cover of equal size. 3.2.2 Proof: (continue)  If the algorithm produces an M-augmenting path, we are finished.  Otherwise, it terminates by marking all vertices of S and claiming that R=T  (X-S) is a vertex cover of size |M|. –We must prove that R is a vertex cover and has size |M|. Continued in the next page

57 Graph Theory Ch. 3. Matchings and Factors 57 Theorem 3.2.2 Continue  To show that R=T  (X-S) is a vertex cover, it suffices to show that there is no edge joining S to Y-T S X-S T Y-T If no edges between S and Y-T, then T  (X-S) is a vertex cover Enter S through M edges All neighbors of S vertices are included in T. If a Y vertex has connection with S vertex, it is in T. U

58 Graph Theory Ch. 3. Matchings and Factors 58 Theorem 3.2.2 Continue  An M-alternating path from U enters X only on an edge of M.  Hence every vertex x of S-U is matched via M to a vertex of T, and there is no edge of M from S to Y-T. S X-S T Y-T If no edges between S and Y-T, then T  (X-S) is a vertex cover Enter S through M edges All neighbors of S vertices are included in T. If a Y vertex has connection with S vertex, it is in T. U

59 Graph Theory Ch. 3. Matchings and Factors 59 Theorem 3.2.2 Continue  Also there is no such edge outside M. When the path reaches x  S, it can continue along any edge not in M, and exploring x puts all other neighbors of x into T.  Since the algorithm marks all of S before terminating, all edges from S go to T.

60 Graph Theory Ch. 3. Matchings and Factors 60 Weighted Bipartite Matching  Seek a matching of maximum total weight.  It is assumed that the given graph is K n,n. –If the given graph is not a complete bipartite graph, insert edges with zero weight. Workers Jobs wkwk

61 Graph Theory Ch. 3. Matchings and Factors 61 Examples of Weighted bipartite matching and its dual 3.2.5  A farming company owns n farms and n processing plants. –Each farm can produce corn to the capacity of one plant. –The profit that results from sending the output of farm i to plant j is w i,j. –Placing weight w i,j on edge x i y j gives us a weighted bipartite graph with partite sets X={x 1,…,x n } and Y={y 1,…,y n }. –The company wants to select edges forming a matching to maximize total profit.

62 Graph Theory Ch. 3. Matchings and Factors 62 Examples of Weighted bipartite matching and its dual  The government claims that too much corn is being produced, so it will pay the company not to process corn. –How to pay? –Pay minimum amount!

63 Graph Theory Ch. 3. Matchings and Factors 63 Examples of Weighted bipartite matching and its dual  Payment regulation –The government will pay u i if the company agrees not to use farm i and v j if it agrees not to use plant j – If u i +v j <w i,j, then the company makes more by using the edge x i y j than by taking the government payments for those vertices. – In order to stop all production, the government must offer amounts such that u i +v j  w i,j for all i, j. The governments wants to find such values to minimize  u i +  v j.

64 Graph Theory Ch. 3. Matchings and Factors 64 Traversal of an n-by-n matrix  A transversal of an n-by-n matrix consists of n positions, one in each row and each column.  Finding a transversal with maximum sum is the Assignment Problem.

65 Graph Theory Ch. 3. Matchings and Factors 65 Assignment Problem  This is the matrix formulation of the maximum weighted matching problem, where nonnegative weight w i,j is assigned to edge x i y j of K n,n and  We seek a perfect matching M to maximize the total weight w(M). 4 1 6 3 2

66 Graph Theory Ch. 3. Matchings and Factors 66 Minimum weighted Cover  With these weights, a (weighted) cover is a choice of labels ui,…,un and vj,…,vn such that ui+vj  wi,j for all i, j. The cost c(u, v) for a cover (u, v) is  ui+  vj.  The minimum weighted cover problem is that of finding a cover of minimum cost. 6786867868 0 0 0 0 0 A cover, but not minimum

67 Graph Theory Ch. 3. Matchings and Factors 67 Lemma: For a perfect matching M and cover(u, v) in a weighted bipartite graph G, also c(u, v) =w(M) if and only if M consists of edges x i y i such that u i +v j = w i,j. In this case, M and (u,v) are optimal. 3.2.7 Cover

68 Graph Theory Ch. 3. Matchings and Factors 68 Lemma : For a perfect matching M and cover(u, v) in a weighted bipartite graph G, also c(u, v) =w(M) if and only if M consists of edges x i y i such that u i +v j = w i,j. In this case, M and (u,v) are optimal. 3.2.7 Proof:  Since M saturates each vertex, summing the constraints u i +v j  w i,j that arise from its edges yields c(u, v)=w(M), then equality must hold in each of the n inequalities summed.  Finally, since c(u, v)  w(M) for every matching and every cover, c(u, v)=w(M) implies that there is no matching with weight greater than c(u, v) and no cover with cost less than w(M).

69 Graph Theory Ch. 3. Matchings and Factors 69 Equality subgraph 3.2.8  The equality subgraph G u,v for a cover (u, v) is the spanning subgraph of K n,n having the edges x i y j such that u i +v j =w i,j. 6786867868 0 0 0 0 0 X Y X Y

70 Graph Theory Ch. 3. Matchings and Factors 70 Equality Subgraph 3.2.8  If G u,v has a perfect matching, then its weight is  u i +  v j, and by Lemma 3.2.7 we have the optimal solution.

71 Graph Theory Ch. 3. Matchings and Factors 71 Equality Subgraph Continue  Otherwise, we find a matching M and a vertex cover Q of the same size in G u,v ( by using the Augmenting Path Algorithm). Let R= Q  X and T=Q  Y. Our matching of size |Q| consists of |R| edges from R to Y-T and |T| edges from T to X-R, as shown below. T R X-R Y-T

72 Graph Theory Ch. 3. Matchings and Factors 72 Equality Subgraph Continue  Enlarge the equality subgraph so that there is a larger matching in the new equality subgraph,  We change (u, v) to introduce an edge from X-R to Y-T while maintaining equality on all edges of M. R -- T X-R Y-T ++

73 Graph Theory Ch. 3. Matchings and Factors 73 Equality Subgraph Continue  A cover requires u i +v j  w i,j for all i, j; the difference u i +v j -w i,j is the excess for i, j.  Edges joining X-R and Y-T are not in G u,v and have positive excess. 6786867868 0 0 0 0 0 R T T 67 8 6 8 00 0 0 0 R TT R ∪ T: Vertex Cover

74 Graph Theory Ch. 3. Matchings and Factors 74 Equality Subgraph Continue  Let  be the minimum excess on the edges from X-R to Y- T. Reduce u i by  for all x i  X-R  To maintain the cover condition for these edges while bringing at least one into the equality subgraph –Increase v j by  for y j  T –To maintain the cover condition for the edges from X-R to T 6786867868 0 0 0 0 0 R T T T R 20324 23023 03456 10472 34052 8 6 8 7 6 00000 Matrix of excess Min excess ε = 1

75 Graph Theory Ch. 3. Matchings and Factors 75 Equality Subgraph Continue 6786867868 0 0 0 0 0 R TT 5685756857 R TT 0 0 1 1 0 Equality subgraph is expanded

76 Graph Theory Ch. 3. Matchings and Factors 76 Equality Subgraph Continue  Repeat the procedure with the new equality subgraph; eventually we obtain a cover whose equality subgraph has a perfect matching.

77 Graph Theory Ch. 3. Matchings and Factors 77 Hungarian Algorithm 3.2.9 Input: A matrix of weights on the edges of K n,n with bipartition X,Y. Idea : Iteratively adjusting the cover (u, v) until the equality subgraph G u,v has a perfect matching. Initialization: Let (u, v) be a cover, such as u i =max j w i,j and v j =0.

78 Graph Theory Ch. 3. Matchings and Factors 78 Hungarian Algorithm Continue Iteration:  Find a maximum matching M in G u,v. –If M is a perfect matching, stop and report M as a maximum weight matching. –Otherwise, Let Q be a vertex cover of size |M| in G u,v. Let R=X  Q and T=Y  Q. Let  = min {u i +v j -w i,j : x i  X-R, y j  Y-T}. Decrease u i by  for x i  X-R, and increase v j by  for y j  T. –Form the new equality subgraph and repeat.

79 Graph Theory Ch. 3. Matchings and Factors 79 Solving the Assignment Problem 3.2.10  The first matrix below is the matrix of weights.  The others display a cover (u,v) and the corresponding excess matrix. T

80 Graph Theory Ch. 3. Matchings and Factors 80 Solving the Assignment Problem 3.2.10  We underscore entries in the excess matrix to mark a maximum matching M of G u,v, which appears as bold edges in the equality subgraphs drawn for the first two excess matrices. (Drawing the equality subgraphs is not necessary.) X Y TT R T

81 Graph Theory Ch. 3. Matchings and Factors 81 Solving the Assignment Problem 3.2.10  A matching in G u,v corresponds to a set of 0s in the excess matrix with no two in any row or column; call this a partial transversal. X Y TT R T

82 Graph Theory Ch. 3. Matchings and Factors 82 Solving the Assignment Problem  A set of rows and columns covering the 0s in the excess matrix is a covering set  This corresponds to a vertex cover in G u,v.  A covering set of size less than n yields progress toward a solution, since the next weighted cover costs less.

83 Graph Theory Ch. 3. Matchings and Factors 83 Solving the Assignment Problem  We study the 0s in the excess matrix and find a partial transversal and a covering set of the same size. –In a small matrix, we can do this by inspection.

84 Graph Theory Ch. 3. Matchings and Factors 84 Solving the Assignment Problem T X Y TT R T T T X Y TT T

85 Graph Theory Ch. 3. Matchings and Factors 85 Theorem: The hungarian Algorithm finds a maximum weight matching and a minimum cost cover. 3.2.11  The algorithm –Begins with a cover. –Terminates only when the equality subgraph has a perfect matching, which guarantees equal value for the current matching and cover.  Suppose that (u, v) is the current cover and that the equality subgraph has no perfect matching.  Let (u’, v’) denote the new lists of numbers assigned to the vertices. Because  is the minimum of a nonempty finite set of positive numbers,  >0.

86 Graph Theory Ch. 3. Matchings and Factors 86 Theorem 3.2.11 Continue  We verify first that (u’, v’) is a cover. –The change of labels on vertices of X-R and T yields u i ’+v j ’=u i +v j for edges x i y j from X-R to T or from R to Y-T. –If x i  R and y i  T, then u i ’+v j ’=u i +v j + , and the weight remains covered. –If x i  X-R and y j  Y-T, then u i ’+v j ’ equals u i +v j - , which by the choice of  is at least w i,j. T +  Y-T R -- X-R

87 Graph Theory Ch. 3. Matchings and Factors 87 Theorem 3.2.11 Continue  The algorithm terminates only when the equality subgraph has a perfect matching, so it suffices to show that it does terminate.  Suppose that the weights w i,j are rational. Multiplying the weights by their least common denominator yields an equivalent problem with integer weights.

88 Graph Theory Ch. 3. Matchings and Factors 88 Theorem 3.2.11 Continue  We can now assume that the labels in the current cover also are integers.  Thus each excess is also an integer, and at each iteration we reduce the cost of the cover by an integer amount.  Since the cost starts at some value and is bounded bellow by the weight of a perfect matching, after finitely many iterations we have equality.

89 Graph Theory Ch. 3. Matchings and Factors 89 Factor  A factor of graph G is a spanning subgraph of G. –A k-factor is a spanning k-regular subgraph. –An odd component of a graph is a component of odd order; the number of odd components of H is o(H).  A 1-factor and a perfect matching are almost the same thing. G 1-factor

90 Graph Theory Ch. 3. Matchings and Factors 90 Tutte’s 1-factor Theorem  Tutte found a necessary and sufficient condition for which graphs have 1-factors. –If G has a 1-factor and we consider a set S  V(G), then every odd component of G-S has a vertex matched to something outside it, which can only belong to S. –Since these vertices of S must be distinct, o(G- S)  |S|.  Tutte’s Condition: For all S  V(G), o(G-S)  |S|. –Tutte proved that this obvious necessary condition is also sufficient (TONCAS).

91 Graph Theory Ch. 3. Matchings and Factors 91 Theorem: A graph G has a 1-factor if and only if o(G-S)  |S| for every S  V(G) 3.3.3 G - U U  Example:

92 Graph Theory Ch. 3. Matchings and Factors 92 Join 3.3.6  The join of simple graphs G and H, written G  H, is the graph obtained from the disjoint union G+H by adding the edges {xy : x  V(G), y  V(H)}. P4 K3 P4  K3

93 Graph Theory Ch. 3. Matchings and Factors 93 Corollary: The largest number of vertices saturated by a matching in G is min s  v(G) {n(G)-d(S)}, where d(S) = o(G-S) - |S|. 3.3.7 Proof:  Given S  V(G), at most |S| edges can match vertices of S to vertices in odd components of G-S, so every matching have at least o(G-S)-|S| unsaturated vertices. We want to achieve this bound.  Let d=max{o(G-S)-|S|: S  V(G)}. The case S=  yields d  0. Let G’=G  K d. Since d(S) has the same parity as n(G) for each S, we know that n(G’) is even. If G’ satisfies Tutte’s Condition, then we obtain a matching of the desired size in G from a perfect matching in G’, because deleting the d added vertices eliminates edges that saturate at most d vertices of G.

94 Graph Theory Ch. 3. Matchings and Factors 94 Corollary 3.3.7 continue  The condition o(G’-S’)  |S’| holds for S’=  because n(G’) is even.  If S’ is nonempty but does not contain all of K d, then G’-S ’ has only one component, and 1<|S’|.  Finally, when K d  S’, we let S=S’-V(K d ). We have G’-S’=G-S, so o(G’-S’)=o(G-S)  |S|+d=|S’|.  We have verified that G’ satisfies Tutte’s Condition

95 Graph Theory Ch. 3. Matchings and Factors 95 Edmonds’ Blossom Algorithm  In bipartite graphs, we can search quickly for augmenting paths (Algorithm 3.2.1) because we explore from each vertex at most once.  An M-alternating path from u can reach a vertex x in the same partite set as u only along a saturated edge. Hence only once can we search and explore x. A B C D E F G H Augmenting path: A-F-B-G-C-H The path arrives at B and C along saturated edges FB and GC, respectively

96 Graph Theory Ch. 3. Matchings and Factors 96 Edmonds’ Blossom Algorithm  This property fails in graphs with odd cycles, because M-alternating paths from an unsaturated vertex may reach x both along saturated and along unsaturated edges.

97 Graph Theory Ch. 3. Matchings and Factors 97 Flower, Stem, Blossom  That M be a matching in a graph G, and let u be an M-unsaturated vertex. –A flower is the union of two M-alternating paths from u that reach a vertex x on steps of opposite parity (having not done so earlier). –The stem of the flower is the maximal common initial path (of nonnegative even length). –The blossom of the flower is the odd cycle obtained by deleting the stem.

98 Graph Theory Ch. 3. Matchings and Factors 98 Example of Flower, Stem, and Blossom Flower Blossom Stem

99 Graph Theory Ch. 3. Matchings and Factors 99 Example 3.3.16 a c u f g h e d b x a C g h u b d x Start point Blossom Contract Blossom {c, e, f} Find a new Blossom {u,a,b,C,d}

100 Graph Theory Ch. 3. Matchings and Factors 100 Example a c u f e d b x U g h x U x a C u b d x Contract Blossom {u,a,b,C,d} Augmenting Path in original graph New Augmenting Path!!! Expand Blossom C Expand Blossom U

101 Graph Theory Ch. 3. Matchings and Factors 101 Example 3.3.16 a c u f g h e d b x a c u f g h e d b x Original MatchingNew Matching

102 Graph Theory Ch. 3. Matchings and Factors 102 Edmonds’ Blossom Algorithm 3.3.17 Input:  A graph G, a matching M in G, an M-unsaturated vertex u.

103 Graph Theory Ch. 3. Matchings and Factors 103 Edmonds’ Blossom Algorithm 3.3.17 Idea:  Explore M-altenating paths from u, recording for each vertex the vertex from which it was reached  Contract blossoms when found –Maintain sets S and T analogous to those in Algorithm 3.2.1, with S consisting of u and the vertices reached along saturated edges.  Reach an unsaturated vertex yields an augmentation

104 Graph Theory Ch. 3. Matchings and Factors 104 Edmonds’ Blossom Algorithm 3.3.17 Initialization:  S={u} and T= 

105 Graph Theory Ch. 3. Matchings and Factors 105 Edmonds’ Blossom Algorithm 3.3.17 Iteration: step 1  If S has no unmarked vertex, stop –There is no M-augmenting path from u  Otherwise, select an unmarked v  S. To explore from v, successively consider each y  N(v) such that y  T.

106 Graph Theory Ch. 3. Matchings and Factors 106 Edmonds’ Blossom Algorithm 3.3.17 Iteration: step 2  If y is unsaturdated by M, then trace back from y ( expanding blossoms as needed) to report an M-augmrnting u,y-path.

107 Graph Theory Ch. 3. Matchings and Factors 107 Edmonds’ Blossom Algorithm 3.3.17 Iteration: step 3  If y  S, then a blossom has been found. –Suspend the exploration of v and contract the blossom, replacing its vertices in S and T by a single new vertex in S. –Continue the search from this vertex in the smaller graph. Otherwise, y is matched to some w by M. – Include y in T ( reached from v), and include w in S ( reached from y).

108 Graph Theory Ch. 3. Matchings and Factors 108 Edmonds’ Blossom Algorithm 3.3.17 Iteration: step 4  After exploring all such neighbors of v, mark v and iterate.


Download ppt "Graph Theory Ch. 3. Matchings and Factors 1 Chapter 3 Matchings and Factors Matchings and Covers Algorithms and Applications Matchings in General Graph."

Similar presentations


Ads by Google