图论深度指南
文档概述
图论是研究离散结构中关系的数学分支,其理论在社交网络分析、神经网络、交通路由、推荐系统等人工智能领域有广泛应用。本指南系统介绍图的基本概念、最短路径算法、网络流与匹配、图着色、平面图理论以及谱图理论。
关键词
| 序号 | 关键词 | 英文 | 核心公式 |
|---|---|---|---|
| 1 | 图 | Graph | |
| 2 | 最短路径 | Shortest Path | |
| 3 | Dijkstra算法 | Dijkstra’s Algorithm | |
| 4 | 网络流 | Network Flow | |
| 5 | 最大流最小割 | Max-Flow Min-Cut | |
| 6 | 匹配 | Matching | 边集无公共顶点 |
| 7 | Hall定理 | Hall’s Marriage Theorem | |
| 8 | 图着色 | Graph Coloring | |
| 9 | 平面图 | Planar Graph | 无交叉边的图 |
| 10 | 欧拉公式 | Euler’s Formula | |
| 11 | 谱图理论 | Spectral Graph Theory | 研究邻接矩阵/拉普拉斯算子的特征值 |
| 12 | 拉普拉斯矩阵 | Laplacian |
一、图的基本概念
1.1 图的定义与分类
图 由顶点集 (或 )和边集 (或 )组成,记作 。
无向图:边没有方向,。
有向图:边有方向,记作有序对 。从 指向 。
加权图:每条边关联一个权重 。
基本概念:
- 度(无向图):顶点 的度 是与 关联的边数
- 出度/入度(有向图): 和
- 握手定理:
- 路径:顶点序列 ,相邻顶点间有边
- 环:起点终点相同的路径
- 连通图:任意两顶点间存在路径
图的实例
- 社交网络:顶点是用户,边是好友关系(无向无权图)
- 万维网:顶点是网页,边是超链接(有向图)
- 道路网络:顶点是路口,边是道路,权重是距离或时间
- 神经网络:顶点是神经元,边是突触连接
1.2 特殊图类
完全图 : 个顶点,每对顶点都有边,。
二分图 :顶点集可分为两部分 ,每条边连接 中一点和 中一点。
树:连通无环图,。
森林:无环图(树的并)。
正则图:所有顶点度相同。-正则图所有顶点度为 。
平面图:可以画在平面上且边不交叉的图。
1.3 图的矩阵表示
邻接矩阵 :
对于加权图,。
度矩阵 :对角矩阵,。
拉普拉斯矩阵 :
- 对称正半定:
- 行和为零:
- 拉普拉斯算子 是图上的离散拉普拉斯算子
关联矩阵:对于无向图,, 若顶点 是边 的端点。
二、最短路径算法
2.1 问题定义
单源最短路径(SSSP):给定加权图 和源点 ,求 到所有其他顶点的最短路径及其长度。
假设:边权重非负()。若无此假设,问题更困难。
2.2 Dijkstra算法
Dijkstra算法是解决非负权图SSSP的经典算法:
初始化:dist[s] = 0,dist[v] = ∞ 对所有 v ≠ s
S = ∅(已确定最短距离的顶点集合)
Q = V(优先队列,按dist排序)
while Q ≠ ∅:
u = Extract-Min(Q) // 距离最小的顶点
S = S ∪ {u}
for each neighbor v of u:
if dist[u] + w(u,v) < dist[v]:
dist[v] = dist[u] + w(u,v)
复杂度:
- 朴素实现:
- 使用二叉堆:
- 使用斐波那契堆:
正确性证明思路:
- 维护不变式:一旦顶点 被加入 , 就是 到 的最短距离
- 反证法:若 不是最短的,假设存在更短路径 经过 外的顶点,矛盾在于 必须经过 的边界,而边界顶点的距离都 (因为 是最小者)
Dijkstra与BFS的关系
当所有边权重相同时(),Dijkstra算法退化为广度优先搜索(BFS),时间复杂度 。
2.3 Bellman-Ford算法
Bellman-Ford算法可以处理负权边,并检测负环:
初始化:dist[s] = 0,dist[v] = ∞ 对所有 v ≠ s
for i = 1 to |V| - 1:
for each edge (u,v) in E:
if dist[u] + w(u,v) < dist[v]:
dist[v] = dist[u] + w(u,v)
for each edge (u,v) in E: // 检测负环
if dist[u] + w(u,v) < dist[v]:
报告负环存在
复杂度:
SPFA(Shortest Path Faster Algorithm)是Bellman-Ford的队列优化版本,实际中通常更快。
2.4 Floyd-Warshall算法
Floyd-Warshall算法解决全对最短路径问题:
初始化:dist[i][j] = w(i,j) 若 (i,j) ∈ E,否则 ∞;dist[i][i] = 0
for k in V: // 中间顶点
for i in V:
for j in V:
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])
复杂度:
空间优化:可用两行实现(当前行和上一行)。
三、匹配与网络流
3.1 匹配的基本概念
匹配(Matching) 是两两无公共端点的边集。
完美匹配:图中每个顶点都被匹配(即 )。
最大匹配:边数最多的匹配。
最大权匹配:边权重之和最大的匹配。
3.2 Hall定理
Hall婚姻定理:设 是二分图,则存在完美匹配当且仅当对所有 ,,其中 是 的邻居集合。
直觉:对于任何 个女孩,她们必须认识至少 个男孩,否则这 个女孩无法全部配对。
Hall定理应用
5个男孩和5个女孩相亲:男孩A认识{1,2},B认识{2,3},C认识{3,4},D认识{4,5},E认识{5,1}。
检查Hall条件:任意子集S的邻居数≥|S|?
- S={A,B},N(S)={1,2,3},|N|=3≥2 ✓
- S={A,B,C},N(S)={1,2,3,4},|N|=4≥3 ✓
- …所有子集满足,存在完美匹配。
3.3 网络流
网络流 :
- 是有向图
- 是源点(只有出流), 是汇点(只有入流)
- 是容量函数
可行流 满足:
- 容量约束:
- 流量守恒:对所有 ,
流的值:
3.4 最大流最小割定理
割 :将顶点划分为两部分,,。
割的容量:
最大流最小割定理(Ford-Fulkerson, 1956):
即最大流的值等于最小割的容量。
定理的意义
这个定理不仅给出了最大流的上界(任何流的值不超过任何割的容量),还证明了存在某个流和某个割使得等号成立。这是组合优化中最重要的对偶定理之一。
3.5 最大流算法
Ford-Fulkerson方法:反复寻找增广路径(从 到 的可增广路径)并增加流量。
while 存在增广路径 P:
找到 P 的最小剩余容量 b
沿 P 增加 b 单位流量
更新剩余图
Edmonds-Karp算法:使用BFS寻找最短(边数最少)的增广路径,保证 时间。
Dinic算法:使用层次图和阻塞流,,实际中更快。
四、图的着色问题
4.1 色数与基本性质
图着色:用最少的颜色给顶点着色,使得相邻顶点颜色不同。
色数 :使图 可着色的最少颜色数。
下界:
- (最大团大小)
- (最大度)
上界(Brooks定理):对于连通图,如果不是完全图 也不是奇环,。
4.2 平面图着色
四色定理(Appel-Haken, 1977):
任何平面图都可以用不超过4种颜色着色。
这是图论最著名的定理之一,历史上首个借助计算机证明的主要定理。
五色定理(更简单的证明):
- 使用归纳法
- 若最小度 ,必有可删除的顶点
- 删除顶点,递归着色,再加回顶点
四色定理的实际意义
四色定理保证了地图着色只需要4种颜色——这对于制图学有实际意义。但五色定理的证明更简洁易懂,通常在教学中更受青睐。
4.3 着色算法的复杂度
判断 :等价于判断图是否为二分图(可检测负环/奇环)。
一般着色问题:NP难。已知最好近似算法保证 。
实际算法:回溯搜索 + 分支定界 + 启发式(如DSATUR)可以在中等规模图上找到最优着色。
五、平面图与欧拉公式
5.1 平面图的基本性质
平面图:可以在平面上绘制且边不相交(除在顶点处)的图。
Kuratowski定理(平面图的判定):
图 是平面图当且仅当 不包含 或 (或它们的细分)作为子图。
(5个顶点的完全图)和 (完全二分图)是平面性的两个”障碍”。
5.2 欧拉公式
欧拉公式(Euler’s Formula):对于连通平面图,
其中 是顶点数, 是边数, 是面数(包括外部无限面)。
推论1:对于平面图,(当 )。
推论2:任何平面图都有度数为5或更小的顶点。
欧拉公式的证明(归纳法)
- 基础:单个顶点的图,,公式成立。
- 归纳:假设对有 条边的图成立。添加一条边:
- 若连接两个现有顶点: 不变,,, 不变。
- 若连接顶点与新顶点:,, 不变, 不变。
5.3 平面图的对偶
对偶图 :对于平面图 ,其对偶图 的顶点对应 的面, 的边对应 中相邻面的边界。
平面图与其对偶图的性质:
- 的环对应 的桥
- 是连通图当且仅当 连通
- 的欧拉公式可从 推导
六、谱图理论
6.1 谱图理论的基本框架
谱图理论研究图的矩阵表示(邻接矩阵、拉普拉斯矩阵等)的特征值与图结构的关系。
拉普拉斯矩阵 :
- 是对称正半定的
- 特征值:
- 特征值之和:
拉普拉斯矩阵的特征向量与图的性质密切相关。
6.2 谱与图属性的联系
连通性与谱:
- 连通 (第二小特征值称为代数连通度)
- 越大, 越”连通得好”
Cheeger不等式:
其中 是图的Cheeger常数(边缘比),衡量图的连通性。Cheeger不等式将代数连通度与几何连通度联系起来。
完全图的谱: 的拉普拉斯特征值是 (重数 )和 (重数1)。
6.3 谱聚类
谱聚类(Spectral Clustering)利用图的拉普拉斯矩阵进行降维和聚类:
算法步骤(无向图上的归一化切割):
- 计算相似度矩阵 ,度矩阵
- 计算归一化拉普拉斯
- 取 个最小特征值对应的特征向量(或最大的 个,若用 )
- 对特征向量组成的矩阵按行聚类(如K-means)
谱聚类的优势
- 不需要凸区域假设(不同于K-means) 可以发现非凸形状的簇
- 计算效率高(只需特征分解)
- 理论基础与图分割的自然目标相关
6.4 拉普拉斯算子与图神经网络
图卷积网络(GCN)的核心操作:
其中 (加自环), 是对应的度矩阵。
这实际上是图的拉普拉斯矩阵的归一化版本,体现了消息传递和邻域聚合的思想。
参考文献
- Diestel, R. (2017). Graph Theory (5th ed.). Springer.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms (3rd ed.). MIT Press.
- Chung, F. R. K. (1997). Spectral Graph Theory. American Mathematical Society.
- Bondy, J. A., & Murty, U. S. R. (2008). Graph Theory. Springer.
- Von Luxburg, U. (2007). A Tutorial on Spectral Clustering. Statistics and Computing, 17(4), 395-416.