23.5 离散Ricci曲率:问题为什么难?
本篇导读
在前两篇中,我们证明了:
- 有界度图 → 多项式增长
- 指数增长 → 无限维数
但这只是“结果“,还没有回答“原因“:为什么有些配置图导致多项式增长,而另一些导致指数增长?
本篇引入离散Ricci曲率 ,它刻画了“局部区域内路径的发散或收缩“。我们将证明:
- 非负曲率 → 多项式增长(定理4.1):若 ,则 ;
- 负曲率 → 指数增长(定理4.2):若 ,则 。
这建立了“曲率–问题难度“的定量联系:正曲率对应路径汇聚(容易找到最优解),负曲率对应路径发散(难以穷举)。
关键洞察:问题的“难度“不是算法的属性,而是配置空间的几何属性(曲率)。P类问题对应“非负曲率空间“,NP难问题对应“负曲率空间“。
1. 为什么需要曲率?从度到几何的深层原因
1.1 上一篇的遗留问题
在上一篇中,我们证明了:
- 定理:若图的度有界 且边权有界,则 (多项式);
- 定理:若 ,则 (无限维)。
遗留问题:
- “度有界“只是充分条件,不是必要条件——有些度无界的图仍然有多项式增长;
- “度无界“也不能直接推出指数增长——需要更精细的几何刻画;
- 核心问题:什么是决定体积增长的本质几何性质?
1.2 日常类比:从“路口数量“到“道路弯曲“
想象你在一个城市中探索:
-
度对应“每个路口连接的道路数量“:
- 若每个路口最多4条路(度有界),则探索范围有限;
- 但这不能告诉你“道路是直的还是弯的“。
-
曲率对应“道路的弯曲程度“:
- 正曲率(像球面):道路向内弯曲,不同路径会汇聚到一起;
- 零曲率(像平面):道路笔直,平行线保持平行;
- 负曲率(像马鞍面):道路向外弯曲,不同路径会发散开来。
关键洞察:
- 在正曲率空间中,即使度很大,体积增长仍然受控(因为路径汇聚);
- 在负曲率空间中,即使度有界,体积也会指数增长(因为路径发散)。
因此,曲率比度更本质地决定了体积增长。
1.3 从连续到离散:Ricci曲率的推广
在连续Riemann几何中,Ricci曲率 刻画了“测地线的平均收缩或发散“:
- 正Ricci曲率:测地线向内汇聚(例如球面);
- 负Ricci曲率:测地线向外发散(例如双曲面)。
Bishop-Gromov比较定理(连续情形):
- 若 ,则体积增长被多项式控制:;
- 若 ,则体积指数增长:。
在离散复杂性图中,我们需要一个离散版本的Ricci曲率,它能:
- 在离散图上定义(不依赖于微分结构);
- 刻画“局部路径的发散或收缩“;
- 控制体积增长(离散版Bishop-Gromov定理)。
2. 局部转移分布:从边到概率测度
2.1 定义:局部一步转移分布
在复杂性图 上,我们希望刻画“从顶点 出发,随机游走一步后到达的分布“。
定义 2.1(局部一步转移分布,源自 euler-gls-info/02-discrete-complexity-geometry.md 定义4.1)
在复杂性图 上,定义从 出发的局部一步转移分布为:
其中: 为固定的尺度参数。
说明:
- 对“低代价边“有偏好:边权 越小, 越大;
- 是归一化后的概率分布:;
- 控制“偏好强度“:
- 很大时,只选择最低代价的边;
- 很小时,均匀选择所有边。
日常类比:
- 想象你在十字路口,需要选择一条路继续前进:
- 每条路有一个“通行时间“ (边权);
- 你更倾向于选择“通行时间短“的路,但也有一定概率选择其他路;
- 就是“选择路 的概率“。
2.2 示例:二维格子图的转移分布
例2.2(二维格子图)
考虑二维整数格子 ,每个顶点 有4个邻居(上下左右),边权都是1。
从顶点 出发的转移分布:
归一化:
观察:由于所有边权相同,转移分布是均匀分布(每个邻居概率1/4)。
2.3 图示:转移分布的可视化
graph TD
x["顶点 x"]
y1["邻居 y₁<br/>w=1"]
y2["邻居 y₂<br/>w=2"]
y3["邻居 y₃<br/>w=3"]
x -->|"概率 m_x(y₁)"| y1
x -->|"概率 m_x(y₂)"| y2
x -->|"概率 m_x(y₃)"| y3
style x fill:#e1f5ff
style y1 fill:#e1ffe1
style y2 fill:#fff4e1
style y3 fill:#ffe1e1
说明:
- 顶点 有3个邻居;
- 边权分别是1, 2, 3;
- 转移概率:
3. Wasserstein距离:测度之间的“运输代价“
3.1 定义:一阶Wasserstein距离
两个概率分布 和 之间的“距离“如何度量?
定义 3.1(一阶Wasserstein距离)
对两个概率测度 在 上,定义一阶Wasserstein距离为:
其中下确界遍历所有耦合(coupling),即满足:
直观理解:
- 可以理解为“在位置 有质量 “;
- 我们想把 的质量“运输“到 的位置;
- 表示“从位置 运输到位置 的质量“;
- 是运输单位质量的代价;
- 是“最优运输方案“的总代价。
日常类比:
- 想象你有一堆沙子分布在位置 ,需要重新堆成分布 ;
- 每移动一单位沙子距离 的代价是 ;
- Wasserstein距离就是“最省力的堆沙子方案“的总代价。
3.2 Kantorovich对偶形式
Wasserstein距离有一个等价的对偶形式,在理论证明中很有用:
命题 3.2(Kantorovich对偶,源自 euler-gls-info/02-discrete-complexity-geometry.md 附录B.1)
其中 是所有1-Lipschitz函数的集合,即满足:
直观理解:
- 对偶形式说:Wasserstein距离 = “最大的Lipschitz泛函差异”;
- 这在证明中非常有用,因为可以避免直接处理复杂的耦合。
3.3 示例:两点分布的Wasserstein距离
例3.3(两点分布)
考虑两个Dirac分布:
- (质量全部集中在点 );
- (质量全部集中在点 )。
则:
证明:唯一的运输方案是“把点 的质量全部运到点 “,代价是 。□
4. 离散Ricci曲率的定义:从Wasserstein到曲率
4.1 定义:复杂性图上的Ricci曲率
现在我们可以定义离散Ricci曲率了。
定义 4.1(离散Ricci曲率,源自 euler-gls-info/02-discrete-complexity-geometry.md 定义4.2)
对 ,定义从 到 的离散Ricci曲率为:
直观理解:
- :顶点 和 之间的复杂性距离(最短路径代价);
- :从 和 出发随机游走一步后,两个分布之间的Wasserstein距离;
- 若 ,则 :路径汇聚(正曲率);
- 若 ,则 :路径发散(负曲率)。
符号解释:
- :非负曲率,路径汇聚,体积增长受控;
- :零曲率,路径平行,线性增长;
- :负曲率,路径发散,指数增长。
日常类比:
- 正曲率(球面):两个人从赤道不同点出发,向北走,会在北极相遇(路径汇聚);
- 零曲率(平面):两个人沿平行线走,永远保持相同距离(路径平行);
- 负曲率(马鞍面):两个人从中心不同点出发,会越走越远(路径发散)。
4.2 示例:二维格子图的曲率
例4.2(二维格子图的曲率)
考虑二维整数格子 ,边权都是1。计算相邻顶点 和 之间的曲率。
-
复杂性距离:(一步可达)。
-
转移分布:
- 在4个邻居 上均匀分布,每个概率1/4;
- 在4个邻居 上均匀分布,每个概率1/4。
-
Wasserstein距离:
- 两个分布有1个共同支撑点:(0,0)和(1,0);
- 需要“运输“的质量:3/4(从一边3个邻居到另一边3个邻居);
- 平均运输距离:约1(相邻格点);
- 。
-
曲率:
结论:二维格子图的曲率约为0(零曲率),对应平面几何。
4.3 图示:正曲率、零曲率、负曲率的对比
graph TD
subgraph "正曲率: 路径汇聚"
x1["x"] -->|"一步"| a1["a"]
x1 --> b1["b"]
y1["y"] -->|"一步"| a1
y1 --> c1["c"]
a1 -.->|"更近"| a1
style a1 fill:#e1ffe1
end
subgraph "零曲率: 路径平行"
x2["x"] -->|"一步"| a2["a"]
x2 --> b2["b"]
y2["y"] -->|"一步"| c2["c"]
y2 --> d2["d"]
style a2 fill:#fff4e1
style c2 fill:#fff4e1
end
subgraph "负曲率: 路径发散"
x3["x"] -->|"一步"| a3["a"]
x3 --> b3["b"]
y3["y"] -->|"一步"| c3["c"]
y3 --> d3["d"]
a3 -.->|"更远"| c3
style a3 fill:#ffe1e1
style c3 fill:#ffe1e1
end
style x1 fill:#e1f5ff
style y1 fill:#e1f5ff
style x2 fill:#e1f5ff
style y2 fill:#e1f5ff
style x3 fill:#e1f5ff
style y3 fill:#e1f5ff
说明:
- 正曲率:从 和 出发走一步,两个分布的Wasserstein距离小于 (路径汇聚);
- 零曲率:Wasserstein距离等于 (路径平行);
- 负曲率:Wasserstein距离大于 (路径发散)。
5. 曲率与体积增长:核心定理
5.1 定理:非负曲率 → 多项式增长
定理 5.1(非负曲率下的多项式增长,源自 euler-gls-info/02-discrete-complexity-geometry.md 定理4.4)
假设复杂性图是局域有限的有向图,其对称版度有界,且存在 ,使得对所有相邻 有:
则存在常数 与 ,使得对所有 有:
特别地,。
证明思路(源自 euler-gls-info/02-discrete-complexity-geometry.md 附录B.2):
-
曲率下界的含义:
- 若 ,则 ;
- 这意味着“从 和 出发随机游走一步,两个分布的距离至多缩小到原来的 倍“。
-
随机游走的收缩性:
- 令 为转移算子(由 定义);
- 对任意两个分布 ,有:
- 这说明随机游走每一步都使分布“收缩“。
-
体积增长的控制:
- 收缩性意味着“从起点出发的随机游走不会快速扩散“;
- 利用离散版Bishop-Gromov比较定理(类似连续情形);
- 可以证明复杂性球的体积至多多项式增长:。
证毕。□
日常类比:
- 在正曲率空间(例如球面)中,即使你可以朝任何方向走,但由于“空间向内弯曲“,你能到达的范围是有限的(多项式增长)。
5.2 定理:负曲率 → 指数增长
定理 5.2(严格负曲率下的指数增长,源自 euler-gls-info/02-discrete-complexity-geometry.md 定理4.5)
假设存在 与 ,使得对所有满足 的点对有:
则存在常数 与 ,使得对所有 :
证明思路(源自 euler-gls-info/02-discrete-complexity-geometry.md 附录B.3):
-
曲率上界的含义:
- 若 ,则 ;
- 这意味着“从 和 出发随机游走一步,两个分布的距离至少扩大到原来的 倍“。
-
随机游走的发散性:
- 对任意两个分布 ,有:
- 这说明随机游走每一步都使分布“发散“。
-
树状扩张子图的构造:
- 利用发散性,可以在复杂性图中找到一个“树状扩张“的子图;
- 在这个子图中,从 出发,每增加固定预算 ,可达点数至少乘上常数因子 ;
- 因此 (指数增长)。
证毕。□
日常类比:
- 在负曲率空间(例如马鞍面)中,由于“空间向外弯曲“,不同路径会快速发散,你能到达的范围呈指数增长。
5.3 对比表:曲率与体积增长
| 曲率 | Wasserstein距离 | 随机游走行为 | 体积增长 | 复杂性维数 | 典型空间 |
|---|---|---|---|---|---|
| 收缩(汇聚) | 球面、正曲率流形 | ||||
| 平行 | 平面、欧氏空间 | ||||
| 发散 | 双曲面、负曲率流形 |
6. 曲率的计算方法:实际问题中如何计算
6.1 步骤1:计算转移分布
给定复杂性图 和顶点 :
- 找出 的所有邻居 ;
- 计算权重 ;
- 归一化:。
6.2 步骤2:计算Wasserstein距离
对于两个离散分布 和 :
-
简化情形(支撑不重叠):
- 若 和 的支撑完全不重叠,则:
-
一般情形:
- 需要求解最优运输问题(线性规划);
- 在小规模图上可以用单纯形法或网络流算法。
6.3 步骤3:计算曲率
6.4 示例:完全二叉树的曲率
例6.1(完全二叉树的负曲率)
考虑完全二叉树,每个节点有2个子节点,边权都是1。
- 选择两个相邻顶点:根节点 和它的左子节点 ;
- 复杂性距离:;
- 转移分布:
- 在左子 和右子 上均匀分布:;
- 在根 和它的两个子节点 上均匀分布:。
- Wasserstein距离:
- 共同支撑:只有 (根)和 (左子)之间有重叠;
- 需要运输的质量:从 的 到 的 ;
- 运输距离:(两步);
- (简化估计)。
- 曲率:
观察:完全二叉树的曲率接近0或略负,这解释了为什么它有指数增长。
7. 曲率与问题难度的对应:实际问题分析
7.1 排序问题:正曲率 → P类
问题:给定 个数,排序。
配置空间:所有可能的排列,大小 。
算法:归并排序(分治)
- 每步操作:比较并合并;
- 配置图:每个配置(部分有序)有 个后继(可以合并的位置);
- 曲率分析:
- 在“接近有序“的配置附近,不同路径会汇聚到“完全有序“的状态;
- 曲率 (非负);
- 体积增长 (多项式)。
结论:排序问题对应非负曲率空间,属于P类。
7.2 旅行商问题:负曲率 → NP难
问题:给定 个城市,找到访问所有城市的最短路径。
配置空间:所有可能的访问顺序,大小 。
算法:暴力搜索(穷举)
- 每步操作:交换两个城市的顺序;
- 配置图:每个配置有 个后继(可以交换任意两个城市);
- 曲率分析:
- 在配置空间中,不同路径会快速发散(没有明显的“汇聚点“);
- 曲率 (负);
- 体积增长 (指数)。
结论:旅行商问题对应负曲率空间,属于NP难。
7.3 3-SAT问题:负曲率 → NP完全
问题:给定布尔公式(合取范式),判断是否可满足。
配置空间:所有可能的变量赋值,大小 。
算法:回溯搜索(穷举)
- 每步操作:给一个变量赋值(True或False);
- 配置图:树状结构,每个节点分裂成2个子节点;
- 曲率分析:
- 树状结构天然具有负曲率(每层分裂);
- 曲率 (强负);
- 体积增长 (指数)。
结论:3-SAT问题对应强负曲率空间,属于NP完全。
8. 本篇总结与关键公式回顾
8.1 核心定义
| 概念 | 定义 | 来源 |
|---|---|---|
| 转移分布 | 定义2.1 | |
| Wasserstein距离 | 定义3.1 | |
| 离散Ricci曲率 | 定义4.1 |
8.2 核心定理
| 定理 | 条件 | 结论 | 编号 |
|---|---|---|---|
| 非负曲率 → 多项式 | , | 定理5.1 | |
| 负曲率 → 指数 | , | 定理5.2 | |
| 曲率与收缩 | 定理4.3 |
8.3 关键公式
| 公式 | 含义 | 来源 |
|---|---|---|
| 正曲率,路径汇聚,多项式增长 | 定义4.1 | |
| 零曲率,路径平行,线性/多项式增长 | 定义4.1 | |
| 负曲率,路径发散,指数增长 | 定义4.1 | |
| Dirac分布的Wasserstein距离 | 例3.3 |
8.4 日常类比总结
| 几何概念 | 日常类比 |
|---|---|
| 正曲率 | 球面:向北走会在北极相遇(路径汇聚) |
| 零曲率 | 平面:平行线保持平行(路径平行) |
| 负曲率 | 马鞍面:从中心走会越走越远(路径发散) |
| Wasserstein距离 | 堆沙子的最优运输方案代价 |
| 转移分布 | 十字路口选择道路的概率分布 |
8.5 与前篇的对接
- 23.3:定义复杂性图、复杂性距离、复杂性球;
- 23.4:证明有界度 → 多项式、指数 → 无限维;
- 本篇(23.5):引入离散Ricci曲率,证明曲率 ↔ 体积增长,建立“曲率–问题难度“的定量联系;
- 下一篇(23.6):引入信息几何,研究“任务感知的信息距离“与复杂性的关系。
8.6 关键洞察
-
曲率比度更本质:
- 度有界只是充分条件,曲率非负才是本质原因;
- 负曲率即使在度有界的图中也会导致指数增长。
-
曲率刻画路径的几何行为:
- 正曲率:路径汇聚,容易找到最优解(P类);
- 负曲率:路径发散,难以穷举所有可能(NP难)。
-
随机游走的收缩与发散:
- 正曲率 → Wasserstein距离每步收缩 → 体积增长受控;
- 负曲率 → Wasserstein距离每步发散 → 体积指数爆炸。
-
问题难度是几何属性:
- P/NP不仅是“算法属性“,更是“配置空间的几何属性“;
- 曲率是几何不变量,不依赖于具体算法选择。
9. 开放问题与展望
-
曲率的精确计算:
- 对于给定的复杂性图,如何高效计算所有边的曲率 ?
- 是否存在“局部曲率采样“的方法估计全局曲率分布?
-
曲率与算法设计:
- 能否利用曲率信息指导搜索算法?(例如优先探索“高曲率区域“)
- 能否设计“曲率自适应“的启发式算法?
-
量子算法的曲率解释:
- Shor算法、Grover搜索在经典配置空间中对应什么曲率?
- 量子干涉如何改变有效曲率?
-
高阶曲率:
- Ricci曲率是“截面曲率的平均“,能否在离散图上定义“截面曲率“?
- 高阶曲率(Riemann曲率张量)在复杂性几何中有什么意义?
这些问题将在后续章节中部分探讨。
下一篇预告:23.6 任务感知的信息几何:从复杂性到信息
在下一篇中,我们将引入信息几何,研究:
- 观察算子族 :如何测量配置的“信息“?
- 任务相对熵 :不同配置在特定任务下的信息差异;
- Jensen-Shannon距离 :任务感知的信息距离;
- Fisher信息矩阵 :信息几何的度量张量;
- 信息维数与复杂性维数的关系:(定理)。
通过这些技术,我们将看到:复杂性几何(第23.3-23.5篇)与信息几何(第23.6-23.7篇)是配置空间的两个互补视角——前者刻画“路径代价“,后者刻画“信息质量“。
源理论:euler-gls-info/02-discrete-complexity-geometry.md,euler-gls-info/03-discrete-information-geometry.md