图论深度指南
文档概述
图论是研究离散结构中关系的数学分支,其理论在社交网络分析、神经网络、交通路由、推荐系统、知识图谱、分子生物学等人工智能领域有广泛应用。本指南系统介绍图的基本概念与分类、最短路径算法(Dijkstra、Bellman-Ford、Floyd-Warshall、A*)、网络流与匹配(最大流最小割、完美匹配)、图的着色问题、平面图与拓扑图论、谱图理论,以及图神经网络(GNN、GCN、GraphSAGE、GAT)的数学基础。附录包含极值图论、随机图、图算法复杂度分类、拟阵理论等高级专题。
关键词
| 序号 | 关键词 | 英文 | 核心公式 |
|---|---|---|---|
| 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 | |
| 13 | 邻接矩阵 | Adjacency Matrix | 若 |
| 14 | 树 | Tree | 连通无环图,$ |
| 15 | 欧拉回路 | Eulerian Circuit | 遍历每条边恰好一次的回路 |
| 16 | 哈密顿回路 | Hamiltonian Circuit | 遍历每个顶点恰好一次的回路 |
| 17 | 割集 | Cut Set | 删除后使图不连通的最小边集 |
| 18 | 生成树 | Spanning Tree | 包含所有顶点的树 |
| 19 | 强连通分量 | SCC | 有向图中相互可达的顶点集 |
| 20 | 拓扑排序 | Topological Sort | DAG 顶点的线性排序 |
一、图的基本概念
1.1 图的定义与分类
图 由顶点集 (或 )和边集 (或 )组成,记作 。每条边连接一个或两个顶点。
无向图:边没有方向,。如果一条边恰好连接两个顶点,我们称这两个顶点相邻(adjacent),这两个顶点都与该边关联(incident)。
有向图(Digraph):边有方向,记作有序对 ,表示从 指向 的弧(arc)。 是弧尾(tail), 是弧头(head)。
混合图:同时包含无向边和有向边的图。
加权图:每条边关联一个权重 。权重可以表示距离、时间、成本、容量等物理量。
超图:一条边可以连接任意数量()的顶点。
基本概念:
- 度(无向图):顶点 的度 是与 关联的边数(注意:环计算两次)
- 出度/入度(有向图): 和 分别是出发和进入 的弧数
- 握手定理(Handshaking Lemma):。这意味着度数为奇数的顶点必为偶数个。
- 路径:顶点序列 ,相邻顶点间有边
- 环(Cycle):起点终点相同的路径,长度至少为3(简单环)
- 连通图:任意两顶点间存在路径
- 子图: 满足 且 (且关联顶点属于 )
图的实例
- 社交网络:顶点是用户,边是好友关系(无向无权图)
- 万维网:顶点是网页,边是超链接(有向图,入度/出度不对称)
- 道路网络:顶点是路口,边是道路,权重是距离或时间(加权无向图)
- 神经网络:顶点是神经元,边是突触连接(有权有向图)
- 分子图:顶点是原子,边是化学键
- 知识图谱:实体为顶点,关系为边(多关系有向图)
- 交通流网络:顶点是路口,边是道路,权重是容量(网络流模型)
自环:连接顶点到自身的边 。
重边:两个顶点之间有多条边(多重边),含重边的图称为多重图(multigraph),不含重边的图称为简单图(simple graph)。
1.2 特殊图类
完全图 : 个顶点,每对顶点都有边,。是完全正则的 -正则图。
二分图(Bipartite Graph):顶点集可分为两部分 ,每条边恰好连接 中一点和 中一点。记作 。
完全二分图 :,,所有 条可能的边都存在。
树:连通无环图。等价定义:
- 的连通图
- 无环且添加任意一条边后恰好产生一个环
- 任意两点间有唯一路径的连通图
森林:无环图(树的并)。若有 个连通分量,则 。
正则图:所有顶点度相同。-正则图所有顶点度为 。正则图在谱图理论中有重要地位。
平面图:可以画在平面上且边不交叉(除在顶点处)的图。这是图论中历史最悠久的研究方向之一。
补图:给定图 ,其补图 的顶点集与 相同,边集为所有不在 中的顶点对。
笛卡尔积:两个图的笛卡尔积 的顶点集为 , 与 相邻当且仅当 且 ,或 且 。超立方体图 是 与自身的 次笛卡尔积。
1.3 图的矩阵表示
图的代数研究依赖于其矩阵表示。设图 有 个顶点。
邻接矩阵 :
对于有向图, 表示从 到 的弧。对于加权图,(无边时为 0 或 )。
- 无向图的邻接矩阵是对称的:
- 的行和等于对应顶点的出度,列和等于入度
- 的 元素等于从 到 的长度为 的路径数量
度矩阵 :对角矩阵,(对于有向图可分出度阵和入度阵)。
拉普拉斯矩阵 :
- 对称正半定:(所有特征值 )
- 行和为零:(零是 的特征值,对应特征向量 )
- 是图上的离散拉普拉斯算子的矩阵形式
- 对于加权图,,( 时)
归一化拉普拉斯矩阵:
关联矩阵:对于无向图,(), 若顶点 是边 的端点,否则 0(若 ,则 ,,或两者均为 1)。有向图的关联矩阵使用 (弧尾)和 (弧头)。
可达性矩阵 : 若从 到 存在路径,否则 0。。
矩阵表示在算法中的应用
邻接矩阵适合稠密图( 查询两点是否相邻),关联矩阵适合边操作。拉普拉斯矩阵是谱图理论和图神经网络的代数基础。度矩阵和关联矩阵在网络流算法中扮演核心角色。
二、最短路径算法
2.1 问题定义与分类
单源最短路径(Single-Source Shortest Path, SSSP):给定加权图 和源点 ,求 到所有其他顶点的最短路径及其长度。
全对最短路径(All-Pairs Shortest Path, APSP):求所有顶点对之间的最短路径。
假设:边权重 (Dijkstra 适用)。若无此假设,问题更困难(Bellman-Ford 或 SPFA)。
最短路径的性质:
- 最优子结构:最短路径的子路径也是最短路径。
- 三角不等式:。
- 唯一性(若边权重均为正):最短路径是唯一的。
2.2 Dijkstra算法
Dijkstra算法(1959)是解决非负权图 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)
predecessor[v] = u
正确性证明(归纳不变式):
维护不变式:对于 中的每个顶点 , 是 到 的最短距离。
- 初始化:,(显然最短)。
- 保持:设 是从 中提取的最小 顶点。反证:若存在更短的 路径 , 必经过 中的某个顶点 。设 是 上第一个落在 中的顶点,则 的 部分已是最短的(子路径最优性),故 ,矛盾(因为 是 中 最小的)。
- 终止:所有顶点加入 , 均为最短距离。
复杂度分析:
- 朴素实现(线性扫描找最小):
- 使用二叉堆(优先队列):
- 使用斐波那契堆:
- 在稀疏图()中,使用堆实现是 ;在稠密图()中,朴素实现 更优。
Dijkstra与BFS的关系
当所有边权重相同(),Dijkstra算法退化为广度优先搜索(BFS),时间复杂度 。BFS 在无权图中保证找到的是边数最少的路径。
A*搜索算法:A* 是 Dijkstra 的启发式推广,使用估计函数 来优先搜索”更有希望”的顶点:
- :从起点到 的实际最短路径长度
- :从 到终点的估计距离(启发式,必须满足可采纳性 )
- 若 ,A* 退化为 Dijkstra
- 若 一致且满足 ( 是目标),A* 能高效找到最短路径
A* 的经典应用:电子游戏寻路、机器人导航、拼图求解。
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]:
报告:图中存在负环
正确性:Bellman-Ford 的核心观察是:最短路径(若无负环)至多包含 条边。因此,迭代 轮松弛操作足以收敛。若在第 轮仍有改进,则必然存在负环。
复杂度:
SPFA(Shortest Path Faster Algorithm)是 Bellman-Ford 的队列优化版本,将被松弛的顶点加入队列而非常规扫描所有边。在实践中通常远快于 最坏情况,但在对手构造的输入上仍可能退化到 。
处理负权边时注意:即使存在负权边(但无负环),Dijkstra 也不能直接使用(因为负权会导致”绕路反而更短”的现象)。Bellman-Ford 和 SPFA 是处理负权边的主流方法。
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])
动态规划思想: = 只经过前 个顶点(即顶点子集 )时 到 的最短路径长度。递推关系:。
复杂度: 时间, 空间(可用两行优化到 空间)。
适用范围:适合 左右的稠密图。对于稀疏图,使用 次 Dijkstra 或 Johnson 算法()更优。
Johnson算法:结合 Dijkstra 和 Bellman-Ford:
- 对原图添加虚拟源点 ,连接 到所有其他顶点(边权为 0),用 Bellman-Ford 检测负环并计算势能 。
- 对所有边重赋权:(保证非负)。
- 对每个源点运行 Dijkstra。
总复杂度 ,适合稀疏图。
2.5 最短路径树与最短路算法
最短路径树(Shortest Path Tree, SPT):从源点 出发的最短路径构成一棵树,连接 和所有可达顶点。最短路径树不唯一(除非图严格正权且无等长路径)。
BFS树:无权图的最短路径树,每层对应距离(边数)相等的顶点。
分层图(Layered Graph):将 APSP 的结果按距离分层,用于可视化或特定路径规划。
三、连通性与图遍历
3.1 连通分量
无向图的连通分量:极大连通子图。可以用 BFS/DFS 一次遍历找到所有连通分量。
有向图的连通性:
- 强连通(Strongly Connected):对于有向图 ,若对任意 ,都有 和 路径,则 是强连通的。
- 弱连通(Weakly Connected):忽略方向后的无向版本是连通的。
- 强连通分量(Strongly Connected Components, SCC):极大强连通子图。
Kosaraju算法(两遍 DFS):
- 第一次 DFS 记录拓扑排序的逆序出栈顺序。
- 反转所有边的方向。
- 按步骤1的逆序进行第二遍 DFS,每棵 DFS 树就是一个 SCC。
复杂度 。
Tarjan算法(一遍 DFS):使用 DFS 递归栈和 lowlink 值识别 SCC。单次遍历即可找到所有 SCC,同样 。
3.2 DFS与BFS的性质
DFS(深度优先搜索):
- 时间戳:每个顶点有发现时间 和完成时间
- 括号定理:区间 与 之间只有三种关系:嵌套、不相交、相等(对应不同 DFS 树结构)
- 后向边: 的 DFS 树祖先 满足 。若存在后向边,则图中存在环。
- 拓扑排序:对于 DAG,所有边满足 (前向边性质)
BFS(广度优先搜索):
- 发现的所有顶点与源点距离等于 BFS 树的层数
- BFS 树中从源点到任意顶点的路径是最少边数的路径
- 用于无权图的最短路径
割点与桥(Articulation Points and Bridges):
- 割点:删除后使连通分量不连通的顶点
- 桥(割边):删除后使连通分量不连通的边
- Tarjan 的 DFS 算法可以在 时间内找到所有割点和桥,利用 lowlink 值判断:
- 顶点 是割点:若存在子节点 使得
- 边 是桥:若
四、匹配与网络流
4.1 匹配的基本概念
匹配(Matching) 是两两无公共端点的边集。匹配的边之间互不相交。
匹配的大小: 是匹配中的边数。
匹配顶点:被匹配的顶点。
最大匹配:边数最多的匹配。最大权匹配:边权重之和最大的匹配。
完美匹配:图中每个顶点都被匹配(即 ,图必须有偶数个顶点)。
完全匹配(在二分图中):左右两边各有 个匹配顶点。
增广路径(Augmenting Path):关于匹配 的增广路径是两端均未被匹配的交替路径(即非匹配边和匹配边交替出现)。Berge 定理:匹配 是最大匹配,当且仅当不存在关于 的增广路径。
4.2 Hall定理
Hall婚姻定理:设 是二分图,则存在完美匹配当且仅当对所有 ,,其中 是 的邻居集合。
直觉:对于任何 个女孩,她们必须认识至少 个男孩,否则这 个女孩无法全部配对。
Hall 定理的推广(Hall-Koenig 定理):最大匹配的大小为 ,这给出了最大匹配大小的精确界。
Hall定理应用
5个男孩和5个女孩相亲:男孩A认识{1,2},B认识{2,3},C认识{3,4},D认识{4,5},E认识{5,1}。
检查Hall条件:任意子集S的邻居数≥|S|?
- S={A},N(S)={1,2},|N|=2≥1 ✓
- S={A,B},N(S)={1,2,3},|N|=3≥2 ✓
- S={A,B,C},N(S)={1,2,3,4},|N|=4≥3 ✓
- S={A,B,C,D},N(S)={1,2,3,4,5},|N|=5≥4 ✓
- S={A,B,C,D,E},N(S)={1,2,3,4,5},|N|=5≥5 ✓ 所有子集满足,存在完美匹配。
König定理:在二分图中,最大匹配的大小等于最小顶点覆盖的大小(最小顶点覆盖是覆盖所有边的最小顶点集)。这是图论中最重要的对偶定理之一,因为它将组合优化中的”匹配”和”覆盖”两个问题联系起来,且两者都可以用网络流高效求解。
4.3 网络流
网络流 :
- 是有向图
- 是源点(只有出流), 是汇点(只有入流)
- 是容量函数
可行流 满足:
- 容量约束:
- 流量守恒:对所有 ,
流的值:(即从源点流出的净流量)。
4.4 最大流最小割定理
割 :将顶点划分为两部分,,。
割的容量:,即从 指向 的所有弧的容量之和。
最大流最小割定理(Ford-Fulkerson, 1956):
即最大流的值等于最小割的容量。
定理的意义
这个定理不仅给出了最大流的上界(任何流的值不超过任何割的容量),还证明了存在某个流和某个割使得等号成立。这是组合优化中最重要的对偶定理之一,与线性规划对偶理论紧密相连。最大流-最小割定理可以视为 LP 对偶的一个特例。
割的类型:
- 最小 - 割:使 最小的 - 割
- 全局最小割:使 最小的割(不一定区分 和 )
- 的补割: 的容量等于 中反向弧的容量之和
4.5 最大流算法
Ford-Fulkerson方法:反复寻找增广路径(从 到 的可增广路径)并增加流量。
while 存在增广路径 P (使用 DFS/BFS):
找到 P 的最小剩余容量 b = min(c(e) - f(e))
沿 P 增加 b 单位流量
更新剩余图 G_f
- 若所有容量均为整数,则 Ford-Fulkerson 的每次增广使流值至少增加 1,故最多迭代 次( 是最大流值)。
- 时间复杂度:(整数容量)。若容量很大(),可能很慢。
- 关键问题:若用 DFS,增广路径选择不当可能导致迭代次数过多。Edmonds-Karp算法通过使用 BFS 寻找最短(边数最少)的增广路径,解决了这个问题。
Edmonds-Karp算法(Ford-Fulkerson + BFS):。BFS 保证每次增广都增加最短路径长度,从而限制迭代次数至 。
Dinic算法:使用层次图(level graph)和阻塞流(blocking flow),在单位容量网络中达到 ,一般网络中 ,实际中通常比 Edmonds-Karp 快得多。
BFS 构建层次图
while BFS 成功:
使用 DFS 在层次图中寻找阻塞流
增加流量
删除不可达的顶点和边
推送-重标记算法(Push-Relabel):不使用增广路径,而是维护预流并在顶点间”推送”流量,最后”重标记”高度函数。最高标号选择规则下达到 ,实际中通常很快。GLPK 和许多工业级求解器基于此方法。
ISAP/GAP:改进的推送-重标记算法,利用标签间隔(GAP)启发式加速。
4.6 最小费用最大流
最小费用最大流(Minimum Cost Maximum Flow, MCMF):在最大流约束下最小化总成本 。
** SSP 算法**:每次迭代用 Bellman-Ford(在剩余网络中找最小费用路径)增加单位流量,重复直到达到最大流。总复杂度 ( 是最大流值)。
网络单纯形:专门针对最小费用流问题的单纯形法,在实践中非常高效。
应用:
- 运输问题:工厂到仓库的运输(最小成本)
- 任务分配:匈牙利算法是最小费用流的一种特例
- 图像分割:GraphCut 方法
五、图的着色问题
5.1 色数与基本性质
图着色:用最少的颜色给顶点着色,使得相邻顶点颜色不同。
色数 :使图 可着色的最少颜色数。
贪心着色:按任意顺序给顶点着色,每个顶点分配与邻接已着色顶点不同的最小颜色。贪心着色最多使用 种颜色( 是最大度)。
下界:
- (最大团大小 ,即图中最大完全子图的顶点数)
- (最大度)
- (由 推导,其中 是最大独立集大小)
上界(Brooks定理):对于连通图,如果不是完全图 也不是奇环,。
临界图:若删除任意一条边都会降低色数,则图 是 -临界 的。-临界图的最小度至少为 。
5.2 平面图着色
四色定理(Appel-Haken, 1977):
任何平面图都可以用不超过4种颜色着色。
这是图论最著名的定理之一,历史上首个借助计算机证明的主要定理。证明依赖于计算机对大量构型的穷举验证。
五色定理(更简单的证明):
- 使用归纳法
- 平面图存在度数至多为5的顶点(由欧拉公式可证)
- 若最小度 ,必有可删除的顶点
- 删除顶点,递归着色,再加回顶点(使用 Kempe 链反驳法处理特殊构型)
四色定理的实际意义
四色定理保证了地图着色只需要4种颜色——这对于制图学有实际意义。但五色定理的证明更简洁易懂,通常在教学中更受青睐。
Hadwiger猜想(未解决):每个 -色的图都有一个子图与 的一个细分同构。这是图着色理论中最深远的未解猜想之一。
5.3 着色算法的复杂度
判断 :等价于判断图是否为二分图。可通过 BFS 检查是否存在奇环(奇环 不是二分图),。
判断 :3-着色问题是 NP-完全 的(即使是平面图,3-着色仍是 NP-完全)。
一般着色问题:着色问题是 NP-hard。已知最好近似算法保证 (Björklund et al.)。
实际算法:回溯搜索 + 分支定界 + 启发式(如 DSATUR 贪心着色)在中等规模图上能找到最优着色。
着色与时间表调度:着色问题等价于”无冲突分配”问题(如考试安排:课程为顶点,若两门课有学生同时选修则连边,求最小时间片数)。
六、平面图与欧拉公式
6.1 平面图的基本性质
平面图:可以在平面上绘制且边不相交(除在顶点处)的图。
Kuratowski定理(平面性的判定,1930):
图 是平面图当且仅当 不包含 或 (或它们的细分)作为子图。
(5个顶点的完全图)和 (完全二分图)是平面性的两个”障碍”。 subdivisions(细分:在边上插入新顶点)也是障碍。
Wagner定理(等价表述):图是平面的当且仅当它的叉宽(treewidth)和图的子式(minor)不包含 或 作为子式。
平面性测试算法:Hopcroft-Tarjan 的平面性测试算法可在 时间内判定。
6.2 欧拉公式
欧拉公式(Euler’s Formula):对于连通平面图,
其中 是顶点数, 是边数, 是面数(包括外部无限面)。
推论:
- 对于平面图,若 ,则 (因为每个面至少有3条边,,结合欧拉公式)
- 平面图的平均度小于6:
- 任何平面图都有度数为5或更小的顶点(鸽巢原理)
欧拉公式的证明(归纳法):
- 基础:, ✓
- 归纳:假设对有 条边的图成立。添加一条边:
- 若连接两个现有顶点: 不变,,, 不变。
- 若连接顶点与新顶点:,, 不变, 不变。
欧拉公式与多面体
欧拉公式 对所有凸多面体成立(因为凸多面体可以投影为平面图)。这意味着五种正多面体(Platonic solids)必须满足此关系:四面体(4,6,4)、立方体(8,12,6)、八面体(6,12,8)、十二面体(20,30,12)、二十面体(12,30,20)。
6.3 平面图的对偶
对偶图 :对于平面图 ,其对偶图 的顶点对应 的面, 的边对应 中相邻面的边界。
自对偶:若 ,则 是自对偶的(如 wheel 图 、网格图的无限平面版本)。
平面图与其对偶图的性质:
- 的环对应 的桥
- 是连通图当且仅当 连通
- 的欧拉公式可从 推导(实际上它们是同一个欧拉公式的不同形式)
应用:
- 地图着色 对偶图的顶点着色
- 平面电阻网络与有效电阻
- 平面图的 Kirchhoff 定律和电势求解
七、谱图理论
7.1 谱图理论的基本框架
谱图理论研究图的矩阵表示(邻接矩阵、拉普拉斯矩阵等)的特征值与图结构的关系。
拉普拉斯矩阵 :
- 是对称正半定的:所有特征值
- 最小特征值 ,对应特征向量
- 特征值之和:
邻接矩阵的特征值:记作 。完全图 的特征值是 (重数 )和 (重数 )。
拉普拉斯矩阵的特征向量与图的性质密切相关。例如, 的第二小特征值 (代数连通度)度量了图的连通程度。
7.2 谱与图属性的联系
连通性与谱:
- 连通 (第二小特征值称为代数连通度)
- 越大, 越”连通得好”
- 完全图 的 (最大连通性),路径图 的 (近似不连通)
Cheeger不等式(双重 Cheeger 不等式):
其中 是图的 Cheeger 常数(边缘比),衡量图的连通性。Cheeger 不等式将代数连通度 (谱量)与几何连通度 (组合量)联系起来,在图分割、社区发现、随机游走等领域有广泛应用。
谱半径与正则性:
- ,且对于连通正则图,。
- 无向图的 与图的平均距离、热核扩散时间等有复杂联系。
完全图的谱: 的拉普拉斯特征值是 (重数 )和 (重数1)。
路径图的谱: 的拉普拉斯特征值为 ,。
7.3 谱聚类
谱聚类(Spectral Clustering)利用图的拉普拉斯矩阵进行降维和聚类。
无向图上的归一化谱聚类算法(Ng, Jordan, Weiss 2002):
- 构建相似度矩阵 (如高斯核 )
- 构建度矩阵 ()
- 计算归一化拉普拉斯
- 取 个最小特征值对应的特征向量(或最大的 个若用 ),组成矩阵
- 对 的行(归一化后)运行 K-means 聚类
- 将聚类标签映射回原始顶点
未归一化谱聚类(Shi-Malik 2000):使用 ,取 的 个最小特征向量(除第一个),然后用 K-means 或模糊聚类分割。
谱聚类的优势
- 不需要凸区域假设(不同于 K-means)
- 可以发现非凸形状的簇
- 计算效率高(只需特征分解 或稀疏特征分解 )
- 理论基础与图分割的自然目标(RatioCut / Ncut)相关
RatioCut 和 Ncut:
- ,其中
谱聚类通过拉普拉斯特征向量近似最小化 Ncut(放松整数约束后变成特征分解问题)。
7.4 拉普拉斯算子与图神经网络
图卷积网络(GCN, Graph Convolutional Network)的核心操作:
其中 (加自环), 是对应的度矩阵, 是第 层的节点特征矩阵, 是可学习的权重矩阵, 是激活函数。
谱域解释:GCN 的操作对应于对图的拉普拉斯矩阵进行谱滤波。(归一化拉普拉斯)。在谱域中,一个可学习的滤波器 作用在拉普拉斯特征值上:
ChebNet(Defferrard et al., 2016)使用切比雪夫多项式近似谱滤波,避免计算特征分解:
其中 。
空间域方法(GraphSAGE, GAT):
- GraphSAGE:通过采样和聚合邻居特征
- GAT(Graph Attention Network):使用注意力机制分配不同邻居不同权重
7.5 图的扩散与随机游走
随机游走:在图上从某顶点出发,每步等概率选择一条邻边(或按转移概率)移动。
转移矩阵(行随机矩阵):(若无向)或更一般的 。
平稳分布: 满足 ,即 是 的特征值 1 对应的左特征向量。对于无向连通非二部图,平稳分布为 。
PageRank(随机游走的中心性度量):阻尼因子 的 PageRank 满足:
其中 是重启/均匀分布向量。PageRank 在 Google 搜索排序和推荐系统中扮演核心角色。
个性化 PageRank:将重启向量 替换为用户特定的分布,可用于个性化推荐和节点分类。
热核 PageRank: 是图上的热核,与图的局部结构密切相关。
八、欧拉回路与哈密顿回路
8.1 欧拉回路
欧拉回路:遍历图中每条边恰好一次的回路(回到起点)。
欧拉定理(Hierholzer 算法):
- 连通无向图存在欧拉回路,当且仅当所有顶点度数为偶数。
- 连通无向图存在从 到 的欧拉路径(不要求回到起点),当且仅当 和 度数为奇数(恰好两个),其余顶点度数为偶数。
Hierholzer 算法():
- 从任意顶点开始,贪心遍历直到回到起点(得到一个回路)
- 若回路未覆盖所有边,在回路的顶点中找一个有未覆盖边的顶点,从该顶点开始找新回路并插入原回路
- 重复直到覆盖所有边
有向图版本:将”度数为偶数”替换为”每个顶点的出度等于入度”。
8.2 哈密顿回路
哈密顿回路:遍历图中每个顶点恰好一次的回路(边数不限)。
与欧拉回路的本质区别:哈密顿回路问题是 NP-完全的,即使判定是否存在哈密顿回路也是如此(而欧拉回路可 判定)。
Dirac 定理(充分条件):若图 是 的简单图,且所有顶点度 ,则 存在哈密顿回路。
Ore 定理:若对每一对不相邻顶点 ,都有 ,则 存在哈密顿回路(Dirac 是 Ore 的特例)。
旅行商问题(TSP, Traveling Salesman Problem):在加权完全图中寻找最小权哈密顿回路。TSP 是 NP-hard 的,但有多种近似算法:
- 最近邻(最近邻启发式):,近似比无保证
- Christofides 算法:,在满足三角不等式的度量空间中达到 1.5-近似
- Lin-Kernighan 启发式:实践中最有效的启发式 TSP 算法
九、极值图论
9.1 Turán定理
Turán 问题:在禁止包含完全图 作为子图的前提下,最多能在 个顶点上放置多少条边?
Turán 定理(1941):最大边数为 ,当且仅当图恰好是 部 Turán 图 (将顶点分成 个尽可能均衡的部分,每个部分内部无边,跨部之间全连接)时达到。
Mantel 定理(Turán 定理的 特例):不含三角形()的图最多有 条边。
Turán 定理是极值图论的开创性工作,也是 Erdős-Faber-Lovász 猜想等后续研究的起点。
9.2 Ramsey理论
Ramsey 数 :最小的 使得任何含 个顶点的图(及其补图)中必含一个 或其补图中含一个 。
Ramsey 定理: 存在(有限)。已知:
- 已知界:
Erdős-Szekeres 定理:任意 个实数序列中必存在长度为 的单调递增或单调递减子序列。其中 是精确界(Dilworth 定理的应用)。
鸽巢原理的深化:Ramsey 理论告诉我们,即使图的结构”混乱”到没有明显的模式,在足够大的规模下,某种特定的结构仍然不可避免。
十、随机图
10.1 Erdős–Rényi 随机图
模型: 个顶点,每对顶点独立以概率 连边。
模型: 个顶点,均匀随机选择 条边。
基本性质:
- 期望边数:
- 顶点 的度服从
- 当 时, 是所有 个图上均匀分布
度分布:在 中,当 固定、 时,度分布趋近于泊松分布 。
渗流理论: 的连通性转变(phase transition)发生在 附近:
- 若 ,图不连通(存在孤立顶点)
- 若 ,图连通(除孤立点外)
大偏差与图极限:随机图的许多性质可以用大偏差原理描述,图序列的极限对象是 graphon(可测函数 )。
10.2 随机图上的算法问题
子图检测:在 中寻找特定子图(如三角形、团)是随机图理论的核心问题。
社区发现问题:SBM(Stochastic Block Model)是社区结构的随机图模型,各社区内部连边概率高,跨社区连边概率低。
图同构:对于随机图,图同构问题在平均情况下可能比最坏情况简单得多。
十一、图算法复杂度分类
11.1 P、NP与图问题
P 类(图算法):
- SSSP、BFS/DFS、连通分量、拓扑排序:
- 最小生成树(Kruskal, Prim):
- 二分图匹配:
- 最大流(Edmonds-Karp):
- 平面图算法:许多 NP-hard 问题在平面图上是多项式可解的
NP-hard 图问题:
- 哈密顿回路(TSP)
- 顶点覆盖(Vertex Cover)
- 最大割(Max Cut)
- 图着色
- 最大团(Maximum Clique)
11.2 图的参数化复杂性
树宽(Treewidth):图分解中子图交叉大小的度量。树宽小的图(如树、串联-并联图)在许多 NP-hard 问题上具有多项式时间算法。
核化(Kernelization):将参数化问题通过预处理压缩到与参数相关的规模。
固定参数可解(FPT):若算法复杂度为 ,则问题是 FPT 的。经典例子:-顶点覆盖是 FPT()。
十二、知识图谱与图机器学习
12.1 知识图谱的表示
知识图谱:多关系有向图 ,其中 是三元组 的集合。
知识图谱嵌入(Knowledge Graph Embedding, KGE):将实体和关系嵌入到低维向量空间。
TransE(Bordes et al., 2013):,翻译模型。优化 。
DistMult(Yang et al., 2014):双线性模型,。
RotatE(Sun et al., 2019):将关系建模为复数空间中的旋转。
12.2 图神经网络的应用
节点分类:利用邻居信息增强节点表示(半监督学习)。
链接预测:预测图中缺失的边(用于推荐、知识图谱补全)。
图分类:将整个图作为输入进行分类(如分子性质预测、蛋白质功能预测)。
图生成:生成具有特定性质的图(如药物分子生成)。
十三、典型习题
习题 1:握手定理的应用
证明:在任意聚会中,与奇数个人握手的人数是偶数。
答案:由握手定理 ,即所有顶点度数之和为偶数。偶数个奇数之和为偶数,因此奇数度顶点的个数必为偶数。
习题 2:Dijkstra 算法的边界
给出右图(带权无向图)中从源点 出发的 Dijkstra 算法的执行过程,计算每个顶点的最短距离。
答案:(根据具体图示回答。核心是每次提取最小 dist 的顶点,并用之更新邻居的距离。)
习题 3:最大流最小割的构造
使用 Ford-Fulkerson 算法找到下图的最大流,并构造对应的最小割。
答案:(根据具体图示。关键是找到剩余图中不存在从 到 的增广路径时,-可达集 即定义了最小割。)
习题 4:Hall 定理的应用
男生集合 ,女生集合 。A 认识 {1,2,3},B 认识 {2,3,4},C 认识 {1,4},D 认识 {3,5}。判断是否存在完美匹配。
答案:检查 Hall 条件:,, ✓;,, ✓;,, ✓;,, ✓;,, ✓。所有子集满足,存在完美匹配。
习题 5:谱图理论
证明拉普拉斯矩阵 的特征值非负。
答案:对于任意向量 ,有 (利用 的对称性和 )。因此 是正半定的,所有特征值 。
习题 6:平面图边数上界
利用欧拉公式证明:任意平面图()满足 。
答案:每个面至少由 3 条边围成,故 。结合欧拉公式 ,消去 得 ,即 ,故 。
十四、图算法实现要点
14.1 邻接表 vs 邻接矩阵
| 表示方式 | 空间 | 边查询 | 遍历邻居 | 适用场景 |
|---|---|---|---|---|
| 邻接矩阵 | 稠密图、矩阵运算 | |||
| 邻接表 | 稀疏图、遍历 |
14.2 图算法的数值稳定性
- 浮点数比较时使用 容差()
- 网络流中可能出现浮点容量或分数流量
- PageRank 迭代需要监测收敛()
14.3 并行与分布式图处理
- Pregel(Google):BSP 模型的顶点中心计算
- GraphLab/PowerGraph:Gas 模型处理幂律图(度分布不均)
- Ligra:轻量级共享内存图处理
- Pregel+:支持 OSS 和 OSSS 模式的图分割
十五、历史注记与延伸阅读
15.1 发展简史
- 1736:Euler 的哥尼斯堡七桥问题——图论的起源。
- 1847:Kirchhoff 将树的理论应用于电网络(生成树)。
- 1852:四色猜想提出(1976 年 Appel-Haken 证明)。
- 1936:Kőnig 的《有限图理论》——图论第一本专著。
- 1930:Kuratowski 平面性判定定理。
- 1941:Turán 的极值图论开创性工作。
- 1956:Ford-Fulkerson 最大流最小割定理。
- 1959:Dijkstra 最短路径算法。
- 1959:Berge 的《图论》——匹配理论的系统性研究。
- 1971:Karp 的 21 个 NP-完全问题,其中许多是图论问题。
- 1983:Kosaraju 和 Tarjan 的 SCC 算法。
- 1990s:随机图与渗流理论的系统研究。
- 2000s:谱图理论在大规模数据分析中的广泛应用。
- 2017-2019:图神经网络(GCN, GraphSAGE, GAT)的兴起。
15.2 经典教材
- 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. —— 综合性的图论教材。
- Doyle, P. G., & Snell, J. L. (1984). Random Walks and Electric Networks. arXiv. —— 随机游走与网络的谱联系。
- Van Lint, J. H., & Wilson, R. M. (2001). A Course in Combinatorics (2nd ed.). Cambridge University Press. —— 组合数学(含图论部分)。
15.3 论文精选
- Ford, L. R., & Fulkerson, D. R. (1956). Maximal Flow Through a Network. Can. J. Math., 8, 399-404.
- Dijkstra, E. W. (1959). A Note on Two Problems in Connexion with Graphs. Numer. Math., 1, 269-271.
- Shi, J., & Malik, J. (2000). Normalized Cuts and Image Segmentation. IEEE TPAMI, 22(8), 888-905.
- Ng, A. Y., Jordan, M. I., & Weiss, Y. (2001). On Spectral Clustering: Analysis and an Algorithm. NeurIPS, 849-856.
- Kipf, T. N., & Welling, M. (2017). Semi-Supervised Classification with Graph Convolutional Networks. ICLR.
- Velickovic, P., Cucurull, G., Casanova, A., et al. (2018). Graph Attention Networks. ICLR.