Chapter 10 Independence, Dominance, and Matchings Graph Theory Chapter 10 Independence, Dominance, and Matchings 大葉大學 資訊工程系 黃鈴玲 2010.12
Contents 10.1 Independence of Vertices 10.2 Domination of Vertices 10.3 Matchings in Graphs
10.1 Independence of Vertices Definition 9.18 Definition 10.1
Note 10.3
For a graph G, the independence number a(G) satisfies . Example 10.4 (Frequency Assignment Problem) 9個可用的頻道(u1~u9),會互相干擾的連一條邊,最多可同時使用幾個頻道? u3 u5 u4 u2 G u1 u6 u7 u9 u8 5個 Observation 10.6 For a graph G, the independence number a(G) satisfies .
10.2 Domination of Vertices Definition 10.11
For a graph G, the domination number g (G) a (G). Example 10.13 (城鎮安排police station位置) 城鎮(u1~u9),交通方便,police station能管理到的的連一條邊,最少需幾個 police station? u3 u5 u4 u2 G u1 u6 u7 u9 u8 3個 Observation 10.16 For a graph G, the domination number g (G) a (G).
10.3 Matchings in a Graph Example 1.3 (Job Assignment Problem) Job J1~J5, Applicants A1~A7, Job與Applicant連邊表示申請者通過該職位的 申請測驗,試找出最佳之配對。 Jobs: qualified Applicants:
Example 10.24 (Weighted Job Assignment Problem) Job J1~J5, Applicants A1~A7, Job與Applicant連邊表示申請者通過測驗及 適合該職位的程度(權重數字越高越好),試找出權重總和最高之配對。
Definition 10.26 not a matching perfect matching
a b M = { ab, cd, ef } is a maximum matching M’ = { bc, de } is maximal, not maximum. c d e f Maximum (所有matching中最多edge的) Maximal (此matching不可再加邊成為更大的matching)
Remark 10.28 Definition 10.30
An M-augmenting path P of G : P中的邊將M的與M的性質交換,M中的邊數會加一 Theorem 10.32
補充: Maximum Matchings in Bipartite Graphs Algorithm (Maximum Matching Algorithm for Bipartite graphs) [To determine a maximum matching in a bipartite graph G with V(G)={v1, v2, …, vp} and an initial matching M1.] 1. i 1, M M1 2. If i < p, then continue; otherwise, stop, M is a maximum matching now. 3. If vi is matched, then i i +1 and return to Step 2; otherwise, v vi and Q is initialized to contain v only. 4. 4.1 For j = 1, 2, …, p and j i, let Tree(vj)=F. (表示vj不在alternating tree中) Also, Tree(vi)=T.
4.2 If Q= , then i i +1 and return to step 2; otherwise, delete a vertex x from Q and continue. 4.3 4.3.1 Suppose that N(x)={y1, y2, …, yk}. Let j 1. 4.3.2 If j k, then y yj; otherwise, return to Step 4.2. 4.3.3 If Tree(y)=T, then j j + 1 and return to Step 4.3.2; otherwise, continue. 4.3.4 If y is incident with a matched edge yz, then Tree(y)T, Tree(z)T, Parent(y)x, Parent(z)y and add z to Q, j j + 1, and return to Step 4.3.2. Otherwise, y is a single vertex (找到了!) and we continue. 4.3.5 Use array Parent to determine the alternating v-x path P’ in the tree. Let P P’U{xy} be the augmenting path. 5. Augment M along P to obtain a new matching M’. Let M M’, i i +1 , and return to step 2.
Q : Example x1 y1 x2 y2 x3 y3 x4 y4 x2 y5 y2 x3 x5 y6 x5 x6 y6 x4 y3 i=1, x1 is matched. x1 y1 i=2, v=x2 x2 y2 Q : x2 x3 x5 x4 x1 x6 x3 y3 x4 y4 x2 y5 y2 x3 x5 y6 x5 x6 y6 紅色邊:Initial matching M x4 y3 x1 y4 x6 y5 y1 M-augmenting path
Example (Fig 6.6) x1 y1 i=3, x3 is matched. x2 y2 i=4, x4 is matched. … y5 x5 i=12, y6 is matched. x6 y6 New matching M’ M’ = { x2y6, x5y4, x1y1, x4y3, x3y2, x6y5 } is maximum.
Homework Let G be the given bipartite graph. The edges of a matching M are shown in bold. Beginning with M and using the Maximum Matching Algorithm for Bipartite graphs to find a maximum matching for G. v1 v2 v3 v4 v5 v6 v13 v12 v11 v10 v9 v8 v7