优快云 有字数限制,因此笔记分别发布,目前:
4 最大流及其算法
4.1 容量网络模型
4.1.1 容量网络
容量网络:如果一个加权有向网络 D D D 满足如下三个条件:①存在唯一一个入度为 0 0 0 的顶点,称为源;②存在唯一一个出度为 0 0 0 的顶点,称为汇;③每条弧 ( v i , v j ) (v_i,v_j) (vi,vj) 赋权 c i j c_{ij} cij 是一个非负数,称为弧 ( v i , v j ) (v_i,v_j) (vi,vj) 的容量,则把这个加权有向网络 D D D 称为容量网络。
4.1.2 流
流:设
D
D
D 是一个容量网络,令
c
i
j
c_{ij}
cij 表示弧
(
v
i
,
v
j
)
(v_i,v_j)
(vi,vj) 的容量。设
f
f
f 是定义在
D
D
D 的弧集上的一个函数,它赋予每条弧
(
v
i
,
v
j
)
(v_i,v_j)
(vi,vj) 一个非负实数
f
i
j
f_{ij}
fij,若
f
f
f 满足:①
f
i
j
≤
c
i
j
f_{ij} \leq c_{ij}
fij≤cij;②
∀
v
j
∈
V
(
D
)
\forall v_j \in V(D)
∀vj∈V(D) \
{
v
s
,
v
t
}
\{v_s,v_t\}
{vs,vt} 有
∑
(
v
i
,
v
j
)
∈
E
(
D
)
f
i
j
=
∑
(
v
j
,
v
i
)
∈
E
(
D
)
f
j
i
\sum_{(v_i,v_j)\in E(D)} f_{ij} = \sum_{(v_j,v_i)\in E(D)} f_{ji}
∑(vi,vj)∈E(D)fij=∑(vj,vi)∈E(D)fji,则称
f
f
f 为容量网络
D
D
D 的一个流,称
f
i
j
f_{ij}
fij 为弧
(
v
i
,
v
j
)
(v_i,v_j)
(vi,vj) 上的流量。
(非)饱和弧:弧上的流量(未)达到弧的容量。
4.1.3 流值
定理:设
f
f
f 是容量网络
D
D
D 的一个流,其中源为
v
s
v_s
vs,汇为
v
t
v_t
vt,由源的流出量等于汇的流入量,即
∑
(
v
s
,
v
j
)
∈
E
(
D
)
f
s
i
=
∑
(
v
i
,
v
t
)
∈
E
(
D
)
f
i
t
\sum_{(v_s,v_j)\in E(D)}f_{si}=\sum_{(v_i,v_t)\in E(D)}f_{it}
∑(vs,vj)∈E(D)fsi=∑(vi,vt)∈E(D)fit
证明:注意到每条弧上的流量,既是其头顶点的流入量,也是其尾顶点的流出量,因此所有弧上的流量之和、所有顶顶啊的流入量之和、所有顶点的流出量之和,这三者相等。
流值:设
f
f
f 是容量网络
D
D
D 的一个流,其源为
v
s
v_s
vs,汇为
v
t
v_t
vt,称源的流出量为流
f
f
f 的流值,记作
v
a
l
(
f
)
val(f)
val(f)。
4.1.4 最大流
最大流:设
D
D
D 是一个容量网络,若
f
f
f 是
D
D
D 上流值最大的流,则把
f
f
f 称为
D
D
D 的最大流。
截:设
D
D
D 是一个容量网络,源为
v
s
v_s
vs,汇为
v
t
v_t
vt。设顶点子集
S
⊂
V
(
D
)
,
S
‾
=
V
(
D
)
S \subset V(D),\overline{S}=V(D)
S⊂V(D),S=V(D) \
S
S
S,且
v
s
∈
S
,
v
t
∈
S
‾
v_s\in S, v_t \in \overline{S}
vs∈S,vt∈S,则称弧集
{
(
v
i
,
v
j
)
∈
E
(
D
)
∣
v
i
∈
S
,
v
j
∈
S
‾
}
\{(v_i,v_j)\in E(D)|v_i \in S, v_j \in \overline{S}\}
{(vi,vj)∈E(D)∣vi∈S,vj∈S} 为容量网络
D
D
D 的截,记作
(
S
,
S
‾
)
(S,\overline{S})
(S,S)。
截的容量:
∑
(
v
i
,
v
j
)
∈
(
S
,
S
‾
)
c
i
j
\sum_{(v_i,v_j)\in(S,\overline{S})}c_{ij}
∑(vi,vj)∈(S,S)cij,记作
c
(
S
,
S
‾
)
c_(S,\overline{S})
c(S,S)。
最小截:容量达最小的截为最小截。
定理:设
D
D
D 是一个容量网络,源为
v
s
v_s
vs,汇为
v
t
v_t
vt。设
f
f
f 是容量网络
D
D
D 的一个流,
(
S
,
S
‾
)
(S,\overline{S})
(S,S) 是
D
D
D 的一个截,则有
v
a
l
(
f
)
≤
c
(
S
,
S
‾
)
val(f) \leq c(S,\overline{S})
val(f)≤c(S,S)。
证明:…
流值与截容量相等当且仅当每条弧都是饱和弧且无逆流的时候。
若容量网络的一个流
f
f
f 的流值等于某个截
(
S
,
S
‾
)
(S,\overline{S})
(S,S)的容量,即
c
(
S
,
S
‾
)
=
v
a
l
(
f
)
c(S,\overline{S})=val(f)
c(S,S)=val(f),则
f
f
f 为最大流,
(
S
,
S
‾
)
(S,\overline{S})
(S,S) 为最小截。
4.2 最大流算法
4.2.1 可增路
可增路:设 P P P 是一条 ( v s , v j ) (v_s,v_j) (vs,vj) 路,如果①对 P P P 中每条正向弧 ( v i , v j ) , f i j < c i j (v_i,v_j),f_{ij} < c_{ij} (vi,vj),fij<cij;②对 P P P 中每条反向弧 ( v i , v j ) , f i j > 0 (v_i,v_j),f_{ij} > 0 (vi,vj),fij>0,则称 ( v s , v j ) (v_s,v_j) (vs,vj) 为 f f f 非饱和路;否则为饱和路。从源到汇的 f f f 非饱和路,称为 f f f 可增路。
4.2.2 最大流算法
定理:设容量网络
D
D
D 的源为
v
s
v_s
vs,汇为
v
t
v_t
vt,
f
f
f 为
D
D
D 的一个流,则
f
f
f 为最大流当且仅当
D
D
D 中不存在
f
f
f 可增路。
证明:只需证明充分性。只需证明存在截
(
S
,
S
‾
)
(S,\overline{S})
(S,S) 满足:
(
S
,
S
‾
)
(S,\overline{S})
(S,S) 中的每条弧都是饱和弧,
(
S
‾
,
S
)
(\overline{S}, S)
(S,S) 中的每条弧都是零弧。
将顶点分类,令
S
=
{
v
s
}
∪
{
v
j
∣
存在一条
f
非饱和路
(
v
s
,
v
j
)
}
S=\{v_s\} \cup \{v_j|存在一条 f 非饱和路 (v_s,v_j)\}
S={vs}∪{vj∣存在一条f非饱和路(vs,vj)},故有
v
t
∈
S
‾
v_t \in \overline{S}
vt∈S 。
则
S
S
S 与
S
‾
\overline S
S 之间假设
f
i
j
<
c
i
j
f_{ij} < c_{ij}
fij<cij,易见
P
+
(
v
i
,
v
j
)
P+(v_i,v_j)
P+(vi,vj) 亦为
f
f
f 非饱和路,与
v
j
∈
S
‾
v_j \in \overline{S}
vj∈S 矛盾。同理可以证明
f
i
j
=
0
f_{ij}=0
fij=0。
标号法能求解可增路
4.2.3 最大流最小截定理
最大流算法结束时,最大流流值等于最小截容量。
定理:在任何容量网络
D
D
D 中,最大流的流值等于最小截的容量。
证明:(大致思路)设
S
S
S 为能用标号法能够获得标号的顶点集合,则
(
S
,
S
‾
)
(S,\overline{S})
(S,S) 之间的弧的值必定为
0
0
0。
4.3 最小费用最大流
4.3.1 问题描述
流 f f f 的费用:设容量网络 D D D 的源为 v s v_s vs,汇为 v t v_t vt, c i j c_{ij} cij 和 b i j b_{ij} bij 分别表示弧 ( v i , v j ) (v_i,v_j) (vi,vj) 上的容量和单位流量费用,设 f f f 是 G G G 的流,则称 b ( f ) = ∑ ( v i , v j ) ∈ E ( D ) f i j b i j b(f)=\sum_{(v_i,v_j)\in E(D)}f_{ij}b_{ij} b(f)=∑(vi,vj)∈E(D)fijbij 为流 f f f 的费用。在容量网络 D D D 的所有最大流中寻找费用最小的流,这样的流称为最小费用最大流。
4.3.2 F增广圈
增广圈:设 Q Q Q 是一个具有指定正向的圈, Q + Q^+ Q+ 为圈 Q Q Q 上正向弧的集合, Q − Q^- Q− 为圈 Q Q Q 上反向弧的集合。
- δ i j = c i j − f i j , ( v i , v j ) ∈ Q + \delta_{ij}=c_{ij}-f_{ij},(v_i,v_j) \in Q^+ δij=cij−fij,(vi,vj)∈Q+
- δ i j = f i j , ( v i , v j ) ∈ Q − \delta_{ij}=f_{ij},(v_i,v_j) \in Q^- δij=fij,(vi,vj)∈Q−。
δ
(
Q
)
=
m
i
n
{
δ
i
j
∣
(
v
i
,
v
j
)
∈
E
(
Q
)
}
\delta(Q)=min\{\delta_{ij}|(v_i,v_j) \in E(Q)\}
δ(Q)=min{δij∣(vi,vj)∈E(Q)}。
若
δ
(
Q
)
>
0
\delta(Q)>0
δ(Q)>0,则称
δ
(
Q
)
\delta(Q)
δ(Q) 为允许修改流量,称圈
Q
Q
Q 为容量网络
D
D
D 上关于流
f
f
f 的增广圈。
对于
f
f
f 增广圈
Q
Q
Q,我们可以定义
f
′
f'
f′:
- f i j ′ = f i j + δ ( Q ) , ( v i , v j ) ∈ Q + f_{ij}^{'}=f_{ij} + \delta(Q),(v_i,v_j)\in Q^+ fij′=fij+δ(Q),(vi,vj)∈Q+
- f i j ′ = f i j − δ ( Q ) , ( v i , v j ) ∈ Q − f_{ij}^{'}=f_{ij} - \delta(Q),(v_i,v_j)\in Q^- fij′=fij−δ(Q),(vi,vj)∈Q−
- f i j , ( v i , v j ) ∉ E ( Q ) f_{ij},(v_i,v_j) \notin E(Q) fij,(vi,vj)∈/E(Q)
这样 f ′ f' f′ 仍是 D D D 的流并且 v a l ( f ′ ) = v a l ( f ) val(f')=val(f) val(f′)=val(f),称 f ′ f' f′ 为基于 f f f 增广圈 Q Q Q 的修正流。
负圈:设有容量网络 D D D, f f f 是一个流, f i j , c i j , b i j f_{ij},c_{ij},b_{ij} fij,cij,bij 分别为弧 ( v i , v j ) (v_i,v_j) (vi,vj) 上的流量、容量和单位费用,设 Q Q Q 是关于流 f f f 的增广圈。称 b ( Q , f ) = ∑ ( v i , v j ) ∈ Q + b i j − ∑ ( v i , v j ) ∈ Q − b i j b(Q,f)=\sum_{(v_i,v_j)\in Q^+}b_{ij}-\sum_{(v_i,v_j)\in Q^-}b_{ij} b(Q,f)=∑(vi,vj)∈Q+bij−∑(vi,vj)∈Q−bij 为增广圈的费用,若小于 0 0 0,则称 Q Q Q 为负圈。负圈与流量、容量、费用、圈的指定方向有关。
4.3.3 Klein 算法
算法:
- 求容量网络 D D D 的一个最大流。
- 寻找网络中的负圈。若没有负圈,算法结束;若找到一个负圈,转step 3
- 修改负圈 Q Q Q 上各弧的流量,得到修正流。在新修正流的基础上,转step 2,继续寻找负圈。
定理:设有容量网络 D D D, f f f 是一个流, f i j , c i j , b i j f_{ij},c_{ij},b_{ij} fij,cij,bij 分别为弧 ( v i , v j ) (v_i,v_j) (vi,vj) 上的流量、容量和单位费用,则 f f f 是最小费用最大流当且仅当任何 f f f 增广圈 Q Q Q 的费用 b ( Q , f ) ≥ 0 b(Q,f)\geq0 b(Q,f)≥0,即无负圈。
5 遍历性及其算法
5.1 Euler图和有向Euler图
5.1.1 定义
Euler图:如果图
G
G
G 中存在包含所有边的闭迹
W
W
W,则称
G
G
G 为
E
u
l
e
r
Euler
Euler 图,
W
W
W 称为
G
G
G 的
E
u
l
e
r
Euler
Euler 闭迹。
半Euler图:如果图
G
G
G 中存在包含所有边的迹
P
P
P,则称
G
G
G 为
半
E
u
l
e
r
半Euler
半Euler 图,
P
P
P 称为
G
G
G 的
E
u
l
e
r
Euler
Euler 迹。
定理:设
G
G
G 为非空连通图,则下面三个命题等价:
- G G G 是 E u l e r Euler Euler 图;
- G G G 中不含奇点;
- G G G 可以表示为若干个没有公共边的圈的并。
证明:
- 1->2:设 G G G 是连通的 E u l e r Euler Euler 图, W W W 是 G G G 的 E u l e r Euler Euler 闭迹,则 ∀ v ∈ V ( G ) , v \forall v \in V(G),v ∀v∈V(G),v 必定在 W W W 中出现,当 v v v 作为内部点,每出现一次,必定与 G G G 中两条边关联;当 v v v 作为 W W W 的起点,则 v v v 也是重点,从而它必与两条边关联,因此 G G G 的每个顶点都是偶点。
- 2->3:设 G G G 是非空连通图且不含奇点,则 G G G 不是树,从而 G G G 中含有圈,不断取出圈来得到新图再取圈,因此可以从第二个命题演变成第三个命题。
- 3->1:由 E u l e r Euler Euler 图的定义,结论显然。
有向Euler图:若有向图
D
D
D 中存在包含所有弧的有向闭迹,则称
D
D
D 为有向
E
u
l
e
r
Euler
Euler 图,这样的有向闭迹,称为
D
D
D 的有向
E
u
l
e
r
Euler
Euler 闭迹。
有向半Euler图:若有向图
D
D
D 中存在包含所有弧的有向迹,则称
D
D
D 为有向
E
u
l
e
r
Euler
Euler 图,这样的有向迹,称为
D
D
D 的有向
E
u
l
e
r
Euler
Euler 迹。
定理:设
G
G
G 为非空连通有向图,则下面三个命题等价:
- D D D 是有向 E u l e r Euler Euler 图;
- ∀ v ∈ V ( D ) \forall v \in V(D) ∀v∈V(D),有 d + ( v ) = d − ( v ) d^+(v)=d^-(v) d+(v)=d−(v)
- G G G 可以表示为弧不交的回路的并。
5.1.2 Fleury 算法
算法思想:从任意顶点出发,除非别无选择,否则总是选择一条不是割边的且没走过的边,直到获得
E
u
l
e
r
Euler
Euler 闭迹为止。
定理:设
G
G
G 是
E
u
l
e
r
Euler
Euler 图,
W
=
v
0
e
1
v
1
.
.
.
e
n
v
n
W=v_0e_1v_1...e_nv_n
W=v0e1v1...envn 是
F
l
e
u
r
y
Fleury
Fleury 算法结束时得到的迹,则
W
W
W 一定是图
G
G
G 的
E
u
l
e
r
Euler
Euler 闭迹。
证明:…
5.1.3 编码盘设计
例题:16个二进制数应该如何排列,使得圆盘沿顺时针旋转一部分,恰好组成
0000
0000
0000 到
1111
1111
1111 的
16
16
16 组四位二进制输出,同时旋转一周又返回到
0000
0000
0000 状态?
答案:定义一个有
8
8
8 个顶点的有向图
D
D
D,其中顶点用
3
3
3 维
0
−
1
0-1
0−1 序列
x
1
x
2
x
3
x_1x_2x_3
x1x2x3 标记,且顶点
x
1
x
2
x
3
x_1x_2x_3
x1x2x3 与顶点
x
2
x
3
0
,
x
2
x
3
1
x_2x_30,x_2x_31
x2x30,x2x31 以出弧的形式相连,这样得到的有向图
D
D
D 中,每个顶点的入度和出度相等,都等于
2
2
2。然后从
000
000
000 出发,可以得到一个有向
E
u
l
e
r
Euler
Euler 闭迹为 …。注意起终点重复,所以序列取末尾数字,得…
该问题可以扩展,得到的有向图为德布鲁英图
B
(
2
,
n
)
B(2,n)
B(2,n)。每个顶点最后一位数字构成序列为 德布鲁英序列。
5.2 中国邮递员问题
5.2.1 问题描述
管梅谷教授提出并研究了中国邮递员问题。
问题内容:在加权连通图
G
G
G 中,寻找一条经过每条边至少一次且权和最小的闭迹,即
G
G
G 的最优环游。
思考角度:对于重复走的边,可以看作为两点之间的重边(即重复走的边视为
k
k
k 重边)。
5.2.2 奇偶点图上作业法
最优环游的奇偶点图上作业法:
- 把图 G G G 所有奇点配成对,将每对奇点之间的一条链的每条边改为二重边,得到一个新图 G 1 G_1 G1,图中没有奇点
- 在图 G 1 G_1 G1 中,若顶点之间有 k ( k ≥ 3 ) k(k\geq3) k(k≥3) 重边,则去掉其中偶数条,只保留 1 / 2 1/2 1/2 条边,得到图 G 2 G_2 G2。
- 检查 G 2 G_2 G2 中的每一个圈 C C C,若重复边的权和超过此圈权和的一半,则重边变为单边,单边变为二重边,重复这一过程,直到所有圈上重边的权和都不超过圈权和一半,得到 G 3 G_3 G3。
- 用 F l e u r y Fleury Fleury 算法求 G 3 G_3 G3 的 E u l e r Euler Euler 闭迹,得到图 G G G 的最优环游
定理:设
G
G
G 是加权连通图,则奇偶点图上作业法得到的闭途径是最优环游。
证明:…
例题:
答案:图
G
G
G 中有
6
6
6 个奇点
v
2
,
v
3
,
v
5
,
v
8
,
v
10
,
v
11
v_2,v_3,v_5,v_8,v_{10},v_{11}
v2,v3,v5,v8,v10,v11,将它们搭配成三对,因此添加
v
2
v
3
v
4
v
5
,
v
3
v
2
v
1
v
8
,
v
10
v
11
v_2v_3v_4v_5,v_3v_2v_1v_8,v_{10}v_{11}
v2v3v4v5,v3v2v1v8,v10v11。注意
v
2
v
3
v_2v_3
v2v3 间有两条新添加的边,删去得到新图。
v
1
v
2
v
7
v
8
v
1
,
v
3
v
4
v
5
v
6
v
3
v_1v_2v_7v_8v_1,v_3v_4v_5v_6v_3
v1v2v7v8v1,v3v4v5v6v3 中非最优添边,因此重边变单边,单边变重边,再次得到新图:
再检查圈
v
2
v
3
v
6
v
11
v
10
v
7
v
2
v_2v_3v_6v_{11}v_{10}v_7v_2
v2v3v6v11v10v7v2,也非最优,执行单重边置反,得到新图。
检查通过,执行
F
l
e
u
r
y
Fleury
Fleury 算法,得到最优环游为:
v
1
v
2
v
3
v
2
v
7
v
8
v
7
v
6
v
5
v
6
v
11
v
12
v
5
v
4
v
3
v
6
v
11
v
10
v
7
v
10
v
9
v
8
v
1
v_1v_2v_3v_2v_7v_8v_7v_6v_5v_6v_{11}v_{12}v_5v_4v_3v_6v_{11}v_{10}v_7v_{10}v_9v_8v_1
v1v2v3v2v7v8v7v6v5v6v11v12v5v4v3v6v11v10v7v10v9v8v1,环游总长度
109
109
109。
5.3 Hamilton图
5.3.1 定义
Hamilton圈:若图
G
G
G 中存在包含一切顶点的圈
C
C
C,则称
G
G
G 为
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图,
C
C
C 称为
H
a
m
i
l
t
o
n
Hamilton
Hamilton 圈。
半Hamilton圈:若图
G
G
G 中存在包含一切顶点的链
P
P
P,则称
G
G
G 为
半
H
a
m
i
l
t
o
n
半Hamilton
半Hamilton 图,
P
P
P 称为
H
a
m
i
l
t
o
n
Hamilton
Hamilton 链。
定理:若
G
G
G 为
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图,则
ω
(
G
−
S
)
≤
∣
S
∣
,
(
∀
S
⊂
V
,
S
≠
∅
)
\omega(G-S) \leq |S|,(\forall S \sub V, S \neq \empty )
ω(G−S)≤∣S∣,(∀S⊂V,S=∅)
定理:若
G
G
G 为
半
H
a
m
i
l
t
o
n
半Hamilton
半Hamilton 图,则
ω
(
G
−
S
)
≤
∣
S
∣
+
1
,
(
∀
S
⊂
V
,
S
≠
∅
)
\omega(G-S) \leq |S|+1,(\forall S \sub V, S \neq \empty )
ω(G−S)≤∣S∣+1,(∀S⊂V,S=∅)
证明:设
G
G
G 是
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图,
C
C
C 是
H
a
m
i
l
t
o
n
Hamilton
Hamilton 圈。
∀
S
⊂
V
,
S
≠
∅
\forall S \sub V, S \neq \empty
∀S⊂V,S=∅,注意到
C
−
S
C-S
C−S 是
G
−
S
G-S
G−S 的子图,故有
ω
(
G
−
S
)
≤
ω
(
C
−
S
)
\omega(G-S) \leq \omega(C-S)
ω(G−S)≤ω(C−S) 而在圈
C
C
C 上,易知
ω
(
C
−
S
)
≤
∣
S
∣
\omega(C-S) \leq |S|
ω(C−S)≤∣S∣,于是
ω
(
G
−
S
)
≤
ω
(
C
−
S
)
≤
∣
S
∣
\omega(G-S) \leq \omega(C-S) \leq |S|
ω(G−S)≤ω(C−S)≤∣S∣.
第二个定理证明用
H
a
m
i
l
t
o
n
Hamilton
Hamilton 链代替
C
C
C 即可类似证明。
推论:设
G
=
(
X
,
Y
,
E
)
G=(X,Y,E)
G=(X,Y,E) 为二部图,则有(1)若
G
G
G 是
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图,则
∣
X
∣
=
∣
Y
∣
|X|=|Y|
∣X∣=∣Y∣。(2)若
G
G
G 是半
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图,则
∣
∣
X
∣
−
∣
Y
∣
∣
≤
1
||X|-|Y|| \leq 1
∣∣X∣−∣Y∣∣≤1.
5.3.2 闭包
引理:设
G
G
G 是简单图,
u
u
u 和
v
v
v 在
G
G
G 中不相邻,
u
≠
v
u \neq v
u=v,且
d
(
u
)
+
d
(
v
)
≥
n
d(u)+d(v) \geq n
d(u)+d(v)≥n,则
G
G
G 是
H
H
H 图的充要条件是
G
+
u
v
G+uv
G+uv 是
H
H
H 图。
证明:
- 若 G G G 是 H a m i l t o n Hamilton Hamilton 图,则 G + u v G+uv G+uv 是 H a m i l t o n Hamilton Hamilton 图,必要性显然成立。
- 若 G + u v G+uv G+uv 是 H a m i l t o n Hamilton Hamilton 图,而 G G G 不是,则令 C C C 是 G + u v G+uv G+uv 的 H a m i l t o n Hamilton Hamilton 圈,从而边 u v uv uv 必在圈上,于是 C − u v C-uv C−uv 是 G G G 中的 H a m i l t o n Hamilton Hamilton 链,设 C − u v = v 1 v 2 . . . v n C-uv=v_1v_2...v_n C−uv=v1v2...vn,其中 v 1 = u , v n = v v_1=u,v_n=v v1=u,vn=v,记 S = { v i ∣ v 1 v i ∈ E ( G ) } S=\{v_i|v_1v_i \in E(G)\} S={vi∣v1vi∈E(G)}, T = { v i ∣ v i − 1 v n ∈ E ( G ) } T=\{vi|v_{i-1}v_n \in E(G)\} T={vi∣vi−1vn∈E(G)}.因 G G G 是简单图,故 ∣ S ∣ = d G ( v 1 ) = d G ( u ) |S|=d_G(v_1)=d_G(u) ∣S∣=dG(v1)=dG(u), ∣ T ∣ = d G ( v n ) = d G ( v ) |T|=d_G(v_n)=d_G(v) ∣T∣=dG(vn)=dG(v),又因为 v 1 v_1 v1 和 v n v_n vn 在 G G G 中不相邻,所以 S ⊆ { v 2 , v 3 , . . . v n − 1 } S \subseteq \{v_2,v_3,...v_{n-1}\} S⊆{v2,v3,...vn−1}, T ⊆ { v 3 , v 4 , . . . v n } T \subseteq \{v_3,v_4,...v_n\} T⊆{v3,v4,...vn}。从而 S ∪ T ⊆ { v 2 , v 3 , . . . , v n } S \cup T \subseteq \{v_2,v_3,...,v_n\} S∪T⊆{v2,v3,...,vn},于是 ∣ S ∪ T ∣ ≤ n − 1 |S \cup T| \leq n - 1 ∣S∪T∣≤n−1 而且 S ∩ T = ∅ S \cap T = \empty S∩T=∅。事实上,若 v i ∈ S ∩ T v_i \in S \cap T vi∈S∩T,则存在 G G G 的 H a m i l t o n Hamilton Hamilton 圈 v 1 v 2 . . . v i − 1 v n v n − 1 v n − 2 . . . v i v 1 v_1v_2...v_{i-1}v_nv_{n-1}v_{n-2}...v_iv_1 v1v2...vi−1vnvn−1vn−2...viv1,与前面假设矛盾,因此得证。
定理:一个简单图
G
G
G 是
H
H
H 图当且仅当
c
(
G
)
c(G)
c(G) 是
H
H
H 图。
闭包:设
G
G
G 为简单图,反复连接
G
G
G 中度之和不小于
n
n
n 的不相邻定点对,指导没有这种顶点对为止,这样的图称为
G
G
G 的闭包,记作
c
(
G
)
c(G)
c(G)。
推论:设
G
G
G 是简单图,且
n
≥
3
n \geq 3
n≥3,若
c
(
G
)
c(G)
c(G) 是完全图,则
G
G
G 是
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图。
推论:设
G
G
G 是简单图,且
n
≥
3
n \geq 3
n≥3,且对于
G
G
G 中任一对不相邻相异顶点
u
u
u 和
v
v
v,有
d
(
u
)
+
d
(
v
)
≥
v
d(u)+d(v) \geq v
d(u)+d(v)≥v,则
G
G
G 是
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图。
推论:设
G
G
G 是简单图,且
n
≥
3
n \geq 3
n≥3,
δ
≥
n
−
1
2
\delta \geq \frac{n-1}{2}
δ≥2n−1,则
G
G
G 是
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图。
推论:设
G
G
G 是简单图,且对
G
G
G 中任何一对不相邻的相异顶点
u
,
v
u,v
u,v,有
d
(
u
)
+
d
(
v
)
≥
n
−
1
d(u)+d(v) \geq n-1
d(u)+d(v)≥n−1,则
G
G
G 是
半
H
a
m
i
l
t
o
n
半Hamilton
半Hamilton 图。
推论:设
G
G
G 是简单图,并且
δ
≥
n
−
1
2
\delta \geq \frac{n-1}{2}
δ≥2n−1,则
G
G
G 是
半
H
a
m
i
l
t
o
n
半 Hamilton
半Hamilton 图。
定理:设
G
G
G 是连通简单图,
∀
v
∈
V
(
G
)
\forall v \in V(G)
∀v∈V(G),
G
−
v
G-v
G−v 仍连通,对
G
G
G 中满足
d
(
u
,
v
)
=
2
d(u,v)=2
d(u,v)=2 的任意顶点对
u
,
v
u,v
u,v,都有
m
a
x
{
d
(
u
)
,
d
(
v
)
}
≥
n
2
max\{d(u),d(v)\} \geq \frac{n}{2}
max{d(u),d(v)}≥2n,则
G
G
G 是
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图。
证明:…
5.3.3 格雷码与立方体的Hamilton圈
格雷码:设
s
i
s_i
si 是一个
n
n
n 位的二进制串,若序列
s
1
,
s
2
,
.
.
.
,
s
2
n
s_1,s_2,...,s_{2^n}
s1,s2,...,s2n 满足:(1)每个
n
n
n 位二进制串都出现在序列中。(2)
s
i
s_i
si 与
s
i
+
1
s_{i+1}
si+1 只有一位不同,
i
=
1
,
2
,
.
.
.
,
2
n
−
1
i=1,2,...,2^n-1
i=1,2,...,2n−1;(3)
s
2
n
s_{2^n}
s2n 与
s
1
s_1
s1 只有一位不同。则称该序列
s
1
,
s
2
,
.
.
.
,
s
2
n
s_1,s_2,...,s_{2^n}
s1,s2,...,s2n 为格雷码。
构造方式:设
G
1
G_1
G1 表示序列
0
,
1
0,1
0,1,从
G
1
G_1
G1 出发,按如下递推规则可以由
G
n
−
1
G_{n-1}
Gn−1 生成
G
n
G_n
Gn,且是格雷码。
- 令 G n − 1 R G_{n-1}^R Gn−1R 为 G n − 1 G_{n-1} Gn−1 的逆序。
- 令 G n − 1 ′ G_{n-1}' Gn−1′ 为 G n − 1 G_{n-1} Gn−1 前加 0 0 0 所得到的序列。
- 令 G n − 1 ′ ′ G_{n-1}'' Gn−1′′ 为 G n − 1 R G_{n-1}^{R} Gn−1R 前加 1 1 1 所得到的序列。
- 令 G n G_n Gn 为 G n − 1 ′ G_{n-1}' Gn−1′ 后加上 G n − 1 ′ ′ G_{n-1}'' Gn−1′′ 组成的序列。
5.4 有向Hamilton图
5.4.1 强连通的充要条件
定理:设
G
G
G 是连通图,则
G
G
G 有强连通定向图,当且仅当
G
G
G 中没有割边。
证明:…
定理:设
D
=
(
V
,
A
)
D=(V,A)
D=(V,A) 是
n
≥
2
n \geq 2
n≥2 的有向图,则下列命题等价:(1)
D
D
D 是强连通的;(2)
D
D
D 是连通的,且
D
D
D 的每条弧都在一个回路上;(3)
∀
S
⊂
V
,
S
≠
∅
\forall S \sub V, S \neq \empty
∀S⊂V,S=∅ 有
(
S
,
S
‾
)
≠
∅
,
(
S
,
S
‾
)
≠
∅
.
(S,\overline{S}) \neq \empty, (S,\overline{S}) \neq \empty.
(S,S)=∅,(S,S)=∅.
推论:设
D
D
D 是简单有向图,且
d
D
+
(
u
)
+
d
D
−
(
v
)
≥
n
−
1
,
∀
(
u
,
v
)
∉
A
(
D
)
,
u
≠
v
d_D^+(u)+d_D^-(v) \geq n - 1,\forall(u,v) \notin A(D),u \neq v
dD+(u)+dD−(v)≥n−1,∀(u,v)∈/A(D),u=v,则
D
D
D 是强连通的。
5.4.2 Hamilton回路
有向Hamilton图/Hamilton回路:如果有向图
D
D
D 中存在包含所有顶点的回路,则称
D
D
D 为有向
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图。
有向半Hamilton图/Hamilton路:如果有向图
D
D
D 中存在包含所有顶点的路,则称
D
D
D 为有向
半
H
a
m
i
l
t
o
n
半Hamilton
半Hamilton 图。
竞赛图:任何两个顶点间都恰有一条弧相连的无环有向图,称为竞赛图,竞赛图就是完全图的定向图。
两个符号:
- 入邻域: N D − ( v ) = { u ∈ V ( D ) ∣ ( u , v ) ∈ A ( D ) } N_D^-(v)=\{u \in V(D) | (u,v) \in A(D)\} ND−(v)={u∈V(D)∣(u,v)∈A(D)}
- 出邻域: N D + ( v ) = { u ∈ V ( D ) ∣ ( v , u ) ∈ A ( D ) } N_D^+(v)=\{u \in V(D) | (v,u) \in A(D)\} ND+(v)={u∈V(D)∣(v,u)∈A(D)}
定理:任何
v
v
v 阶 竞赛图
D
D
D 都是有向半
H
a
m
i
l
t
o
n
Hamilton
Hamilton 图
证明:…
定理:对任何满足
3
≤
k
≤
v
3 \leq k \leq v
3≤k≤v 的整数
k
k
k,
v
≥
3
v \geq 3
v≥3 的强连通竞赛图
D
D
D 的每个顶点都在
D
D
D 中某个
k
k
k 回路上。
证明:…
推论:
v
≥
3
v \geq 3
v≥3 的竞赛图
D
D
D 是有向Hamilton图,当且仅当
D
D
D 是强连通的。
5.4.3 有向 Hamilton 图的充分条件
定理:设 D D D 是 n ≥ 2 n \geq 2 n≥2 的强连通简单有向图,若对任一对不相邻的相异顶点 u , v u,v u,v,有 d ( u ) + d ( v ) ≥ 2 n − 1 d(u)+d(v) \geq 2n-1 d(u)+d(v)≥2n−1,则 D D D 是有向 H a m i l t o n Hamilton Hamilton 图。
5.5 连通度和边连通度
顶点割:如果图
G
G
G 的顶点子集
V
′
V'
V′ 使
G
−
V
′
G-V'
G−V′ 不连通,则称
V
′
V'
V′ 为
G
G
G 的顶点割。并且若
∣
V
′
∣
=
k
|V'|=k
∣V′∣=k,则称
V
′
V'
V′ 为
G
G
G 的
k
k
k 顶点割。
连通度/k连通图:如果
G
G
G 中至少有一对相异顶点不相邻,则称
m
i
n
{
∣
V
′
∣
:
V
′
是
G
的顶点割
}
min\{|V'|:V'是 G 的顶点割\}
min{∣V′∣:V′是G的顶点割} 为
G
G
G 的连通度,记作
K
(
G
)
K(G)
K(G).如果
G
G
G 中任何一对相异顶点都相邻,则规定
K
(
G
)
=
v
−
1
K(G) = v - 1
K(G)=v−1.若
K
(
G
)
≥
k
K(G) \geq k
K(G)≥k,则称
G
G
G 为
k
k
k 连通图。
边连通度,k边连通图:任何非平凡连通图
G
G
G 的边连通度
K
′
(
G
)
K'(G)
K′(G) 定义为
K
′
(
G
)
=
m
i
n
{
∣
E
′
∣
:
E
′
是
G
的边割
}
K'(G) = min\{|E'|:E' 是 G 的边割\}
K′(G)=min{∣E′∣:E′是G的边割}。即一个非平凡连通图的边连通度就是使这个图变得不连通所需去掉的最少边数。如果
G
G
G 是平凡图或是非连通图,则规定
K
′
(
G
)
=
0
K'(G)=0
K′(G)=0.称
K
′
(
G
)
≥
k
K'(G) \geq k
K′(G)≥k 的图为
k
k
k 边连通图。
定理:对任何图
G
G
G 都有
K
(
G
)
≤
K
′
(
G
)
≤
δ
(
G
)
(
最小度
)
K(G) \leq K'(G) \leq \delta(G)(最小度)
K(G)≤K′(G)≤δ(G)(最小度)。
证明:如果
G
G
G 为非连通图或平凡图,则
K
(
G
)
=
K
′
(
G
)
=
0
K(G) = K'(G) = 0
K(G)=K′(G)=0,不等式显然成立,故只需考虑非平凡连通图的情形。
先证
K
′
(
G
)
≤
δ
(
G
)
K'(G) \leq \delta(G)
K′(G)≤δ(G),设
d
(
v
)
=
δ
(
G
)
d(v)=\delta(G)
d(v)=δ(G),设
E
′
E'
E′ 为与
v
v
v 关联的连杆组成的集合,它是
G
G
G 的一个边割,从而有
K
′
(
G
)
≤
∣
E
′
∣
≤
δ
(
G
)
K'(G) \leq |E'| \leq \delta(G)
K′(G)≤∣E′∣≤δ(G)。
再证
K
(
G
)
≤
K
′
(
G
)
K(G) \leq K'(G)
K(G)≤K′(G).如果
G
G
G 不是简单图,考虑
G
G
G 的基础简单图
G
‾
\overline{G}
G,显然有
K
(
G
)
=
K
(
G
‾
)
,
K
′
(
G
)
≥
K
′
(
G
‾
)
K(G)=K(\overline{G}),K'(G) \geq K'(\overline{G})
K(G)=K(G),K′(G)≥K′(G).因此为证
K
(
G
)
≤
K
′
(
G
)
K(G) \leq K'(G)
K(G)≤K′(G),只需证明
K
(
G
‾
)
≤
K
′
(
G
‾
)
K(\overline{G}) \leq K'(\overline{G})
K(G)≤K′(G),若图是完全图,则上式显然成立。因此只需对非平凡的简单连通图且不是完全图的情形证明上式成立。由于
G
G
G 是非平凡连通图,因此存在边割
E
′
E'
E′,使得
∣
E
′
∣
=
K
′
(
G
)
|E'|=K'(G)
∣E′∣=K′(G),去除
E
′
E'
E′ 后一定得到恰两个分支
S
1
,
S
2
S_1,S_2
S1,S2,若
u
∈
S
1
,
v
∈
S
2
u \in S_1, v \in S_2
u∈S1,v∈S2,则可能存在
u
v
∉
E
(
G
)
uv \notin E(G)
uv∈/E(G),若不存在,则
K
′
(
G
)
=
∣
E
′
∣
=
n
1
(
n
−
n
1
)
K'(G) = |E'| = n_1(n-n_1)
K′(G)=∣E′∣=n1(n−n1) 其中
(
n
1
是
S
1
的点数
)
(n_1 是 S_1 的点数)
(n1是S1的点数)。由于
1
≤
n
1
≤
n
−
1
1 \leq n_1 \leq n-1
1≤n1≤n−1 知
(
n
1
−
1
)
n
≥
(
n
1
−
1
)
(
n
1
+
1
)
(n_1-1)n \geq (n_1-1)(n_1+1)
(n1−1)n≥(n1−1)(n1+1),从而
n
1
(
n
−
n
1
)
≥
n
−
1
n_1(n-n_1) \geq n - 1
n1(n−n1)≥n−1,即知
K
′
(
G
)
≥
n
−
1
K'(G) \geq n - 1
K′(G)≥n−1,这与
G
G
G 不是完全图矛盾。所以对于
E
E
E 的每条边总可取一个异于
u
,
v
u,v
u,v 的端点,从而得到
G
G
G 的一个顶点割
V
′
V'
V′,
∣
V
′
∣
≤
∣
E
′
∣
=
K
′
(
G
)
|V'| \leq |E'| = K'(G)
∣V′∣≤∣E′∣=K′(G),故
K
(
G
)
≤
∣
V
′
∣
≤
K
′
(
G
)
K(G) \leq |V'| \leq K'(G)
K(G)≤∣V′∣≤K′(G).
定理:对于任何满足
0
≤
l
≤
m
≤
n
0\leq l \leq m\ \leq n
0≤l≤m ≤n 的正整数
l
,
m
,
n
l,m,n
l,m,n,总存在一个简单图
G
G
G,使得
K
(
G
)
=
l
,
K
′
(
G
)
=
m
,
δ
(
G
)
=
n
K(G) = l,K'(G)=m,\delta(G)=n
K(G)=l,K′(G)=m,δ(G)=n。
5.5.2 2连通图
定理:一个
n
≥
3
n \geq 3
n≥3 的图
G
G
G 是
2
2
2 连通图,当且仅当
G
G
G 的任何两个顶点由至少两条内部不相交的链连接。
证明:题目可以简单得到:若
G
G
G 的任何两个顶点由至少两条内部不相交的链连接,则
G
G
G 是连通的且没有
1
1
1 顶点割,而
n
≥
3
n \geq 3
n≥3,故
G
G
G 是
2
2
2 连通的。
。
设
G
G
G 是
2
2
2 连通的,
∀
u
,
v
∈
V
(
G
)
\forall u,v \in V(G)
∀u,v∈V(G),我们对
d
(
u
,
v
)
d(u,v)
d(u,v) 用归纳法证明:
u
,
v
u,v
u,v 至少由
G
G
G 的两条内部不相交链连接。当
d
(
u
,
v
)
=
1
d(u,v)=1
d(u,v)=1 时,因为
2
≤
K
(
G
)
≤
K
′
(
G
)
2 \leq K(G) \leq K'(G)
2≤K(G)≤K′(G),所以边
u
v
uv
uv 不是割边,从而
u
v
uv
uv 包含在
G
G
G 的一个圈中,故
u
,
v
u,v
u,v 被内部不相交的链连接。
假设结论对
G
G
G 中距离小于
k
k
k 的任何两个顶点都成立。设
d
(
u
,
v
)
=
k
≥
2
d(u,v)=k \geq 2
d(u,v)=k≥2.考虑
G
G
G 中长度为
k
k
k 的
(
u
,
v
)
(u,v)
(u,v) 链,即
G
G
G 中最短
(
u
,
v
)
(u,v)
(u,v) 链,令
w
v
wv
wv 是该链中最后一条边,则该链上
(
u
,
w
)
(u,w)
(u,w) 节是
G
G
G 中最短
(
u
,
w
)
(u,w)
(u,w) 链,故
d
(
u
,
w
)
=
k
−
1
d(u,w)=k-1
d(u,w)=k−1,由归纳假设,
G
G
G 中存在内部不相交的
(
u
,
w
)
(u,w)
(u,w) 链
P
P
P 和
Q
Q
Q。由于
G
G
G 是
2
2
2 连通的 …
推论:若
G
G
G 是
2
2
2 连通图,则
G
G
G 的任何两个顶点在一圈上。
推论:若
G
G
G 是
n
≥
3
n \geq 3
n≥3 的块,则
G
G
G 的任何两条边在一个圈上。
5.5.3 3连通图
引理:设
G
G
G 是
k
k
k 连通图,
k
≥
2
k \geq 2
k≥2,则对于
G
G
G 的任何连杆
e
e
e,
G
⋅
e
G·e
G⋅e 是
k
−
1
k-1
k−1 连通图。
引理:设
K
(
G
)
=
k
≥
1
K(G) = k \geq 1
K(G)=k≥1,且
V
′
=
{
v
1
,
v
2
,
.
.
.
,
v
k
}
V'=\{v_1,v_2,...,v_k\}
V′={v1,v2,...,vk} 是
G
G
G 的
k
k
k 顶点割,
G
1
,
G
2
,
.
.
.
,
G
p
G_1,G_2,...,G_p
G1,G2,...,Gp 是
G
−
V
′
G-V'
G−V′ 的全部连通分支则
∀
1
≤
i
≤
k
\forall1 \leq i \leq k
∀1≤i≤k 和
∀
1
≤
j
≤
p
\forall 1 \leq j \leq p
∀1≤j≤p,顶点
v
i
v_i
vi 必与连通分支
G
j
G_j
Gj 的某个顶点在
G
G
G 中相邻。
定理:设
G
G
G 是
3
3
3 连通图,
n
≥
5
n \geq 5
n≥5,则存在
G
G
G 的连杆
e
e
e,使
G
⋅
e
G·e
G⋅e 仍然是
3
3
3 连通图。
5.6 坚韧度
5.6.1 坚韧度
坚韧度:设
G
G
G 是
n
n
n 阶图,且至少有一对相异顶点不相邻,则
G
G
G 的坚韧度记作
τ
(
G
)
\tau(G)
τ(G),定义为
τ
(
G
)
=
m
i
n
{
∣
S
∣
ω
(
G
−
S
)
,
S
⊂
V
(
G
)
,
ω
(
G
−
S
)
≥
2
\tau(G) = min\{ \frac{|S|}{\omega(G-S)},S \subset V(G), \omega(G-S) \geq 2
τ(G)=min{ω(G−S)∣S∣,S⊂V(G),ω(G−S)≥2}.当
G
G
G 中任何两个顶点都相邻时,规定
G
G
G 的坚韧度为
V
(
G
)
−
1
2
\frac{V(G)-1}{2}
2V(G)−1。
t坚韧图:若图
G
G
G 的坚韧度大于或等于
t
t
t,则称
G
G
G 是
t
t
t 坚韧图。若存在
S
∗
⊂
V
(
G
)
S^* \subset V(G)
S∗⊂V(G),
ω
(
G
−
S
∗
)
≥
2
\omega(G-S^*) \geq 2
ω(G−S∗)≥2 且
S
∗
S^*
S∗ 满足
t
(
G
)
=
S
∗
ω
(
G
−
S
∗
)
t(G) = \frac{S^*}{\omega(G-S^*)}
t(G)=ω(G−S∗)S∗,则称
S
∗
S^*
S∗ 为
G
G
G 的坚韧度顶点集,简称坚韧集。
定理:设
n
(
n
≥
3
)
n(n \geq 3)
n(n≥3) 阶连通图
G
G
G,则
1
V
(
G
)
−
1
≤
t
(
G
)
≤
V
(
G
)
−
1
2
\frac{1}{V(G)-1} \leq t(G) \leq \frac{V(G)-1}{2}
V(G)−11≤t(G)≤2V(G)−1。
证明:若
G
G
G 是完全图则结论显然成立。若不是,则存在
S
⊂
V
(
G
)
S \subset V(G)
S⊂V(G),使得
ω
(
G
−
S
)
≥
2
\omega(G-S) \geq 2
ω(G−S)≥2,对任意这样的
S
⊂
V
(
G
)
S \subset V(G)
S⊂V(G),有
1
≤
∣
S
∣
≤
V
(
G
)
−
1
1 \leq |S| \leq V(G)-1
1≤∣S∣≤V(G)−1,
2
≤
ω
(
G
−
S
)
≤
∣
V
(
G
−
S
)
∣
≤
∣
V
(
G
)
∣
−
∣
S
∣
≤
V
(
G
)
−
1
2 \leq \omega(G-S) \leq |V(G-S)| \leq |V(G)| - |S| \leq V(G) - 1
2≤ω(G−S)≤∣V(G−S)∣≤∣V(G)∣−∣S∣≤V(G)−1.
从而由
t
(
G
)
t(G)
t(G) 的定义得
1
V
(
G
)
−
1
≤
t
(
G
)
≤
V
(
G
)
−
1
2
\frac{1}{V(G)-1} \leq t(G) \leq \frac{V(G)-1}{2}
V(G)−11≤t(G)≤2V(G)−1。
定理:设
T
T
T 是树,
Δ
\Delta
Δ 表示
T
T
T 的最大度,则有
t
(
T
)
=
1
Δ
t(T) = \frac{1}{\Delta}
t(T)=Δ1
证明:…
推论:设
P
P
P 是
n
(
n
≥
3
)
n(n \geq 3)
n(n≥3),则
t
(
P
)
=
1
2
t(P)=\frac{1}{2}
t(P)=21。
5.6.2 边坚韧度
边坚韧度:设
G
G
G 是一个非平凡连通图,则定义
m
i
n
{
∣
E
′
∣
ω
(
G
−
E
′
)
−
1
}
min\{\frac{|E'|}{\omega(G-E')-1}\}
min{ω(G−E′)−1∣E′∣},其中
E
′
E'
E′ 是
E
E
E 的子集,
ω
(
G
−
E
′
)
≥
2
\omega(G-E') \geq 2
ω(G−E′)≥2,记作
t
′
(
G
)
t'(G)
t′(G),如果是平凡图或非连通图,则规定
t
′
(
G
)
=
0
t'(G)=0
t′(G)=0。
定理:对于任何非平凡连通图
G
G
G,有
K
′
(
G
)
2
<
t
′
(
G
)
≤
K
′
(
G
)
\frac{K'(G)}{2} < t'(G) \leq K'(G)
2K′(G)<t′(G)≤K′(G)。
证明:…