图论深度指南

文档概述

图论是研究离散结构中关系的数学分支,其理论在社交网络分析、神经网络、交通路由、推荐系统等人工智能领域有广泛应用。本指南系统介绍图的基本概念、最短路径算法、网络流与匹配、图着色、平面图理论以及谱图理论。

关键词

序号关键词英文核心公式
1Graph
2最短路径Shortest Path
3Dijkstra算法Dijkstra’s Algorithm
4网络流Network Flow
5最大流最小割Max-Flow Min-Cut
6匹配Matching边集无公共顶点
7Hall定理Hall’s Marriage Theorem
8图着色Graph Coloring
9平面图Planar Graph无交叉边的图
10欧拉公式Euler’s Formula
11谱图理论Spectral Graph Theory研究邻接矩阵/拉普拉斯算子的特征值
12拉普拉斯矩阵Laplacian

一、图的基本概念

1.1 图的定义与分类

由顶点集 (或 )和边集 (或 )组成,记作

无向图:边没有方向,

有向图:边有方向,记作有序对 。从 指向

加权图:每条边关联一个权重

基本概念

  • (无向图):顶点 的度 是与 关联的边数
  • 出度/入度(有向图):
  • 握手定理
  • 路径:顶点序列 ,相邻顶点间有边
  • :起点终点相同的路径
  • 连通图:任意两顶点间存在路径

图的实例

  1. 社交网络:顶点是用户,边是好友关系(无向无权图)
  2. 万维网:顶点是网页,边是超链接(有向图)
  3. 道路网络:顶点是路口,边是道路,权重是距离或时间
  4. 神经网络:顶点是神经元,边是突触连接

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 网络流

网络流

  • 是有向图
  • 是源点(只有出流), 是汇点(只有入流)
  • 是容量函数

可行流 满足:

  1. 容量约束
  2. 流量守恒:对所有

流的值

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或更小的顶点。

欧拉公式的证明(归纳法)

  1. 基础:单个顶点的图,,公式成立。
  2. 归纳:假设对有 条边的图成立。添加一条边:
    • 若连接两个现有顶点: 不变, 不变。
    • 若连接顶点与新顶点: 不变, 不变。

5.3 平面图的对偶

对偶图 :对于平面图 ,其对偶图 的顶点对应 的面, 的边对应 中相邻面的边界。

平面图与其对偶图的性质:

  • 的环对应 的桥
  • 是连通图当且仅当 连通
  • 的欧拉公式可从 推导

六、谱图理论

6.1 谱图理论的基本框架

谱图理论研究图的矩阵表示(邻接矩阵、拉普拉斯矩阵等)的特征值与图结构的关系。

拉普拉斯矩阵

  • 是对称正半定的
  • 特征值:
  • 特征值之和:

拉普拉斯矩阵的特征向量与图的性质密切相关。

6.2 谱与图属性的联系

连通性与谱

  • 连通 (第二小特征值称为代数连通度)
  • 越大, 越”连通得好”

Cheeger不等式

其中 是图的Cheeger常数(边缘比),衡量图的连通性。Cheeger不等式将代数连通度与几何连通度联系起来。

完全图的谱 的拉普拉斯特征值是 (重数 )和 (重数1)。

6.3 谱聚类

谱聚类(Spectral Clustering)利用图的拉普拉斯矩阵进行降维和聚类:

算法步骤(无向图上的归一化切割):

  1. 计算相似度矩阵 ,度矩阵
  2. 计算归一化拉普拉斯
  3. 个最小特征值对应的特征向量(或最大的 个,若用
  4. 对特征向量组成的矩阵按行聚类(如K-means)

谱聚类的优势

  • 不需要凸区域假设(不同于K-means) 可以发现非凸形状的簇
  • 计算效率高(只需特征分解)
  • 理论基础与图分割的自然目标相关

6.4 拉普拉斯算子与图神经网络

图卷积网络(GCN)的核心操作:

其中 (加自环), 是对应的度矩阵。

这实际上是图的拉普拉斯矩阵的归一化版本,体现了消息传递邻域聚合的思想。


参考文献

  1. Diestel, R. (2017). Graph Theory (5th ed.). Springer.
  2. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms (3rd ed.). MIT Press.
  3. Chung, F. R. K. (1997). Spectral Graph Theory. American Mathematical Society.
  4. Bondy, J. A., & Murty, U. S. R. (2008). Graph Theory. Springer.
  5. Von Luxburg, U. (2007). A Tutorial on Spectral Clustering. Statistics and Computing, 17(4), 395-416.

相关文档