MathLabs

几何学

热带几何

用热带运算 ⊕=min⁡\oplus=\min 与 ⊗=+\otimes=+ 替换普通的加法与乘法,会把多项式曲线变成分段线性的图形;其源头可追溯到最短路径算法,其前沿则通向计数几何与非阿基米德几何中的未解难题。

直观从普通算术到热带算术

设想每一次"加法"都意味着在两个价格中挑选更便宜的那个,每一次"乘法"都意味着把沿某条路线的费用加总。在添加了 +∞+\infty 的数集上定义两个新运算:热带加法 a⊕b=min⁡(a,b)a \oplus b = \min(a, b) 与热带乘法 a⊗b=a+ba \otimes b = a + b。热带多项式就是把普通多项式里每个 ++ 读成 ⊕\oplus、每个 ×\times 读成 ⊗\otimes 所得到的式子。由于 ⊗\otimes 只是加法,像 x⊗3x^{\otimes 3}(即 xx 与自身热带相乘三次)这样的单项式就变成了 3x3x,整个多项式也就坍缩成有限多个线性函数的最小值。它的"零点集"不再是一条光滑曲线,而是使这一最小值同时被至少两个线性分支取得的点集——也就是一个拐角,或者说一张分段线性图。

为什么叫"热带"?这个名字是为了纪念伊姆雷·西蒙(Imre Simon,1943–2009),一位出生于匈牙利的巴西计算机科学家,他从20世纪70年代末开始率先在理论计算机科学中研究 min-plus 代数。他在自动机理论领域的法国同事们创造了"热带"这个形容词,以此友好地致意西蒙定居的圣保罗——地处南回归线以南——用斯特姆费尔斯和斯派尔后来的话说,这"没有更深的含义"。当数学家们意识到在 min-plus 半环上做代数几何会产生一套丰富而真正几何化的理论时,这个名字就此沿用下来。

例题: 手动计算一个热带多项式的值

考虑一元热带多项式 p(x)=min⁡(2x+3, x+1, 2)p(x) = \min(2x + 3,\ x + 1,\ 2),它来自普通多项式 2⊗x⊗2⊕1⊗x⊕22 \otimes x^{\otimes 2} \oplus 1 \otimes x \oplus 2(x2,x,x0x^2, x, x^0 的系数分别为 2,1,22, 1, 2)。求 p(1)p(1)。

解答

将 x=1x = 1 代入这三条线性分支:2(1)+3=52(1) + 3 = 5,1+1=21 + 1 = 2,以及常数分支 22。热带值就是这三个数的普通最小值:p(1)=min⁡(5,2,2)=2p(1) = \min(5, 2, 2) = 2。请注意第二条与第三条分支之间出现了相等(2=22 = 2)——这恰好就是分段线性图上的一个拐点,它是根的热带类比。

大学热带半环与热带曲线

定义: 热带半环

热带半环(采用 min-plus 约定)是集合 T=R∪{+∞}\mathbb{T} = \mathbb{R} \cup \{+\infty\} 配上热带加法 a⊕b=min⁡(a,b)a \oplus b = \min(a, b) 与热带乘法 a⊗b=a+ba \otimes b = a + b。它是一个半环而非环:⊕\oplus 与 ⊗\otimes 都满足交换律、结合律,且 ⊗\otimes 对 ⊕\oplus 满足分配律,但除 +∞+\infty 外没有元素存在加法逆元(不存在数 xx 使得对有限的 aa 有 min⁡(a,x)=+∞\min(a, x) = +\infty)。加法单位元是 +∞+\infty(因为 min⁡(a,+∞)=a\min(a, +\infty) = a),乘法单位元是 00(因为 a+0=aa + 0 = a)。(文献中同样常见对偶的 max-plus 约定,即 ⊕=max⁡\oplus = \max;两者通过 x↦−xx \mapsto -x 相互对应;本页始终采用 min-plus 约定。)

nn 个变量的热带多项式是有限多个 ⊗\otimes-单项式的 ⊕\oplus-和,即形如 p(x)=⨁α∈Scα⊗x⊗α=min⁡α∈S(cα+α⋅x)p(x) = \bigoplus_{\alpha \in S} c_\alpha \otimes x^{\otimes \alpha} = \min_{\alpha \in S} \big(c_\alpha + \alpha \cdot x\big) 的函数 p:Rn→Rp : \mathbb{R}^n \to \mathbb{R},其中 SS 是指数向量 α∈Zn\alpha \in \mathbb{Z}^n 组成的有限集,cα∈Rc_\alpha \in \mathbb{R}。这样的 pp 都是有限多个整数斜率仿射线性函数的逐点最小值,因而分段线性且凹。由 pp 定义的热带超曲面(当 n=2n = 2 时称为热带曲线)就是它的拐角轨迹 V(p)={x∈Rn:the minimum in p(x) is attained by at least two terms}V(p) = \{x \in \mathbb{R}^n : \text{the minimum in } p(x) \text{ is attained by at least two terms}\}——恰好就是 pp 不是线性的那些点的集合,是"多项式取零"的热带类比。

p(x)=⨁α∈Scα⊗x⊗α=min⁡α∈S(cα+α⋅x)p(x) = \bigoplus_{\alpha \in S} c_\alpha \otimes x^{\otimes \alpha} = \min_{\alpha \in S} \big(c_\alpha + \alpha \cdot x\big)

nn 个变量的热带多项式是有限多个 ⊗\otimes-单项式的 ⊕\oplus-和,即形如 p(x)=⨁α∈Scα⊗x⊗α=min⁡α∈S(cα+α⋅x)p(x) = \bigoplus_{\alpha \in S} c_\alpha \otimes x^{\otimes \alpha} = \min_{\alpha \in S} \big(c_\alpha + \alpha \cdot x\big) 的函数 p:Rn→Rp : \mathbb{R}^n \to \mathbb{R},其中 SS 是指数向量 α∈Zn\alpha \in \mathbb{Z}^n 组成的有限集,cα∈Rc_\alpha \in \mathbb{R}。这样的 pp 都是有限多个整数斜率仿射线性函数的逐点最小值,因而分段线性且凹。由 pp 定义的热带超曲面(当 n=2n = 2 时称为热带曲线)就是它的拐角轨迹,即至少有两条线性分支同时取得最小值的点集:V(p)={x∈Rn:∣{α∈S:cα+α⋅x=p(x)}∣≥2}V(p) = \{x \in \mathbb{R}^n : |\{\alpha \in S : c_\alpha + \alpha \cdot x = p(x)\}| \ge 2\}——恰好就是 pp 不是线性的那些点的集合,是"多项式取零"的热带类比。

例题: 热带直线

考虑两个变量中最简单的、所有系数都为 00 的 11 次热带多项式 q(x,y)=x⊕y⊕0=min⁡(x,y,0)q(x, y) = x \oplus y \oplus 0 = \min(x, y, 0)。求它的拐角轨迹(即它所定义的热带曲线),并描述每一项各自取胜的三个区域。

解答

三条线性分支分别是 xx、yy 与 00。两两比较:当 x<yx < y 且 x<0x < 0 时,xx 是唯一的最小值;当 y<xy < x 且 y<0y < 0 时,yy 是唯一的最小值;当 x>0x > 0 且 y>0y > 0 时,00 是唯一的最小值。拐角轨迹——即两条分支打平的地方——恰好由从原点发出的三条射线组成:射线 {x=y≤0}\{x = y \le 0\}(方向 (−1,−1)(-1,-1),此处 xx 分支与 yy 分支打平)、射线 {x=0, y≥0}\{x = 0,\ y \ge 0\}(方向 (0,1)(0,1),此处 xx 分支与常数分支打平)、以及射线 {y=0, x≥0}\{y = 0,\ x \ge 0\}(方向 (1,0)(1,0),此处 yy 分支与常数分支打平)。这个三叉图形——有时被戏称为"奔驰"曲线——就是热带直线:普通直线的热带类比。

∑j=1kwjvj=0\sum_{j=1}^{k} w_j v_j = 0
定理: 平衡条件

设 pp 是二元热带多项式,vv 是其热带曲线 V(p)V(p) 的一个顶点。设与 vv 相邻的 V(p)V(p) 的各条边具有本原整数方向向量 v1,…,vk∈Z2v_1, \dots, v_k \in \mathbb{Z}^2(每个都指向远离 vv 的方向)以及正整数权重 w1,…,wkw_1, \dots, w_k。则 ∑j=1kwjvj=0\sum_{j=1}^{k} w_j v_j = 0。

为什么成立?

这是一条守恒律,其结构与电路节点处的基尔霍夫电流定律完全相同:在 vv 附近,多项式 pp 是在 vv 处取得相等的那些仿射分支的最小值,而每条边正是其中恰好两个分支保持相等之处。当你绕 vv 走一圈时,每穿过一条边,pp 的斜率就会跳变一个与 wjvjw_j v_j 成比例的量;由于 pp 是一个良定义的连续函数,这些跳变在走完一整圈后必须相互抵消,这正是平衡方程。正是这种局部的相互抵消——而不是任意的多面体复形都具备——使得热带曲线成为真正代数意义上的曲线,即某个真实热带多项式的拐角轨迹,而不是射线与线段的任意拼凑。

证明

回顾 p(x)=min⁡α∈S(cα+α⋅x)p(x) = \min_{\alpha \in S}(c_\alpha + \alpha \cdot x) 与其牛顿多边形 conv(S)\mathrm{conv}(S) 的正则剖分 Δp\Delta_p 相对偶,该剖分通过将每个点 α∈S\alpha \in S 提升到高度 cαc_\alpha、再把下凸包投影回平面而得到。V(p)V(p) 的每条边 ee 都与 Δp\Delta_p 的某条边 e∗e^* 对偶:ee 与 e∗e^* 垂直(旋转 90∘90^\circ),且其权重 ww 等于 e∗e^* 的格长。V(p)V(p) 的每个顶点 vv 都与 Δp\Delta_p 的某个 22 维胞腔(多边形)σv\sigma_v 对偶,且与 vv 相邻的 V(p)V(p) 的边,按相应的循环顺序,恰好对应于 σv\sigma_v 的边界边。沿闭多边形 σv\sigma_v 的边界走一圈,其边向量 e1∗,…,ek∗e_1^*, \dots, e_k^* 之和为零——多边形会回到出发点:e1∗+⋯+ek∗=0e_1^* + \cdots + e_k^* = 0。旋转 90∘90^\circ 是一个线性映射 RR,在固定取向的选择下,每个 R(ej∗)R(e_j^*) 都等于 wjvjw_j v_j(权重 wjw_j 是 ej∗e_j^* 的格长,vjv_j 是 ej∗e_j^* 经旋转并缩放为本原向量后所得)。对 e1∗+⋯+ek∗=0e_1^* + \cdots + e_k^* = 0 两边同时施加线性映射 RR,得到 w1v1+⋯+wkvk=R(0)=0w_1 v_1 + \cdots + w_k v_k = R(0) = 0,这正是平衡条件。

来验证一下上面那条热带直线的平衡条件:在原点处,三条射线的本原方向分别是 (1,0)(1,0)、(0,1)(0,1)、(−1,−1)(-1,-1),每条的权重都是 11(因为 qq 的所有系数都为 00,所以牛顿三角形中每条对偶边的格长都是 11)。确实有 1⋅(1,0)+1⋅(0,1)+1⋅(−1,−1)=(0,0)1\cdot(1,0) + 1\cdot(0,1) + 1\cdot(-1,-1) = (0,0),在这个最简单的例子上验证了该定理。

进阶从形式赋值到真正的代数理论

上面的热带直线是用任意系数手工构造出来的,但最深刻的热带曲线来自对真实代数簇的热带化。设 KK 是一个配有赋值 val:K∗→R\mathrm{val} : K^* \to \mathbb{R} 的域——该函数满足 val(ab)=val(a)+val(b)\mathrm{val}(ab) = \mathrm{val}(a) + \mathrm{val}(b) 与 val(a+b)≥min⁡(val(a),val(b))\mathrm{val}(a+b) \ge \min(\mathrm{val}(a), \mathrm{val}(b))——例如 Puiseux 级数域 C{ ⁣{t}}\mathbb{C}\{\!\{t\}\}(其中 val\mathrm{val} 读取 tt 的最低次指数)或 pp 进数域 Qp\mathbb{Q}_p(其中 val\mathrm{val} 是 pp 进赋值)。将 val\mathrm{val} 逐坐标扩展为映射 trop:(K∗)n→Rn\mathrm{trop} : (K^*)^n \to \mathbb{R}^n,trop(x1,…,xn)=(val(x1),…,val(xn))\mathrm{trop}(x_1, \dots, x_n) = (\mathrm{val}(x_1), \dots, \mathrm{val}(x_n))。对于一个簇 X⊆(K∗)nX \subseteq (K^*)^n,其热带化 trop(X)\mathrm{trop}(X) 定义为像 trop(X(K))\mathrm{trop}(X(K)) 在 Rn\mathbb{R}^n 中的闭包。

将这套形式机制与真正的代数几何联系起来的最重要事实,就是热带几何基本定理:对于在具有非平凡赋值的代数闭域 KK 上由理想 II 所定义的簇 X=V(I)⊆(K∗)nX = V(I) \subseteq (K^*)^n,trop(X)\mathrm{trop}(X) 恰好等于对 II 中每个多项式做热带化并取其拐角轨迹的交集所得到的集合 V(trop(I)))V(\mathrm{trop}(I)))——也就是说,(由 XX 的实际点构造出的)解析热带化与仅由理想构造出的纯组合热带簇是一致的。米哈伊尔·卡普拉诺夫在1990年代证明了超曲面情形(只有一个定义多项式);对任意理想的一般陈述,连同借助格罗布纳理论与初始理想给出的完整证明,是在戴安·麦克拉根与伯恩德·斯特姆费尔斯 20152015 年出版的教材《Introduction to Tropical Geometry》中作为基本定理展开的,其基础是2000年代发展起来的热带格罗布纳基技术。

早在有人把这一切称为"热带"之前,计算机科学家就已经在手工做热带线性代数了。带权有向图上的全源最短路径问题正是 (min⁡,+)(\min, +) 代数的教科书式实例:设 AA 是 n×nn \times n 矩阵,AijA_{ij} 为从 ii 到 jj 的边权(若没有边则 Aij=+∞A_{ij} = +\infty,Aii=0A_{ii} = 0),那么热带矩阵乘法的定义与普通线性代数完全一样,只是把 ++ 换成 ⊕\oplus、把 ×\times 换成 ⊗\otimes:(A⊗B)ij=⨁k(Aik⊗Bkj)=min⁡k(Aik+Bkj)(A \otimes B)_{ij} = \bigoplus_k \big(A_{ik} \otimes B_{kj}\big) = \min_k \big(A_{ik} + B_{kj}\big)。

dij(k)=min⁡(dij(k−1), dik(k−1)+dkj(k−1))d_{ij}^{(k)} = \min\big(d_{ij}^{(k-1)},\ d_{ik}^{(k-1)} + d_{kj}^{(k-1)}\big)

设 AA 是无负权回路的 nn 顶点有向图的 (min⁡,+)(\min,+) 权重矩阵。记 A⊗mA^{\otimes m} 为 AA 与自身的 mm 次热带矩阵乘积。则元素 (A⊗(n−1))ij(A^{\otimes(n-1)})_{ij} 等于图中从 ii 到 jj 的最短路径长度。这正是 Floyd–Warshall 算法所计算的量,其递推式 dij(k)=min⁡(dij(k−1), dik(k−1)+dkj(k−1))d_{ij}^{(k)} = \min\big(d_{ij}^{(k-1)},\ d_{ik}^{(k-1)} + d_{kj}^{(k-1)}\big) 每次引入一个中间顶点,逐步构建出 A⊗(n−1)A^{\otimes(n-1)}。

为什么成立?

元素 (A⊗m)ij(A^{\otimes m})_{ij} 记录了从 ii 到 jj 使用**至多 mm 条边**的最优通路长度,因为热带矩阵乘法恰好就是"把第一段与剩余行程用加法组合起来,然后只保留最便宜的那个组合"——这正是最短路径的贝尔曼最优性原理。迭代 n−1n - 1 次就足够了,因为 nn 个顶点的图中最短简单路径所需的边数永远不会超过 n−1n - 1,所以再进行热带平方也无法改进结果。

证明

对 mm 作归纳。基础情形 m=1m = 1:(A⊗1)ij=Aij(A^{\otimes 1})_{ij} = A_{ij} 显然就是至多使用一条边的最优通路长度。归纳步骤:假设对每个 kk,(A⊗m)ik(A^{\otimes m})_{ik} 都等于至多使用 mm 条边从 ii 到 kk 的最短通路长度。则 (A⊗(m+1))ij=(A⊗m⊗A)ij=min⁡k((A⊗m)ik+Akj)(A^{\otimes(m+1)})_{ij} = (A^{\otimes m} \otimes A)_{ij} = \min_k\big((A^{\otimes m})_{ik} + A_{kj}\big)。任何一条从 ii 到 jj 且至多有 m+1m+1 条边的通路,要么本身已至多用了 mm 条边(由 k=jk = j、Ajj=0A_{jj} = 0 这一项覆盖),要么可以拆分为一条至多 mm 条边、从 ii 到某个顶点 kk 的通路,再加上最后一条边 k→jk \to j;对所有这样的 kk 取最小值,恰好得到 (A⊗(m+1))ij(A^{\otimes(m+1)})_{ij},故命题对 m+1m + 1 也成立。由于不存在负权回路,最短通路无需重复经过顶点,因此每条最短路径至多使用 n−1n - 1 条边;取 m=n−1m = n - 1 即得 (A⊗(n−1))ij(A^{\otimes(n-1)})_{ij} 恰为最短路径距离,这与 Floyd–Warshall 的递推式一致——后者通过依次固定中间顶点,而非按边数计数,来计算同一个量。

例题: 一次微小的热带矩阵平方

三个顶点 A,B,CA, B, C,有向边为 A→BA \to B(权重 44)、B→CB \to C(权重 33)、A→CA \to C(权重 99)。其 (min⁡,+)(\min,+) 权重矩阵为 A=(049∞03∞∞0)A = \begin{pmatrix} 0 & 4 & 9 \\ \infty & 0 & 3 \\ \infty & \infty & 0 \end{pmatrix}(行/列顺序为 A,B,CA, B, C)。计算 (A⊗A)AC(A \otimes A)_{AC},并与直接边权 99 比较。

解答

根据定义 (A⊗A)AC=min⁡k(AAk+AkC)=min⁡(AAA+AAC, AAB+ABC, AAC+ACC)=min⁡(0+9, 4+3, 9+0)=min⁡(9,7,9)=7(A \otimes A)_{AC} = \min_k(A_{Ak} + A_{kC}) = \min\big(A_{AA}+A_{AC},\ A_{AB}+A_{BC},\ A_{AC}+A_{CC}\big) = \min(0+9,\ 4+3,\ 9+0) = \min(9, 7, 9) = 7。热带平方找到了总权重为 77 的两条边路线 A→B→CA \to B \to C,严格优于权重为 99 的直接边——这恰好就是 Floyd–Warshall 在把 BB 视为中间顶点时所做的最短路径更新。由于最短路径这里只用了 2≤n−1=22 \le n - 1 = 2 条边,平方一次就已经足够。

一个有向图,具有指定的源点和汇点,以及若干由有向边相连的中间顶点;这里将其绘制为一个通用的带权网络,用以说明 min-plus(最短路径)矩阵计算,而非其通常的最大流用途。
这是目录中的"s–t 流网络"图,这里展示它并非用于其通常的最大流角色,而只是作为一个具体的带权有向图——它正是 (min⁡,+)(\min,+) 矩阵计算诞生的真实历史场景:Floyd 与 Warshall 在1960年代初提出的最短路径算法,早在任何人把这套代数称为"热带"的几十年前,就已经在精确计算上文所述的热带矩阵幂。

热带几何正处在一个真正的交汇点上。每个热带多项式 pp 都带有一个牛顿多胞形 conv(S)⊆Rn\mathrm{conv}(S) \subseteq \mathbb{R}^n,其系数 cαc_\alpha 会诱导出该多胞形的一个正则剖分(把每个 α\alpha 提升到高度 cαc_\alpha,再把下侧的面投影回去)——这正是凸几何与离散几何中的多面体机制。对偶地,经典代数簇 XX 的热带簇 trop(X)\mathrm{trop}(X) 把 XX 真正的代数几何数据(维数、次数及其大部分相交理论)编码进一个纯组合的对象之中,这也是为什么代数几何中的许多计算都可以在热带世界里完成。而且,由于每个热带多项式都是仿射线性函数的最小值,对它求值本身就是一个小型线性规划问题:热带几何与凸、线性优化共享同一个底层的 (min⁡,+)(\min, +)-线性结构,热带方法如今已直接融入线性与凸规划算法之中。

一个可旋转的三维四面体(四个三角形面),可通过"炸开"滑块把各面从中心拉开;这里将其作为凸多胞形一般形状的示意性替代,而非某个具体多项式的牛顿多胞形。
坦诚说明:这是一个通用四面体,是图库中现成的三维多胞形之一——它并不是本页任何具体热带多项式的牛顿多胞形。真正的牛顿多胞形(热带直线、平面二次曲线,或上面图论例子的牛顿多胞形)通常是 R2\mathbb{R}^2 或 R3\mathbb{R}^3 中简单得多的扁平多边形,而不是这种形状。这个交互组件如实展示的仅仅是带有平面、可以被拆分(炸开)的三维凸多胞形这一一般概念——它与上文所述通向凸几何与离散几何之桥梁背后的对象(由高度函数剖分的牛顿多胞形)属于同一类。

进阶百年成形:从自动机理论到代数几何

研究热带几何的现状

按照本页采用的 min-plus 约定,2⊕52 \oplus 5 等于多少?

由热带多项式 pp 所定义的热带曲线(拐角轨迹)是满足下列条件的点集:"

热带曲线顶点处的平衡条件 ∑jwjvj=0\sum_j w_j v_j = 0 之所以重要,是因为……

Floyd–Warshall 最短路径算法之所以是热带几何直接的历史先驱,是因为它本质上计算的是……

参考文献

  1. Diane Maclagan, Bernd Sturmfels (2015). Introduction to Tropical Geometry
  2. Grigory Mikhalkin (2005). Enumerative tropical algebraic geometry in R^2 · arXiv:math/0312530
  3. Imre Simon (1978). Limited subsets of a free monoid · DOI:10.1109/SFCS.1978.21