Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

32
Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    0

Transcript of Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Page 1: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Matchings

• Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints

Page 2: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Maximal & Maximum Matchings• Maximal Matching: A maximal matching in a graph

is a matching that cannot enlarged by adding an edge• Maximum Matching: A maximum matching is a ma

tching of maximum size among all matchings in the graph

Maximal Matching Maximum Matching

Page 3: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Symmetric Difference ∆

• If M and M’ are matchings, then M ∆ M’=(M-M’)(M’-M).

M△M’

Page 4: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Lemma 3.19• Every component of the symmetric difference of

two matchings is a path or an even cycle.

1. Let F=M∆M’.

2. ∆(F)<=2 Every component is a path or cycle.

3. Every path or cycle alternates between M-M’ and M’-M. The cycle has even length.

M△M’

Page 5: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

M-saturated

• M-saturated Vertices: The vertices incident to the edges of a matching M

• M-unsaturated Vertices: The vertices which are not saturated by M

MM-saturated vertex

M-unsaturated vertex

Page 6: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

M-augmenting Path• M-alternating path: Given a matching M, and

an M-alternating path is a path that alternates between edges in M and edges not in M

• M-augmenting path: An M-alternating path whose endpoints are unsaturated by M

M

M-alternating path

M-augmenting path

Page 7: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Theorem 3.10• A matching M is a maximum matching in

G iff G has no M-augmenting path() Suppose G has an M-augmenting path. Then,

we can produce a matching larger than M.

M M’ |M’| > |M|

Page 8: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Theorem 3.10() Let M’ be a matching in G larger than M.

Then, we can construct an M-augmenting path.

1. Let F=M∆M’. F consists paths and even cycles.

2. F must have a path with more edges of M’ than of M.

3. Such a path is an M-augmenting path in G.M△M’

Page 9: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Independent Set

• Independent Set: a set of pairwise nonadjacent vertices in graph

A

B

C D

E

Page 10: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Bipartite Graph

• Bipartite Graph: A graph is bipartite if V is the union of two disjoint independent sets called partite sets of G

• X,Y-bigraph: A bipartite graph with partite sets X and Y

Y

X

Page 11: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

N(S)

• N(S): The set of vertices having a neighbor in S

x2

x3

y2

y3

Let S = {x1, x2}Then N(S) = {y1, y2, y3}

x1 y1

Page 12: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Hall’s Condition

• An X,Y-bigraph G has a matching that saturates X iff |N(S)|>=|S| for all SX.

() If |N(S)|<|S| for some S X, then no matching can saturate S.

B C D EA

S = {B, D, E}

X

Y

Page 13: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Hall’s Condition() 1. Let M is a maximum matching in G, we need to p

rove no node vX is M-unsaturated if |N(S)|>=|S| for all SX.

2. Suppose that node vX is M-unsaturated.3. Let X* and Y* be the sets of M-saturated vertices in

X and Y, respectively.4. v has at least one neighbor v* in Y.5. v* Y*. Otherwise, M’=M{vv*} is a matching larg

er than M.

vX

Y

X*

Y*v*

Page 14: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Hall’s Condition6. We can construct an M-augmenting path starting at v.

M is not a maximum matching. no node vX is M-unsaturated.

v

X

Y

X*

Y*

v1*

a1

a1* a1*

b1

b1* a2*

b2a2

v2*

Page 15: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Perfect Matching• A perfect matching in a graph is a matching

that saturates every vertex.

Page 16: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

The Marriage Theorem

• A X,Y-bigraph G with |X|=|Y| has a perfect matching iff |N(S)|>=|S| for all SX

X

Y

Page 17: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

k-regular Bipartite Graph• The maximum degree is denoted (G). The mini

mum degree is denotedδ(G). G is regular if (G) = δ(G).

• G is k-regular if (G) = δ(G) = k.

X

Y

Page 18: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Corollary 3.1.13

• For k>0, any k-regular bipartite graph has a perfect matching

1. k|X|=k|Y| |X|=|Y|.

2. Let m be the number of edges from S to N(S).

3. m=k|S| and m<=k|N(S)| |S|<= |N(S)|. S

X

Y

Page 19: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Vertex Cover

• Vertex Cover: A vertex cover of a graph G is a set QV(G) that contains at least one endpoint of every edge.

Page 20: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Theorem 3.1.16

• If G is a bipartite graph, then the maximum size of a matching in G equals to the minimum size of a vertex cover in G

1. |Q|>=|M|.

Page 21: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Theorem 3.1.16

2. Let Q be the smallest vertex cover of G.3. Let R=QX and T=Q Y. 4. Let H and H’ be sugraphs of G induced by R(Y-T)

and T (X-R), respectively.

R

T

S

NH(S)

H’ HX

Y

Page 22: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Theorem 3.1.16 (2/2)

5. Let SR. Let NH(S)=N(S)(Y-T).

6. |NH(S)|>=|S|. Otherwise, T (R-S) NH(S) is a vertex cover smaller than Q.

7. H has a matching that saturates R.

8. Similarly, H’ has a matching that saturates T.

R

T

S

NH(S)

H’ HX

Y

Page 23: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Dual Optimization Problem

• A maximization problem M and a minimization problem N, defined on the same instances, such that:

(1) for every candidate solution M to M and every candidate solution N to N, the value of M is less than or equal to the value of N.

(2) obtaining candidate solutions M and N that have the same value PROVES that M and N are optimal solutions for that instance.

Page 24: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Edge Cover

• Edge Cover: An edge cover of G is a set L of edges such that every vertex of G is incident to some edge of L

(G): maximum size of independent set’(G): maximum size of matching(G): minimum size of vertex cover’(G): minimum size of edge cover

Page 25: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Lemma 3.1.21

• In a graph G, SV(G) is an independent set iff V(G)-S is a vertex cover, and hence (G)+ (G)=n(G)

()1. No edge joins two nodes in S. Every edge has an endpoint in V(G)-S. V(G)-S is a vertex cover.

Page 26: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Lemma 3.1.21

() Every edge has an endpoint in V(G)-S. No edge joins two nodes in S. S is an independent set

Does Lemma 3.1.21 hold if G has isolated nodes?

Page 27: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Theorem 3.1.22

• If G is a graph without isolated vertices, then ’(G)+’(G)=n(G).

1. (1) Let M be a maximum matching M.

(2) We can construct an edge cover of size n(G)-|M| by adding to M one edge incident to each unsaturated vertex. ’(G)<=n(G)-’(G).

unsaturated

Page 28: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Theorem 3.1.22 (2/2)2. (1) Let L be a minimum edge cover.(2) Only one endpoint of eL belong to edges in L other

than e. (Otherwise, L-{e} is also an edge cover) each component of L is a star.

(3) Let k be the number of components in L. |L|=n(G)-k.

(4) We can form a matching M of size k=n(G)-|L|. ’(G)>=n(G)-’(G).

Why does Theorem 3.1.22 not hold if G has isolated nodes?

Page 29: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Corollary 3.1.24

• If G is a bipartite graph with no isolated vertices, then (G)=’(G).

1. ’(G)+’(G)=n(G) by Theorem 3.1.22.

2. (G)+(G)=n(G) by Lemma 3.1.21.

3. ’(G)=(G) by Theorem 3.1.16.

Page 30: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Dominating Set

• Dominating Set: In a graph G, a set SV(G) is a dominating set if every vertex not in S has a neighbor in S.

• Dominating Number (G): the minimum size of a dominating set in G.

Page 31: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Theorem • For any graph G, (G)<=(G).

1. Let I be a maximum independent set.

2. For all vV(G)-I, v must be adjacent to some vertex in I. Otherwise, I{v} is an independent set larger than I.I is a dominating set of G.(G)<=(G).

A

B

C D

E

Page 32: Matchings Matching: A matching in a graph G is a set of non-loop edges with no shared endpoints.

Homework

• 3.1.19, 3.1.29, 3.1.39, 3.1.49, 3.1.65– Due 10/9, 2006