图
- 图论的起源:七桥问题
- 图
- 三要素:顶点集 V V V,边集 E E E,关联函数 Φ \Phi Φ
- 无向图 有向图
- 加权图
- 有限图 平凡图 空图 n阶图 (n,m)图
- 简单图
- 无环 无重边
- 完备图 K n K_n Kn:任意两个点之间都有一条边的简单图
- 二部图(偶图)
(
X
,
Y
)
(X,Y)
(X,Y)
- 顶点集可以分为两个子集,每条边的顶点分别在两个子集中
- 一个图是二部图当且仅当不含有奇圈
- 完备二部图
K
m
,
n
K_m,_n
Km,n
- 神经网络中的全连接网络
- 子图
- 顶点导出子图
- 边导出子图
- 生成子图:顶点集相同的子图
- 图的运算
- 删点 删边
- 并运算 交运算 差运算 对称差
- 顶点的度
- 最小度 δ \delta δ 最大度 Δ \Delta Δ
- 度数计算
- 奇点 偶点
- 握手定理:总度数等于边数的两倍
- k-正则图:每个顶点的度数都为k
- 图的同构
- 定义:顶点集之间一一对应,且对应顶点的边也一一对应
- 必要条件:顶点数相同,边数相同,顶点度数序列相同
树
- 路与连通性
- 通路Walk:顶点和边都可以重复
- 道路Trail:边不能重复,顶点可以重复
- 路径Path:顶点和边都不能重复
- 连通图:任意两个顶点之间存在路径
- 树
- 定义:无圈连通图
- 充要条件
- 无圈,连通图
- 无圈, ϵ = v − 1 \epsilon=v-1 ϵ=v−1
- 连通, ϵ = v − 1 \epsilon=v-1 ϵ=v−1
- 连通, G − e G-e G−e不连通
- 无圈, G + e ( e ∉ G ) G+e(e \notin G) G+e(e∈/G)有唯一圈
- 无环,任二顶点有唯一路径
- 生成树
- 每个连通图至少包含一个生成树
- 生成树的计数
τ
(
G
)
\tau(G)
τ(G)
- Carley
- 边的收缩:删除一条边,重合其端点
- τ ( G ) = τ ( G − e ) + τ ( G ⋅ e ) \tau(G)=\tau(G-e)+\tau(G \cdot e) τ(G)=τ(G−e)+τ(G⋅e)
- 矩阵树定理
- 生成树的个数为拉普拉斯矩阵C的任意代数余子式的值
- C=D-A,其中D为度对角矩阵,A为邻接矩阵
- Carley
- 最小生成树
- Kruskal算法:每次选择权重最小且不在同一个连通分支的边
- Prim算法:每次选择横跨切割且权重最小的边
最短路径问题
- 单源最短路径
- Dijkstra:每次选择未访问且距离最近的点,对其出发的所有边进行松弛操作(权重非负)
- Bellman-Ford:对每条边进行松弛操作,重复V次
- 全局最短路径
- Floyd-Warshall:依次选择每个点作为中转节点
图的连通性
- 点连通度
K
(
G
)
K(G)
K(G):最小点断集包含的点数
- 设 G G G是 ( n , m ) (n,m) (n,m)单图,若 δ ( G ) ≥ ⌊ n 2 ⌋ \delta(G) \ge \lfloor \frac{n}{2} \rfloor δ(G)≥⌊2n⌋,则 G G G是连通图
- 边连通度 K ′ ( G ) K'(G) K′(G):最小边断集包含的边数
- 惠特尼定理:
K
(
G
)
≤
K
′
(
G
)
≤
δ
K(G) \le K'(G) \le \delta
K(G)≤K′(G)≤δ
- 一个非平凡图是K连通的,当且仅当任意两点之间存在K条内不相交的路径
- 一个非平凡图是k边连通的,当且仅当任意两点之间存在k条边不重复的路径
- 敏格尔定理
- 分离两个点的最少点数 = 内不相交的路径的最大数目
- 分离两个点的最少边数 = 边不重复的路径的最大数目
- 图的关键性部位
- 割点(关节点):边集合分为两个非空子集,两个非空子集恰有一个公共顶点,即割点
- 割边(桥):边 e e e是割边当且仅当 e e e不在图 G G G的任意圈中
- 割集:最小边断集
- 双连通分量(块):不含割点的连通图
- 哈拉里图 H k , n H_{k,n} Hk,n:边数最少的k连通图
匹配
- 图的匹配
- 匹配
- 定义:图G的边子集M中任意两条边没有共同顶点,M称为G的一个匹配
- 最大匹配:边数最多的匹配
- 理想匹配:渗透所有点的匹配
- M交错路:匹配边和非匹配边交错出现的路径
- M可增长路径:起点和终点都是非渗透点的M交错路
- 点覆盖
- 定义:图G中每条边至少有一个顶点在顶点子集K中,K称为点覆盖
- 极小点覆盖:任意子集都不是点覆盖
- 最小点覆盖:包含点数最小的点覆盖
- Berge定理:M是G的最大匹配的充要条件是不含有M可增长路径
- Hall定理:
(
X
,
Y
)
,
∀
S
⊆
X
,
∣
N
(
S
)
∣
≥
∣
S
∣
(X,Y), \forall S \subseteq X, |N(S)| \ge |S|
(X,Y),∀S⊆X,∣N(S)∣≥∣S∣
- 证明二部图 ( X , Y ) (X,Y) (X,Y)是否存在理想匹配
- Konig定理:二部图最大匹配的边数等于最小覆盖的顶点数
- Tutte定理:
o
(
G
−
S
)
≤
∣
S
∣
o(G-S) \le |S|
o(G−S)≤∣S∣
- 证明图 G G G是否存在理想匹配
- 匹配
- 匈牙利算法
- Berge定理+Hall定理
- Edmonds算法:任意匹配出发,寻找M可增长路径,得到更大的匹配
- 应用
- 二部图中寻找理想匹配
- 二部图中寻找最大匹配
行遍性问题
- 边的行遍性
- 欧拉图:存在欧拉巡回的图
- 欧拉巡回:经过每条边正好一次回到出发点
- G是欧拉图,等价于以下命题
- G的顶点度数都是偶数
- G的边集合能划分为若干个边不相交的圈之并
- 中国邮递员问题
- 寻找最佳巡回
- G是欧拉图
- Fleury算法:除非没有选择,否则不走割边
- Hierholzer算法:不断产生闭道路,并把他们并在一起
- G不是欧拉图
- 只有两个奇度顶点
- 在两个奇度顶点的最短路径上添加边,变成欧拉图
- 有2n个奇度顶点(n>1)
- Edmonds算法:寻找最佳配对,变成欧拉图
- 只有两个奇度顶点
- 欧拉图:存在欧拉巡回的图
- 顶点的行遍性问题
- 哈密尔顿图:存在哈密尔顿圈的图
- 哈密尔顿圈:经过每个顶点正好一次的圈
- 流动推销员问题
- 最佳推销员回路:经过每个顶点至少一次的权最小闭通路
- 近似算法
- 构造算法和改进算法
- Christofides最小权匹配算法:在最小生成树的基础上,在奇度顶点之间按照最小权匹配添加边,得到欧拉图,在欧拉巡回上去掉重复顶点,得到H圈
- 二边逐次修正法:任意H圈出发,寻找是否存在能够改进的两条不相邻的边,直到不能改进为止
- 哈密尔顿图:存在哈密尔顿圈的图
参考资料
- 图论与网络最优化算法