CSDN 有字數限制,因此筆記分別發布,目前:
- 【筆記1】概念與計算、樹及其算法
- 【筆記2】容量網絡模型、遍歷性及其算法
- 【筆記3】獨立集及其算法
6 獨立集及其算法
6.1 獨立集和覆蓋
6.1.1 獨立數和覆蓋數
獨立集:設 S ? V ( G ) S \subseteq V(G) S?V(G),若 S S S 中任意兩個頂點在 G G G 中都不相鄰,即 G [ S ] G[S] G[S] 是空圖,則稱頂點子集 S S S 是 G G G 的一個頂點獨立集,簡稱獨立集。
團:若 S S S 中任何兩個相異頂點都相鄰,則稱 S S S 為團。含有 k k k 個頂點的獨立集,稱為 k k k 獨立集。含有 k k k 個頂點的團稱為 k k k 團。
極大獨立集:設 S S S 是圖 G G G 的獨立集,但是任意增加一個頂點不再是獨立集,則稱 S S S 為極大獨立集。
最大獨立集: G G G 中頂點數最多的獨立集,稱為 G G G 的最大獨立集,數量大小記作 α ( G ) \alpha(G) α(G)。
覆蓋: G G G 的頂點集的一個子集,包含 G G G 的每一條邊的至少一個頂點。若 K K K 是圖 G G G 的覆蓋,但對任何 v ∈ K v \in K v∈K,都不是覆蓋,則稱 K K K 為極小覆蓋。
最小覆蓋:頂點數最少的覆蓋稱為最小覆蓋,頂點數記作 β ( G ) \beta(G) β(G)。
6.1.2 性質
定理:設 S ? V ( G ) S \subset V(G) S?V(G) 為頂點子集,則 S S S 是 G G G 的獨立集的充要條件是 S  ̄ \overline{S} S 為 G G G 的覆蓋。
證明:設 S S S 是 G G G 的獨立集,則 G G G 的任何一條邊都至少有一個端點是 S  ̄ \overline{S} S 中的頂點,故 S  ̄ \overline{S} S 是 G G G 的覆蓋。
設 S  ̄ \overline{S} S 是 G G G 的覆蓋,則 G G G 的任何一條邊都至少有一個端點屬于 S  ̄ \overline{S} S,從而 G G G 的任何一條邊都不可能兩個端點都在 S S S中,亦即 S S S 中任何兩個頂點都不想林,故 S S S 是 G G G 的獨立集。
定理:對于任何圖 G G G,有 α ( G ) + β ( G ) = v ( G ) \alpha(G)+\beta(G)=v(G) α(G)+β(G)=v(G)。
證明:設 S S S 是 G G G 的一個最大獨立集, K K K 是 G G G 的最小覆蓋, V ( G ) V(G) V(G) \ K K K 是 G G G 的獨立集, V ( G ) V(G) V(G) \ S S S 是 G G G 的覆蓋。因此, v ( G ) ? β ( G ) ≤ ∣ V ( G ) v(G)-\beta(G) \leq |V(G) v(G)?β(G)≤∣V(G) \ K ∣ ≤ α ( G ) K| \leq \alpha(G) K∣≤α(G), v ( G ) ? α ( G ) ≤ ∣ V ( G ) v(G)-\alpha(G) \leq |V(G) v(G)?α(G)≤∣V(G) \ S ∣ ≤ β ( G ) S| \leq \beta(G) S∣≤β(G),移項得證。
6.1.3 極大獨立集的計算
設 G = ( V , E ) G=(V,E) G=(V,E) 是簡單圖,且 V = { v 1 , v 2 , . . . , v n } V=\{v_1,v_2,...,v_n\} V={v1?,v2?,...,vn?},約定 (1) G G G 的每個頂點 v i v_i vi? 當作一個布爾變量;(2)布爾積 v i v j v_iv_j vi?vj? 表示包含 v i , v j v_i,v_j vi?,vj?,相應于交運算 v i ∩ v j v_i \cap v_j vi?∩vj?;(3) 布爾和 v i + v j v_i+v_j vi?+vj? 表示包含 v i v_i vi? 或 v j v_j vj?,相應于并運算 v i ∪ v j v_i \cup v_j vi?∪vj?。
計算 ?  ̄ \overline{\phi} ??,等于若干個 右邊兩點的補的并,例如 ?  ̄ = ( v 1  ̄ + v 2  ̄ ) ( v 1  ̄ + v 3  ̄ ) ( v 1  ̄ + v 4  ̄ ) ( v 3  ̄ + v 4  ̄ ) ( v 3  ̄ + v 6  ̄ ) ( v 4  ̄ + v 5  ̄ ) ( v 5  ̄ + v 6  ̄ ) = v 2  ̄ v 3  ̄ v 4  ̄ v 6  ̄ + v 2  ̄ v 3  ̄ v 4  ̄ v 5  ̄ + v 1  ̄ v 3  ̄ v 4  ̄ v 6  ̄ + v 1  ̄ v 3  ̄ v 5  ̄ + v 1  ̄ v 2  ̄ v 4  ̄ v 6  ̄ \overline{\phi} = (\overline{v_1} + \overline{v_2})(\overline{v_1} + \overline{v_3})(\overline{v_1} + \overline{v_4})(\overline{v_3} + \overline{v_4})(\overline{v_3} + \overline{v_6})(\overline{v_4} + \overline{v_5})(\overline{v_5} + \overline{v_6}) = \overline{v_2}\overline{v_3}\overline{v_4}\overline{v_6} + \overline{v_2}\overline{v_3}\overline{v_4}\overline{v_5} + \overline{v_1}\overline{v_3}\overline{v_4}\overline{v_6} + \overline{v_1}\overline{v_3}\overline{v_5} + \overline{v_1}\overline{v_2}\overline{v_4}\overline{v_6} ??=(v1??+v2??)(v1??+v3??)(v1??+v4??)(v3??+v4??)(v3??+v6??)(v4??+v5??)(v5??+v6??)=v2??v3??v4??v6??+v2??v3??v4??v5??+v1??v3??v4??v6??+v1??v3??v5??+v1??v2??v4??v6??,因此所有極大獨立集為 { v 1 , v 5 } , { v 1 , v 6 } , { v 2 , v 5 } , { v 2 , v 4 , v 6 } , { v 3 , v 5 } \{v_1,v_5\},\{v_1,v_6\},\{v_2,v_5\},\{v_2,v_4,v_6\},\{v_3,v_5\} {v1?,v5?},{v1?,v6?},{v2?,v5?},{v2?,v4?,v6?},{v3?,v5?},最大獨立集為 { v 2 , v 4 , v 6 } \{v_2,v_4,v_6\} {v2?,v4?,v6?}, α ( G ) = 3 \alpha(G)=3 α(G)=3。
6.1.4 獨立集與連通度的關系
定理:設 G G G 是 n ( n ≥ 2 ) n(n \geq 2) n(n≥2) 階簡單圖,且對 G G G 中任何不相鄰的相異頂點 x , y x,y x,y,均有 d ( x ) + d ( y ) ≥ n d(x)+d(y) \geq n d(x)+d(y)≥n,則 α ( G ) ≤ K ( G ) \alpha(G) \leq K(G) α(G)≤K(G)。
證明:完全圖下,結論顯然成立。
(反證法)若 α ( G ) ≥ K ( G ) + 1 \alpha(G) \geq K(G) + 1 α(G)≥K(G)+1,設 S , T S,T S,T 分別是 G G G 中最大獨立集和最小頂點割,則有 ∣ S ∣ = α ( G ) = α ≥ 2 |S| = \alpha(G) = \alpha \geq 2 ∣S∣=α(G)=α≥2, ∣ T ∣ = K ( G ) = k |T| = K(G) = k ∣T∣=K(G)=k。設 G 1 , G 2 , . . . , G l G_1,G_2,...,G_l G1?,G2?,...,Gl? 是 G ? T G-T G?T 的連通分支, l ≥ 2 l \geq 2 l≥2,則由 S S S 是獨立集知 ∣ N G ( x ) ∪ N G ( y ) ≤ n ? α , ? x , y ∈ S |N_G(x) \cup N_G(y) \leq n - \alpha, \forall x,y \in S ∣NG?(x)∪NG?(y)≤n?α,?x,y∈S。于是 ? x , y ∈ S \forall x,y \in S ?x,y∈S,有 ∣ N G ( x ) ∪ N G ( y ) ∣ = ∣ N G ( x ) ∣ + ∣ N G ( y ) ∣ ? ∣ N G ( x ) ∪ N G ( y ) ∣ = d G ( x ) + d G ( y ) ? ∣ N G ( x ) ∪ N G ( y ) ∣ ≥ n ? ( n ? α ) = α ≥ k + 1 > ∣ T ∣ |N_G(x) \cup N_G(y)| = |N_G(x)| + |N_G(y)| - |N_G(x) \cup N_G(y)| = d_G(x) + d_G(y) - |N_G(x) \cup N_G(y)| \geq n-(n-\alpha)=\alpha \geq k + 1 > |T| ∣NG?(x)∪NG?(y)∣=∣NG?(x)∣+∣NG?(y)∣?∣NG?(x)∪NG?(y)∣=dG?(x)+dG?(y)?∣NG?(x)∪NG?(y)∣≥n?(n?α)=α≥k+1>∣T∣。
注意到,與屬于 G ? T G-T G?T 的不同連通分支的兩個頂點同時相鄰的頂點只能屬于 T T T,故上式表明,在 G ? T G-T G?T 中,恰有一個連通分支含 S S S 中頂點。不妨設 S ? V ( G 1 ) ∪ T , x ∈ V ( G 1 ) ∩ S S \subseteq V(G_1) \cup T, x \in V(G_1) \cap S S?V(G1?)∪T,x∈V(G1?)∩S,令 y ∈ V ( G 2 ) y \in V(G_2) y∈V(G2?),則 ∣ N G ( x ) ∪ N G ( y ) ∣ ≤ n ? ∣ S ? V ( G 1 ) ? 1 ∣ = n ? α + ∣ S ∩ T ∣ ? 1 |N_G(x) \cup N_G(y)| \leq n - |S-V(G_1)-1| = n - \alpha + |S \cap T| -1 ∣NG?(x)∪NG?(y)∣≤n?∣S?V(G1?)?1∣=n?α+∣S∩T∣?1。又因為 N G ( x ) ∩ N G ( y ) ? T N_G(x) \cap N_G(y) \subseteq T NG?(x)∩NG?(y)?T \ S S S,.所以 ∣ N G ( x ) ∩ N G ( y ) ≤ k ? ∣ S ∩ T ∣ |N_G(x) \cap N_G(y) \leq k - |S \cap T| ∣NG?(x)∩NG?(y)≤k?∣S∩T∣。綜合兩個式子,得 d G ( x ) + d G ( y ) = ∣ N G ( x ) ∪ N G ( y ) ∣ + ∣ N G ( x ) ∩ N G ( y ) ∣ ≤ ( n ? α + ∣ S ∩ T ∣ ? 1 ) + ( k ? ∣ S ∩ T ∣ ) = n ? α + k ? 1 ≤ n ? 2 d_G(x)+d_G(y) = |N_G(x) \cup N_G(y)| + |N_G(x) \cap N_G(y)| \leq (n-\alpha+|S \cap T| -1) + (k - |S \cap T|) = n - \alpha + k - 1 \leq n - 2 dG?(x)+dG?(y)=∣NG?(x)∪NG?(y)∣+∣NG?(x)∩NG?(y)∣≤(n?α+∣S∩T∣?1)+(k?∣S∩T∣)=n?α+k?1≤n?2 與已知矛盾,所以 α ( G ) ≤ K ( G ) \alpha(G) \leq K(G) α(G)≤K(G)。
6.2 Ramsey數
6.2.1 Ramsey數
Ramsey數:給定正整數 k , l k,l k,l,若存在一個正整數 n n n,使得任何 n n n 階簡單圖或者含有 k k k 團,或者含有 l l l 獨立集,則記之為 n → ( k , l ) n \rightarrow (k,l) n→(k,l),并稱使 n → ( k , l ) n \rightarrow (k,l) n→(k,l) 成立的最小正整數 n n n 為 R a m s e y Ramsey Ramsey 數,記作 r ( k , l ) r(k,l) r(k,l)。
由 R a m s e y Ramsey Ramsey 數的定義,容易得到如下結論:
- n ′ ≥ n n' \geq n n′≥n,且 n → ( k , l ) n \rightarrow (k,l) n→(k,l),則 n ′ → ( k , l ) n' \rightarrow (k,l) n′→(k,l)
- 若 r ( k , l ) r(k,l) r(k,l) 存在,則 r ( l , k ) r(l,k) r(l,k) 也存在,且 r ( k , l ) = r ( l , k ) r(k,l)=r(l,k) r(k,l)=r(l,k)
- r ( 1 , l ) = r ( l , 1 ) = 1 r(1,l)=r(l,1)=1 r(1,l)=r(l,1)=1
- r ( 2 , l ) = r ( l , 2 ) = l r(2,l)=r(l,2)=l r(2,l)=r(l,2)=l
定理:對于任何正整數 k , l k,l k,l,有 ( k , l ) (k,l) (k,l) 存在。
證明:對 k , l k,l k,l 使用雙重歸納法。已知對任何正整數 k , l k,l k,l, r ( k , 1 ) = r ( 1 , l ) = 1 r(k,1)=r(1,l)=1 r(k,1)=r(1,l)=1,下設 k ≥ 2 , l ≥ 2 k \geq 2,l \geq 2 k≥2,l≥2。假設 r ( k ? 1 , l ) , r ( k , l ? 1 ) r(k-1,l),r(k,l-1) r(k?1,l),r(k,l?1) 都存在,往證 r ( k ? 1 , l ) + r ( k , l ? 1 ) → ( k , l ) r(k-1,l)+r(k,l-1) \rightarrow (k,l) r(k?1,l)+r(k,l?1)→(k,l)。設 G G G 是任意一個 r ( k ? 1 , l ) + r ( k , l ? 1 ) r(k-1,l)+r(k,l-1) r(k?1,l)+r(k,l?1) 階簡單圖,設 v ∈ V ( G ) v \in V(G) v∈V(G),因為 d G ( v ) + d G  ̄ ( v ) = r ( k ? 1 , l ) + r ( k , l ? 1 ) ? 1 d_G(v)+d_{\overline{G}}(v) = r(k-1,l)+r(k,l-1)-1 dG?(v)+dG?(v)=r(k?1,l)+r(k,l?1)?1,所以下列兩種情況必有一種出現:(1) d G ( v ) ≥ r ( k ? 1 , l ) d_G(v) \geq r(k-1,l) dG?(v)≥r(k?1,l),(2) d G  ̄ ( v ) ≥ r ( k , l ? 1 ) d_{\overline{G}}(v) \geq r(k,l-1) dG?(v)≥r(k,l?1)。若(1)出現,記 N G ( v ) = S N_G(v)=S NG?(v)=S,則 ∣ S ∣ ≥ r ( k ? 1. l ) |S| \geq r(k-1.l) ∣S∣≥r(k?1.l),從而 G [ S ] G[S] G[S] 中或者含有 k ? 1 k-1 k?1 團,或者含有 l l l 獨立集,于是 G [ S ∪ { v } ] G[S \cup \{v\}] G[S∪{v}] 中或者含有 k k k 團,或者含有 l l l 獨立集。若(2)出現,注意到 r ( k , l ? 1 ) = r ( l ? 1 , k ) r(k,l-1)=r(l-1,k) r(k,l?1)=r(l?1,k),通過類似推理,也能得到上述推論,綜上得證,從而 r ( k , l ) r(k,l) r(k,l) 存在。
6.2.2 Ramsey數的上界
定理:對任何正整數 k ≥ 2 , l ≥ 2 k \geq 2, l \geq 2 k≥2,l≥2,有 r ( k , l ) ≤ r ( k ? 1 , l ) + r ( k , l ? 1 ) r(k,l) \leq r(k-1,l) + r(k,l-1) r(k,l)≤r(k?1,l)+r(k,l?1),并且若 r ( k ? 1. l ) r(k-1.l) r(k?1.l), r ( k , l ? 1 ) r(k,l-1) r(k,l?1) 都是偶數,則有 r ( k , l ) ≤ r ( k ? 1 , l ) + r ( k , l ? 1 ) ? 1 r(k,l) \leq r(k-1,l) + r(k,l-1) - 1 r(k,l)≤r(k?1,l)+r(k,l?1)?1。
證明…
定理:對于任何正整數 k , l k,l k,l,都有 r ( k , l ) ≤ C k + l ? 2 k ? 1 r(k,l) \leq C_{k+l-2}^{k-1} r(k,l)≤Ck+l?2k?1?。
證明:對 k + l k+l k+l 用數學歸納法,利用 r ( 1 , l ) = r ( k , 1 ) = 1 r(1,l) = r(k,1) = 1 r(1,l)=r(k,1)=1 及 r ( 2 , l ) = l , r ( k , 2 ) = k r(2,l)=l,r(k,2)=k r(2,l)=l,r(k,2)=k 知, k + l ≤ 5 k+l \leq 5 k+l≤5 時,結論成立。設 m , n m,n m,n 為正整數,假設結論滿足 5 ≤ k + l < m + n 5 \leq k+l < m+n 5≤k+l<m+n 的一切正整數 k , l k,l k,l 都成立,于是有 r ( m , n ) ≤ r ( m , n ? 1 ) + r ( m ? 1 , n ) ≤ C m + n ? 3 m ? 1 + C m + n ? 3 m ? 2 = C m + n ? 2 m ? 1 r(m,n) \leq r(m,n-1) + r(m-1,n) \leq C_{m+n-3}^{m-1} + C_{m+n-3}^{m-2}=C_{m+n-2}^{m-1} r(m,n)≤r(m,n?1)+r(m?1,n)≤Cm+n?3m?1?+Cm+n?3m?2?=Cm+n?2m?1?,由歸納原理,結論對一切正整數 k , l k,l k,l 成立。
6.2.3 Ramsey數的下界
定理:對于任何正整數 k k k,有 r ( k , k ) > k ? 2 k 2 ? 2 r(k,k) > k · 2^{\frac{k}{2}-2} r(k,k)>k?22k??2。
證明:…
推論:對任何正整數 k , l k,l k,l,記 m = m i n { k , l } m=min\{k,l\} m=min{k,l},則 r ( k , l ) > m ? 2 m 2 ? 2 r(k,l) > m·2^{\frac{m}{2}-2} r(k,l)>m?22m??2
6.2.4 Turan定理
k k k 部圖:若圖 G G G 的頂點集 V V V 可以劃分成 V = V 1 ∪ V 2 ∪ . . . ∪ V k V=V_1 \cup V_2 \cup ... \cup V_k V=V1?∪V2?∪...∪Vk?,這里 V i ∩ V j = ? V_i \cap V_j = \emptyset Vi?∩Vj?=?,且 V i V_i Vi? 中任何兩個頂點在 G G G 中都不相鄰,則稱 G G G 是 k k k 部圖,且 V i V_i Vi? 中任一頂點與 V j V_j Vj? 任一頂點之間恰有一條邊相連 ( 1 ≤ i < j ≤ k 1 \leq i < j \leq k 1≤i<j≤k),則稱 G G G 是完全 k k k 部圖。
定理:若簡單圖 G G G 不包含 K k + 1 K_{k+1} Kk+1?,則存在一個以 V = V ( G ) V=V(G) V=V(G) 為頂點集的完全 k k k 部圖 H H H,使得 d G ( x ) ≤ d H ( x ) ( ? x ∈ V ) d_G(x) \leq d_H(x)(\forall x \in V) dG?(x)≤dH?(x)(?x∈V),而且若 d G ( x ) = d H ( x ) ( ? x ∈ V ) d_G(x)=d_H(x) (\forall x \in V) dG?(x)=dH?(x)(?x∈V),則 G G G ≌ H H H。
證明:…
Turan圖:設 v v v 是 n n n 階完全 k k k 部圖,若每一個 V i V_i Vi? 取值都在 v k \frac{v}{k} kv? 的下界與上界范圍內,則把 G G G 記作 T v , k T_{v,k} Tv,k?,即 T v , k T_{v,k} Tv,k? 中任何兩個 V i , V j V_i,V_j Vi?,Vj? 的頂點數最多相差 1 1 1。
引理:設 G G G 是 v v v 階完全 k k k 部圖,則 ε ( G ) ≤ ε ( T v , k ) \varepsilon(G) \leq \varepsilon(T_{v,k}) ε(G)≤ε(Tv,k?),并且若 ε ( G ) = ε ( T v , k ) \varepsilon(G)=\varepsilon(T_{v,k}) ε(G)=ε(Tv,k?),則 G G G ≌ T v , k T_{v,k} Tv,k?。
證明:…
定理: e x ( v , K k + 1 ) = ε ( T v , k ) ex(v,K_{k+1}) = \varepsilon(T_{v,k}) ex(v,Kk+1?)=ε(Tv,k?)