《图论与网络优化》学习笔记(第6-8章)
上课时间:2023年10月——2024年1月
上课地点:国防科技大学
授课老师:戴丽
教材:戴丽.《图论与网络优化》
注:部分笔记根据自己的理解进行改动,可能不是很严谨,但便于理解。
第六章 独立集及其算法
6.1 独立集和覆盖
独立集:设
S
⊆
V
(
G
)
S\subseteq V(G)
S⊆V(G) ,若
S
S
S 中任意两个顶点在
G
G
G 中都不相邻,则称顶点子集
S
S
S 是
G
G
G 的一个顶点独立集,简称独立集。含有
k
k
k 个顶点的独立集称为
k
k
k独立集。
团:设
S
⊆
V
(
G
)
S\subseteq V(G)
S⊆V(G) ,若
S
S
S 中任何两个相异顶点都相邻,则
S
S
S 称为团,含有
k
k
k 个顶点的团成为
k
k
k团。
极大独立集:设
S
S
S 是图
G
G
G 的独立集,但是任意增加一个顶点就不再是独立集,则称
S
S
S 为极大独立集。
最大独立集:
G
G
G 中顶点数最多的独立集,称为是
G
G
G 的最大独立集。最大独立集中所包含的顶点数称为
G
G
G 的独立数,记作
α
(
G
)
\alpha(G)
α(G) 。
覆盖:图
G
G
G 的覆盖是指
G
G
G 的顶点集的一个子集,它包含
G
G
G 的每一条边的至少一个端点。若顶点
u
u
u 是边
e
e
e 的端点,则称顶点
u
u
u 覆盖边
e
e
e 。
极小覆盖:若
K
K
K 是
G
G
G 的覆盖,但对于任何
v
∈
K
v\in K
v∈K ,都不是覆盖,则称
K
K
K 为极小覆盖。
最小覆盖:顶点数最少的覆盖成为最小覆盖。
G
G
G 的最小覆盖的顶点数称为
G
G
G 的覆盖数,记作
β
(
G
)
\beta(G)
β(G) 。
定理1 设 S ⊂ V ( G ) S\subset V(G) S⊂V(G) 为顶点子集,集合 S S S 是 G G G 的独立集的充要条件是 S ˉ \bar{S} Sˉ 为 G G G 的覆盖。
定理2 对于任何图 G G G ,有 α ( G ) + β ( G ) = ν ( G ) \alpha(G)+\beta(G)=\nu(G) α(G)+β(G)=ν(G) 。
算法:极大独立集的计算
定理3 独立集与连通度的关系
设 G G G 是 ν ( ν ≥ 2 ) \nu(\nu\ge2) ν(ν≥2) 阶简单图,且对 G G G 中任何不相邻的相异顶点 x x x 和 y y y ,均有 d ( x ) + d ( y ) ≥ ν d(x)+d(y)\ge\nu d(x)+d(y)≥ν ,则 α ( G ) ≤ κ ( G ) \alpha(G)\le\kappa(G) α(G)≤κ(G) 。(独立数小于连通度)
6.2 Ramsey数
Ramsey数:给定正整数 k k k 和 l l 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 为Ramsey数,记作 r ( k , l ) r(k,l) r(k,l) 。
定理1(Ramsey) 对于任何正整数 k k k 和 l l l ,有 r ( k , l ) r(k,l) r(k,l) 都存在。
定理2 Ramsey数的上界 对于任何正整数 k ≥ 2 k\ge2 k≥2 和 l ≥ 2 l\ge2 l≥2 ,有 r ( k , l ) ≤ r ( k − 1 , l ) + r ( k , l − 1 ) r(k,l)\le 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)\le r(k-1,l)+r(k,l-1)-1 r(k,l)≤r(k−1,l)+r(k,l−1)−1
定理3 Ramsey数的上界 对于任何正整数 k k k 和 l l l ,都有 r ( k , l ) ≤ ( k + l − 2 k − 1 ) r(k,l)\le \begin{pmatrix} k+l-2 \\ k-1 \end{pmatrix} r(k,l)≤(k+l−2k−1)
定理4 Ramsey数的下界 对于任何正整数 k k k ,有 r ( k , k ) > k ⋅ 2 k 2 − 2 r(k,k)>k\cdot 2^{\frac{k}{2}-2} r(k,k)>k⋅22k−2
推论1 对任何正整数 k k k 和 l l 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\cdot2^{\frac{m}{2}-2} r(k,l)>m⋅22m−2
**目前已知的Ramsey数:
k
k
k部图:若图
G
G
G 的顶点集
V
V
V 可以划分成
V
=
V
i
∪
V
2
∪
.
.
.
∪
V
k
V=V_i\cup V_2\cup...\cup V_k
V=Vi∪V2∪...∪Vk ,这里
V
i
∩
V
j
=
∅
(
1
≤
i
≤
j
≤
k
)
V_i\cap V_j=\varnothing(1\le i\le j\le k)
Vi∩Vj=∅(1≤i≤j≤k) ,且
V
i
V_i
Vi 中任何两个顶点在
G
G
G 中都不相邻,则称
G
G
G 是
k
k
k部图。
完全
k
k
k部图:在
k
k
k 部图中,若
V
i
≠
∅
(
1
≤
i
≤
k
)
V_i\neq\varnothing(1\le i\le k)
Vi=∅(1≤i≤k) ,且
V
i
V_i
Vi 中任一顶点与
V
j
V_j
Vj 中任一顶点之间恰有一条边相连
(
1
≤
i
≤
j
≤
k
)
(1\le i\le j\le k)
(1≤i≤j≤k) ,则称
G
G
G 是完全
k
k
k部图。
定理5 若简单图 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)\le 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 ≅ H G\cong H G≅H 。
Turan图:设 G G G 是 ν \nu ν 阶完全 k k k 部图,若 ⌊ ν k ⌋ ≤ ∣ V i ∣ ≤ ⌈ ν k ⌉ ( 1 ≤ i ≤ k ) \lfloor\frac{\nu}{k}\rfloor\le|V_i|\le\lceil\frac{\nu}{k}\rceil(1\le i\le k) ⌊kν⌋≤∣Vi∣≤⌈kν⌉(1≤i≤k) ,则把 G G G 记作 T ν , k T_{\nu,k} Tν,k ,即 T ν , k T_{\nu,k} Tν,k 中任何两个 V i V_i Vi, V j V_j Vj 的顶点数最多相差1.
引理1 设 G G G 是 ν \nu ν 阶完全 k k k 部图,则 ϵ ( G ) ≤ ϵ ( T ν , k ) \epsilon(G)\le\epsilon(T_{\nu,k}) ϵ(G)≤ϵ(Tν,k) 。并且若 ϵ ( G ) = ϵ ( T ν , k ) \epsilon(G)=\epsilon(T_{\nu,k}) ϵ(G)=ϵ(Tν,k) ,则 G ≅ T ν , k G\cong T_{\nu,k} G≅Tν,k 。
定理6 Turan定理 e x ( ν , K K + 1 ) = ϵ ( T ν , k ) ex(\nu,K_{K+1})=\epsilon(T_{\nu,k}) ex(ν,KK+1)=ϵ(Tν,k) ,并且 T ν , k T_{\nu,k} Tν,k 是不含 K K + 1 K_{K+1} KK+1 且边数等于 e x ( ν , K K + 1 ) ex(\nu,K_{K+1}) ex(ν,KK+1) 的唯一的简单图(在同构意义下)。
6.3 顶点着色
色数的相关概念:
着色:设
G
G
G 是无环图,若把
G
G
G 的每个顶点都染上颜色,使任何一对相邻顶点的颜色都不相同,则称这种染色方法为正常顶点着色,简称为
G
G
G 的着色。
k
k
k着色:若某一着色中所使用的着色种类不超过
k
k
k k,则称这个着色为
k
k
k着色。
k
k
k可着色:若图
G
G
G 有
k
k
k 着色,则称
G
G
G 是
k
k
k 可着色的。
色数:使得
G
G
G 是
k
k
k 可着色的
k
k
k 的最小值称为
G
G
G 的色数,记作
χ
(
G
)
\chi(G)
χ(G) 。
k
k
k色图:若
G
G
G ,则称
G
G
G 是
k
k
k色图。特别地,图
G
G
G 是1色图当且仅当
G
G
G 是空图;
n
n
n 阶完全图是
n
n
n 色图。
关于着色的几个结论:
1)对于着色只讨论简单图的着色问题,对于有环或有重边的图无意义。
2)着色问题等价于把顶点集 V ( G ) V(G) V(G) 划分成多个独立集的问题。
3) n n n 阶简单图一定存在 k ( k ≥ n ) k(k\ge n) k(k≥n) 着色。
4) n n n 阶简单图 G G G 有 1 着色当且仅当 G G G 是 n n n 阶空图。
定理1 色数的上界
设简单图 G G G 的顶点排序 v 1 , v 2 , . . . , v ν v_1,v_2,...,v_\nu v1,v2,...,vν 满足:每个 v j v_j vj 最多与排在它前面的 v 1 , v 2 , . . . , v j − 1 v_1,v_2,...,v_{j-1} v1,v2,...,vj−1 中 k k k 个顶点相邻, 2 ≤ j ≤ ν 2\le j\le \nu 2≤j≤ν ,则有 χ ( G ) ≤ k + 1 \chi(G)\le k+1 χ(G)≤k+1 。
推论1 对任意简单图 G G G 均有 χ ( G ) ≤ Δ ( G ) + 1 \chi(G)\le\Delta(G)+1 χ(G)≤Δ(G)+1 。(其中 Δ \Delta Δ 表示图 G G G 中顶点的最大度)
推论2 对于设 G G G 是简单图,则 χ ( G ) ≤ m a x ( δ ( H ) ) + 1 \chi(G)\le max(\delta(H))+1 χ(G)≤max(δ(H))+1 ,其中 H H H 是取遍 G G G 的所有顶点导出的子图。
推论3 设 G G G 是简单连通图,且不是正则图,则有 χ ( G ) ≤ Δ ( G ) \chi(G)\le\Delta(G) χ(G)≤Δ(G) 。
推论4 设 G G G 是连通的正则简单图,且含有1顶点割,则 χ ( G ) ≤ Δ ( G ) \chi(G)\le\Delta(G) χ(G)≤Δ(G) 。
推论5 设 G G G 是连通的 k ( k ≥ 3 ) k(k\ge3) k(k≥3) 正则简单图,不是完全图,且 G G G 有2顶点割,则 χ ( G ) ≤ Δ ( G ) \chi(G)\le\Delta(G) χ(G)≤Δ(G) 。
Brooks定理 设 G G G 是连通简单图,且既不是奇圈,也不是完全图,则 χ ( G ) ≤ Δ ( G ) \chi(G)\le\Delta(G) χ(G)≤Δ(G) 。
色多项式:设
G
G
G 是顶点标号图,用
k
k
k 种颜色对
G
G
G 的顶点进行着色,用
π
(
G
,
k
)
\pi(G,k)
π(G,k) 表示图
G
G
G 的所有不同的
k
k
k 着色数目,这里
π
(
G
,
k
)
\pi(G,k)
π(G,k) 是关于颜色数目
k
k
k 的多项式函数,称
π
(
G
,
k
)
\pi(G,k)
π(G,k) 为简单图
G
G
G 的色多项式。
易知:
(1)
G
G
G 是
k
k
k 可着色的当且仅当
π
(
G
,
k
)
>
0
\pi(G,k)>0
π(G,k)>0 。
(2)对于空图
K
ν
‾
\overline{K_{\nu}}
Kν ,
π
(
K
ν
‾
,
k
)
=
k
ν
\pi(\overline{K_{\nu}},k)=k^{\nu}
π(Kν,k)=kν 。
(3)对于完全图
K
ν
K_\nu
Kν ,
π
(
K
ν
,
k
)
=
k
(
k
−
1
)
.
.
.
(
k
−
ν
+
1
)
\pi(K_\nu,k)=k(k-1)...(k-\nu+1)
π(Kν,k)=k(k−1)...(k−ν+1) 。
定理2 递推法计算色多项式(减少边 / 添加边)
对于简单图 G G G 的任意一条边 e e e ,有 π ( G , k ) = π ( G − e , k ) − π ( G ⋅ e , k ) \pi(G,k)=\pi(G-e,k)-\pi(G\cdot e,k) π(G,k)=π(G−e,k)−π(G⋅e,k) ,或 π ( G , k ) = π ( G + e , k ) + π ( ( G + e ) ⋅ e , k ) \pi(G,k)=\pi(G+e,k)+\pi((G+e)\cdot e,k) π(G,k)=π(G+e,k)+π((G+e)⋅e,k) 。
定理3 色多项式的公式定义
设简单图 G G G 有 ν \nu ν 个顶点, ϵ \epsilon ϵ 条边和 ω \omega ω 个联通分支,则 π ( G , k ) = a 0 k ν − a 1 k ν − 1 + . . . + ( − 1 ) ν − ω a ν − ω k ω \pi(G,k)=a_0k^\nu-a_1k^{\nu-1}+...+(-1)^{\nu-\omega}a_{\nu-\omega}k^\omega π(G,k)=a0kν−a1kν−1+...+(−1)ν−ωaν−ωkω ,其中 a 0 = 1 , a 1 = ϵ , a i > 0 ( 2 ≤ i ≤ ν − ω ) a_0=1,a_1=\epsilon,a_i>0 (2\le i\le\nu-\omega) a0=1,a1=ϵ,ai>0(2≤i≤ν−ω) 。
注:根据公式可直接判断图 G G G 的:边数 ϵ = a 1 \epsilon=a_1 ϵ=a1 、顶点数 ν = k 的最高次幂 \nu=k的最高次幂 ν=k的最高次幂 、连通分支个数 ω = k 的最低次幂 \omega=k的最低次幂 ω=k的最低次幂 。
定理4 树的色多项式
简单图 G G G 是树,当且仅当 π ( G , k ) = k ( k − 1 ) ν − 1 \pi(G,k)=k(k-1)^{\nu-1} π(G,k)=k(k−1)ν−1 。
定理5 二部图的色多项式
简单图 G G G 是连通二部图,当且仅当 π ( G , k ) \pi(G,k) π(G,k) 中的 a ν − 1 a_{\nu-1} aν−1 为奇数。
6.4 支配集
支配集:设简单图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E) ,
S
⊆
V
S\subseteq V
S⊆V ,
S
≠
∅
S\neq\varnothing
S=∅ ,若
∀
v
∈
S
‾
\forall v\in \overline{S}
∀v∈S ,都存在
S
S
S 中的顶点与
v
v
v 相邻,则称
S
S
S 是图
G
G
G 的支配集。
极小支配集:若
S
S
S 是图
G
G
G 的支配集且
S
S
S 的任何真子集都不再是支配集,则
S
S
S 为极小支配集。
最小支配集:图
G
G
G 中顶点个数最少的支配集为最小支配集。
支配数:最小支配集中所包含的顶点个数,称为
G
G
G 的支配数,记作
γ
(
G
)
\gamma(G)
γ(G) 。
独立支配集:设
S
S
S 是
G
G
G 的支配集,若
S
S
S 是独立集,则称
S
S
S 为独立支配集。
关于独立集和支配集的结论:
(1) S S S 是 G G G 的独立支配集当且仅当 S S S 是 G G G 的极大独立集。
(2)若 S S S 是 G G G 的极大独立集,则 S S S 也是 G G G 的极小支配集。
定理1 支配集的性质
设 S S S 为简单图 G G G 的支配集,则 S S S 为极小支配集当且仅当 S S S 中的每个顶点 v v v 满足下列性质之一:
(1)存在 u ∈ S ‾ u\in\overline{S} u∈S ,使 N ( u ) ∩ S = { v } N(u)\cap S=\{v\} N(u)∩S={v} ;
(2) S ∩ N ( v ) = ∅ S\cap N(v)=\varnothing S∩N(v)=∅ 。
定理2 设 G G G 是没有孤立顶点的简单图, S S S 是 G G G 的极小支配集, 则 S ‾ \overline{S} S 也是 G G G 的支配集。
定理3 设 G G G 是没有孤立顶点的 ν \nu ν 阶简单图,则 γ ( G ) ≤ v 2 \gamma(G)\le\frac{v}{2} γ(G)≤2v 。
极小支配集的计算
约定: ϕ i \phi_i ϕi 表示 V i V_i Vi 及其邻域
6.5 边独立集和边覆盖
边独立集:两两不相邻的边的集合,称为边独立集,又称匹配。
最大边独立集:边数最多的边独立集称为最大边独立集。最大边独立集中的边数称为边独立数,记作
α
′
(
G
)
\alpha'(G)
α′(G)。
边覆盖:设
L
L
L 是图
G
G
G 的边集
E
(
G
)
E(G)
E(G) 的一个子集,若
L
L
L 中的每个顶点都是
G
G
G 中某条边的端点,则称
L
L
L 是
G
G
G 的边覆盖。
最小边覆盖:边数最少的边覆盖,称为最小边覆盖。最小边覆盖中的边数称为边覆盖数,记作
β
′
(
G
)
\beta'(G)
β′(G)。
注意:边独立集的补集不一定是边覆盖
定理1 若简单图 G G G 中没有孤立顶点,即 δ ( G ) > 0 \delta(G)>0 δ(G)>0 ,则 α ′ + β ′ = ν \alpha'+\beta'=\nu α′+β′=ν。
完美匹配:若边集 M M M 既是边独立集(匹配),又是边覆盖,则称 M M M 为完美匹配。
6.6 边着色
边着色:设
G
G
G 为无环图,如果把
G
G
G 的每条边都染上颜色,使得相邻的边的颜色不同,则称这种染法为正常边着色,简称为边着色。
k边着色:如果某一边着色中所有的颜色数目不超过
k
k
k ,则称该边着色为
k
k
k边着色。
k
k
k边可着色:如果图
G
G
G 存在
k
k
k边着色,则称
G
G
G 是
k
k
k 边可着色的。
边色数:在
G
G
G 的所有边着色中,所需最少颜色数目称为
G
G
G 的边色数,记作
χ
′
(
G
)
\chi'(G)
χ′(G) 。若
χ
′
(
G
)
=
k
\chi'(G)=k
χ′(G)=k ,则称
G
G
G 为
k
k
k边色的。
定理1 Vizing定理
设简单图 G G G 的最大度 Δ \Delta Δ ,则有 Δ ≤ χ ′ ( G ) ≤ Δ + 1 \Delta\le\chi'(G)\le\Delta+1 Δ≤χ′(G)≤Δ+1 。
定理2 二部图的边着色
设 G G G 是二部图,则 χ ′ ( G ) = Δ ( G ) \chi'(G)=\Delta(G) χ′(G)=Δ(G) 。
定理3 完全图的边着色
偶数阶的完全图 K 2 n K_{2n} K2n 是第一类图 χ ′ ( G ) = Δ ( G ) \chi'(G)=\Delta(G) χ′(G)=Δ(G) ,奇数阶的完全图 K 2 n + 1 K_{2n+1} K2n+1 是第二类图 χ ′ ( G ) = Δ ( G ) + 1 \chi'(G)=\Delta(G)+1 χ′(G)=Δ(G)+1 。
第七章 最大匹配
7.1 二部图的最大匹配
M饱和顶点:设
M
M
M 是图
G
G
G 的一个匹配,
v
v
v 是
G
G
G 的一个顶点,若
v
v
v 与
M
M
M 中边关联,则称
v
v
v 是
M
M
M 饱和顶点,或称
M
M
M 饱和
v
v
v 。
配对:若
G
G
G 中两个顶点
u
u
u 和
v
v
v 与
M
M
M 中同一条边关联,则称
u
u
u 和
v
v
v 在匹配
M
M
M 中配对。
最大匹配:最大边独立集又称为最大匹配。
完美匹配:若
G
G
G 中存在边数为
ν
2
\frac{\nu}{2}
2ν 的匹配
M
M
M ,即
M
M
M 中每个顶点都是
M
M
M 饱和顶点,则称
M
M
M 为
G
G
G 的完美匹配。
规律 匹配 M M M 是图 G G G 的完美匹配,当且仅当 M M M 是 G G G 的边覆盖。
M交错链:设
M
M
M 是图
G
G
G 的一个匹配,
G
G
G 中一条
M
M
M交错链是指其边交替地属于
M
‾
\overline{M}
M (即
E
(
G
)
\
M
E(G) \backslash M
E(G)\M )和
M
M
M 的一条链。
M增广链:两个端点都是
M
M
M 非饱和点的
M
M
M 交错链。
定理1 图 G G G 中匹配 M M M 是最大匹配当且仅当 G G G 中不存在 M M M 增广链。
定理2 Hall定理
设 G = ( X , Y , E ) G=(X,Y,E) G=(X,Y,E) 是二部图,则 G G G 中存在饱和 X X X 的每个顶点的匹配,当且仅当 ∣ N ( S ) ∣ ≥ ∣ S ∣ , ∀ S ⊆ X |N(S)|\ge|S|,\forall S \subseteq X ∣N(S)∣≥∣S∣,∀S⊆X 。
推论1
设 G G G 是 k k k正则二部图, k > 0 k>0 k>0 ,则 G G G 有完美匹配。
定理3
二部图 G G G 的最大匹配的边数等于最小覆盖的顶点数,即 α ′ ( G ) = β ( G ) \alpha'(G)=\beta(G) α′(G)=β(G) 。
推论2
设 G G G 是无孤立点的二部图,则 G G G 的独立数等于边覆盖数,即 α ( G ) = β ′ ( G ) \alpha(G)=\beta'(G) α(G)=β′(G) 。
定理4
设 K , M K,M K,M 分别为图 G G G 的覆盖和边独立集,若 ∣ K ∣ = ∣ M ∣ |K|=|M| ∣K∣=∣M∣ ,则 K , M K,M K,M 分别是图 G G G 的最小覆盖和最大边独立集。
求二部图的最大匹配:匈牙利算法(增广链的标号法)
基本思想:对于一直的匹配 M M M ,从 X X X 中的任意选定的 M M M 非饱和点出发,用标号的方法寻找 M M M 增广链,如果找到 M M M 增广链,则 M M M 就可以得到增广;否则,从 X X X 的另一个 M M M 非饱和顶点出发,继续寻找 M M M 增广链。重复这个过程,直到 G G G 中不存在 M M M 增广链时,算法结束。
Tutte定理
定义有奇数个顶点的连通分支为奇分支。则图 G G G 有完美匹配,当且仅当 o ( G − S ) ≤ ∣ S ∣ o(G-S)\le |S| o(G−S)≤∣S∣ ( ∀ S ⊂ V ( G ) ) (\forall S\subset V(G)) (∀S⊂V(G)) 。其中 o ( G ) o(G) o(G) 为奇分支个数, S S S 可以是空集。
推论1 每个 k − 1 k-1 k−1 边连通的偶阶 k k k 正则图 G G G 都有完美匹配
7.2 最优匹配
最优匹配:设 M M M 为图 G G G 的最大匹配,若 M M M 中所有边权和达最大,则称 M M M 为最优匹配。
问题描述:
相关定义:
可行顶标:设完全二部图 K n , n = ( X , Y , E ) K_{n,n}=(X,Y,E) Kn,n=(X,Y,E) , X = { x 1 , x 2 , . . . , x n } X=\{x_1,x_2,...,x_n\} X={x1,x2,...,xn} , Y = { y 1 , y 2 , . . . , y n } Y=\{y_1,y_2,...,y_n\} Y={y1,y2,...,yn} , ω i j \omega_{ij} ωij 是边 x i y j x_iy_j xiyj 上的权。若映射 l : V ( K n , n , → R l:V(K_{n,n,}\rightarrow R l:V(Kn,n,→R ,满足 l ( x i ) + l ( y j ) ≥ ω i j ( ∀ i , j ∈ { 1 , 2 , . . . , n } ) l(x_i)+l(y_j)\ge\omega_{ij}(\forall i,j\in\{1,2,...,n\}) l(xi)+l(yj)≥ωij(∀i,j∈{1,2,...,n}) ,则称 l l l 为 K n , n K_{n,n} Kn,n 的可行顶标,称 l ( v ) l(v) l(v) 为顶点 v v v 的标号。
l l l 等子图:若 E l = { x i y j ∣ l ( x i ) + l ( y j ) = ω i j } E_l=\{x_iy_j|l(x_i)+l(y_j)=\omega_{ij}\} El={xiyj∣l(xi)+l(yj)=ωij} ,则称以 G G G 为边集的 E l E_l El 的支撑子图为 K n , n K_{n,n} Kn,n 等子图。
定理1 设 l l l 是 K n , n K_{n,n} Kn,n 的可行顶标,若 l l l 等子图有完美匹配 M M M ,则 M M M 是 K n , n K_{n,n} Kn,n 的最优匹配。
最优匹配搜索算法 Kuhn-Munkres算法(KM算法):
Step1 给出 K n , n K_{n,n} Kn,n 的一个可行顶标,如平凡顶标;
Step2 找出 l l l 等子图 K [ E l ] K[E_l] K[El] ,在 K [ E l ] K[E_l] K[El] 中执行匈牙利算法;
Step3 若在 K [ E l ] K[E_l] K[El] 中找到完美匹配,这个完美匹配就是最优匹配,算法结束。否则修改可行顶标,修改方案为:设匈牙利算法终止于 S ⊂ X , T ⊂ Y S\subset X,T\subset Y S⊂X,T⊂Y ,令 a l = m i n { l ( x i ) + l ( y i ) − ω i j ∣ x i ∈ S , y j ∈ Y \ T } a_l=min\{l(x_i)+l(y_i)-\omega_{ij}|x_i\in S,y_j\in Y\backslash T\} al=min{l(xi)+l(yi)−ωij∣xi∈S,yj∈Y\T} ,则定义新可行顶标 l ′ l' l′ 为 l ′ ( u ) = { l ( u ) − a l u ∈ S l ( u ) + a l u ∈ T l ( u ) e l s e l'(u)=\begin{cases} l(u)-a_l & u\in S \\ l(u)+a_l & u\in T \\ l(u) & else \end{cases} l′(u)=⎩ ⎨ ⎧l(u)−all(u)+all(u)u∈Su∈Telse 以 l ′ l' l′ 代替 l l l ,转Step2,继续寻找新的 l l l 等子图。
第八章 平面图及其算法
8.1 平面图
平面图:如果一个图能画在平面上,使得它的边仅仅只能在端点处相交,则称这个图可嵌入平面,或称它为平面图。
平面嵌入:将平面图
G
G
G 画在平面上这样一种画法称为
G
G
G 的一个平面嵌入。
平图:已经嵌入平面内的图称为平图。
面:平图
G
G
G 的每个区域连同它的边界构成
G
G
G 的一个面,记作
f
f
f 。每个平图恰有一个面是无界的,这个面称为外部面,其他的面称为内部面。平图
G
G
G 的所有面的集合记作
F
(
G
)
F(G)
F(G) ,平面数记作
Φ
(
G
)
\Phi(G)
Φ(G) 。
面的边界:由点和边交替组成,是两个面之间的边界,记作
b
(
f
)
b(f)
b(f) 。若
G
G
G 连通,则
b
(
f
)
b(f)
b(f) 为一条闭途径,若
b
(
f
)
b(f)
b(f) 不含割边和环,则
b
(
f
)
b(f)
b(f) 是
G
G
G 的圈。
面
f
f
f 的度:面
f
f
f 的边界
b
(
f
)
b(f)
b(f) 所含的边数称为面
f
f
f 的度,记作
d
G
(
f
)
d_G(f)
dG(f) 。
面相邻、关联:若平面图
G
G
G 中的两个不同的面的边界有公共边
e
e
e ,则称这两个面是相邻的,且这两个面同时与边
e
e
e 关联。
对偶图:给定一个平图 G G G ,定义另一个图 G ∗ G^* G∗ : G G G 的每个面 f f f 对应 G ∗ G^* G∗ 的一个顶点 f ∗ f^* f∗ , G G G 的每条边对应 G ∗ G^* G∗ 的一条边 e ∗ e^* e∗ 。这样得到的图 G ∗ G^* G∗ 称为 G G G 的对偶图。
平面图 G G G 与它的对偶 G ∗ G^* G∗ 有下列性质:
(1) ν ( G ∗ ) = Φ ( G ) , ϵ ( G ∗ ) = ϵ ( G ) \nu(G^*)=\Phi(G),\epsilon(G^*)=\epsilon(G) ν(G∗)=Φ(G),ϵ(G∗)=ϵ(G)
(2) ∀ f ∈ F ( G ) , d G ∗ ( f ∗ ) = d G ( f ) \forall f\in F(G),d_{G^*}(f^*)=d_G(f) ∀f∈F(G),dG∗(f∗)=dG(f)
(3)平图 G G G 中所有面的度数和为 2 ϵ ( G ) 2\epsilon(G) 2ϵ(G) 。
定理1
对于任何平面图 G G G 都有 ∑ f ∈ F ( G ) d G ( f ) = 2 ϵ ( G ) \sum_{f\in F(G)}d_G(f)=2\epsilon(G) ∑f∈F(G)dG(f)=2ϵ(G) 。
推论1
任何平图中度为奇数的面的个数为偶数。
定理2 Euler公式:描述顶点数、边数、面数三者的关系
设 G G G 是连通平面图,则 ν ( G ) − ϵ ( G ) + Φ ( G ) = 2 \nu(G)-\epsilon(G)+\Phi(G)=2 ν(G)−ϵ(G)+Φ(G)=2 。
推论2
设平面图 G G G 有 ω \omega ω 个连通分支,则 ν ( G ) − ϵ ( G ) + Φ ( G ) = ω + 1 \nu(G)-\epsilon(G)+\Phi(G)=\omega+1 ν(G)−ϵ(G)+Φ(G)=ω+1 。
欧拉公式的应用:
(1)已知一个简单凸多面体的各个顶点都关联3条棱,求 2 Φ − ν 2\Phi-\nu 2Φ−ν 。(2)用Euler公式证明:只有五个正多面体。
8.2 Kuratowski定理
围长:图 G G G 中最短圈的长称为 G G G 的围长,记作 g g g 。
定理1 平面图的必要条件
设平面图 G G G 的围长为 g g g , g ≥ 3 g\ge3 g≥3 ,则 ϵ ≤ g g − 2 ( ν − 2 ) \epsilon\le\frac{g}{g-2}(\nu-2) ϵ≤g−2g(ν−2) 。
推论1
设 G G G 是简单平面, ν ≥ 3 \nu\ge3 ν≥3 ,则 ϵ ≤ 3 ν − 6 \epsilon\le 3\nu-6 ϵ≤3ν−6 。
推论2
设 G G G 是简单平面图,则 δ ≤ 5 \delta\le 5 δ≤5 。(其中 δ \delta δ 为最小度)
推论3
K 5 K_5 K5 和 K 3 , 3 K_{3,3} K3,3 都不是平面图。
极大平面图:设 G G G 是简单平面图,若对于 G G G 中任何不相邻的相异顶点 u u u 和 v v v , G + u v G+uv G+uv 不是平面图,则称 G G G 为极大平面图。极大平面图的平面嵌入称为极大平图。
定理2 极大平面图的充要条件
G G G 是 ν ≥ 3 \nu\ge3 ν≥3 的极大平面图,当且仅当 G G G 的任何平面嵌入中每个面的边界都是3圈。
推论4
设 G G G 是 ν ≥ 3 \nu\ge3 ν≥3 的简单平面图,则 G G G 是极大平面图,当且仅当 ϵ = 3 ν − 6 \epsilon=3\nu-6 ϵ=3ν−6 。
外平面图:如果
G
G
G 有一个平面嵌入
G
~
\tilde{G}
G~ ,使得
G
G
G 的所有顶点都在外部面的边界上,则称
G
G
G 为外平面图。
极大外平面图:设
G
G
G 是简单外平面图,若对于
G
G
G 中任何不相邻的相异顶点
u
u
u 和
v
v
v ,
G
+
u
v
G+uv
G+uv 不是外平面图,则称
G
G
G 为极大外平面图。
定理3 外平面图的必要条件
G G G 是 ν ≥ 3 \nu\ge3 ν≥3 的极大外平面图,当且仅当 G G G 的外部面的边界是Hamilton圈,且每个内部面的边界是3圈。
定理4
设 G G G 是 ν ≥ 3 \nu\ge3 ν≥3 的极大外平面图,则 G G G 有 ν − 2 \nu-2 ν−2 个内部面。
推论5 三条结论
(1)若 G G G 为极大外平面图, ν ≥ 3 \nu\ge3 ν≥3 ,则 ϵ = 2 ν − 3 \epsilon=2\nu-3 ϵ=2ν−3 。
(2)若 G G G 为简单外平面图, ν ≥ 3 \nu\ge3 ν≥3 ,则 ϵ ≤ 2 ν − 3 \epsilon\le2\nu-3 ϵ≤2ν−3 。
(3)设 G G G 是 ν ≥ 3 \nu\ge3 ν≥3 的简单外平面图,则 G G G 是极大外平面图,当且仅当 ϵ = 2 ν − 3 \epsilon=2\nu-3 ϵ=2ν−3 。
剖分图:把图 G G G 进行一系列边的剖分得到的图称为 G G G 的剖分图。
引理1
若 G G G 是(外)平面图,则 G G G 的任何剖分图也都是(外)平面图。
引理2
若 G G G 是(外)平面图,则 G G G 的任何子图也是(外)平面图。
H分支:
引理3
设 B B B 与 B ′ B' B′ 是重叠的两个 C C C 分枝,则他们或者是3等价的或者是偏斜的。
引理4
若 G G G 不是平面图,则 H 1 H_1 H1 和 H 2 H_2 H2 中至少有一个不是平面图。
引理5
设 G G G 不是平面图,且不含 K 5 K_5 K5 或 K 3 , 3 K_{3,3} K3,3 的剖分图,并且有尽可能少的边数,则 G G G 是3连通简单图。
定理1 Kuratowski定理(平面图的充要条件)
一个图是平面图,当且仅当它 不含有 K 5 K_5 K5 和 K 3 , 3 K_{3,3} K3,3 的剖分图。
定理2
图 G G G 是外平面图,当且仅当 G G G 不含 K 5 K_5 K5 或 K 2 , 3 K_{2,3} K2,3 的剖分图。
面着色问题:
面着色:对于一个平图
G
G
G ,如果能够把每个面染以给定的
k
k
k 种不同颜色中的一种,使得任意相邻的两个面的颜色不同,则称这种染法为正常的
k
k
k 面着色,简称为
k
k
k 面着色,称
G
G
G 是
k
k
k 面可着色的。
面色数:使得
G
G
G 是
k
k
k 面可着色的最小
k
k
k 值称为
G
G
G 的面色数,记作
χ
∗
(
G
)
\chi^*(G)
χ∗(G) 。
定理3 五色定理
每个简单平面图都是5可着色的。
8.3 平面性检测算法
容许的:设 H H H 是平面图 G G G 的一个子图, H ~ \tilde{H} H~ 是 H H H 的平图。若存在 G G G 的平图 G ~ \tilde{G} G~ 使 H ~ ⊆ G ~ \tilde{H}\subseteq\tilde{G} H~⊆G~ ,则称 H ~ \tilde{H} H~ 是 G G G 容许的。
面 f f f 内可画出:设 B B B 是 G G G 的 H H H 分枝, f f f 是平图 H ~ \tilde{H} H~ 的面,若 B B B 的所有接触点 V G ( B , H ) V_G(B,H) VG(B,H) 都在面 f f f 的边界上,则称 B B B 在面 f f f 内可画出。能使 B B B 可画出的 H ~ \tilde{H} H~ 的面的集合记作 F G ( B , H ~ ) F_G(B,\tilde{H}) FG(B,H~) 。
DMP算法思想:从 G G G 的一个可平面子图 H H H 出发,先将 H H H 嵌入平面,然后再边不交的添加 H H H 分枝中的边,这样逐步建立越来越大的 G G G 的可平面子图,最后扩张成 G G G 的平面嵌入。
DMP算法:
(1)预处理:
a)若 G G G 不连通,则分别检测每一个连通分支是否为平面图。
b)若 G G G 有割点,则分别检测由割点切分的每一块是否为平面图。
c)删去 G G G 中的环。
d)将 G G G 中度为2的顶点删去,用一条边代替。(剖分运算不影响图的平面性)
e)删去 G G G 中的重边。
(2)对预处理后的简单图进行简单判断:
a)若 ν < 5 \nu<5 ν<5 ,则 G G G 是平面图;
b)若 ϵ < 9 \epsilon<9 ϵ<9 ,则 G G G 是平面图;
c)若无圈,则 G G G 是平面图;
d)若 ϵ > 3 ν − 6 \epsilon>3\nu-6 ϵ>3ν−6 ,则 G G G 不是平面图;
e)若 δ ( G ) > 5 \delta(G)>5 δ(G)>5 ,则 G G G 不是平面图;
f)若以上条件都不满足,则执行DMP算法。
(3)算法执行:
(4)例题:
定理1 DMP算法的正确性
如果图 G G G 是可平面图,则DMP算法必产生 G G G 的一个平面嵌入。