首页 > 代码库 > ”乳罩图“ 的完美匹配:高温展开与顶点膨胀技巧
”乳罩图“ 的完美匹配:高温展开与顶点膨胀技巧
本文的目的是通过一个例子来介绍统计力学中精确可解模型的两个经典方法:高温展开和顶点膨胀。
问题是这样的:考虑这样一张非常类似 "bra" 的图:
注意这个图不是平面图!上面两条实线的边与下面两条实线的边分别是粘在一起的,左边两条实线的边和右边的两条实线的边也是分别粘合的;虚线部分不是边,只是用来描述粘合定向的。因此这个图的每个顶点的度数都是 3。
想象它的立体图:这是一个乳罩,已经穿戴在某个美女身上,则上下和左右的实线边相当于系的绳子。
问这个图有多少不同的完美匹配?
答案是 $64$ 种。你想知道为什么吗?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
首先介绍一个在计数组合学中要用到的技巧:高温展开。它来自物理学中的 Ising 模型。
设 $G$ 是一个有限连通图,顶点依次标记为 $1,2,\cdots,n$。给每个顶点 $i$ 赋以一个变量 $\sigma_i\in\{+1,-1\}$。每一种赋值方式 $\sigma=\{\pm1,\cdots,\pm1\}$ 叫做系统的一种状态,系统总共有 $2^n$ 种可能的状态 。
整个系统的配分函数 $Z$ 定义为
\[ Z=\sum_{\sigma}\prod_{(i,j)\in E}e^{k\sigma_i\sigma_j}.\]
这里内层的乘积号跑遍 $G$ 的所有边,外层的求和号跑遍所有 $2^n$ 种可能的状态,$k$ 是一个正常数。
求出一个系统的配分函数是非常重要的问题,Onsager 在 1944 年求出了二维 Ising 模型的配分函数的精确解,被看做是统计物理中第一个重大的理论成果,而三维 Ising 模型的精确解至今没有解决。
引理:$e^{k\sigma_i\sigma_j}=\cosh(k)(1+\sigma_i\sigma_j\tanh(k))$。
引理的证明:\[\begin{align}e^{k\sigma_i\sigma_j}&=\frac{e^{k\sigma_i\sigma_j}+e^{-k\sigma_i\sigma_j}}{2}+\frac{e^{k\sigma_i\sigma_j}-e^{-k\sigma_i\sigma_j}}{2}\\&=\cosh(k\sigma_i\sigma_j)+\sinh(k\sigma_i\sigma_j)\\&=\cosh(k\sigma_i\sigma_j)(1+\tanh(k\sigma_i\sigma_j))\\&=\cosh(k)(1+\sigma_i\sigma_j\tanh(k)).\end{align}\]
这里最后一个等号是因为 $\sigma_i\sigma_j=\pm1$,以及 $\cosh$ 和 $\tanh$ 分别是偶函数和奇函数。
现在我们用上面的引理来简化 $Z$:(为简单记 $a=\tanh(k)$)
\[\begin{align}Z&=\sum_{\sigma}\prod_{(i,j)\in E}\cosh(k)(1+\sigma_i\sigma_j\tanh(k))\\&=[\cosh(k)]^{|E|}\sum_{\sigma}\prod_{(i,j)\in E}(1+a\sigma_i\sigma_j).\end{align}\]
上面式子中的乘积展开的话,是对 $G$ 的所有子图 $H$ 求和:
\[\prod_{(i,j)\in E}(1+a\sigma_i\sigma_j)=\sum_{H}a^{|E(H)|}\prod_{(i,j)\in E(H)}\sigma_i\sigma_j.\]
因此\[\begin{align}Z&=[\cosh(k)]^{|E|}\sum_{\sigma}\sum_{H}a^{|E(H)|}\prod_{(i,j)\in E(H)}\sigma_i\sigma_j\\&=[\cosh(k)]^{|E|}\sum_{H}a^{|E(H)|}\sum_{\sigma}\prod_{(i,j)\in E(H)}\sigma_i\sigma_j.\end{align}\]
我们发现\[\begin{align*}\sum_{\sigma}\prod_{(i,j)\in E(H)}\sigma_i\sigma_j&=\sum_{\sigma}\sigma_1^{d_H(1)}\sigma_2^{d_H(2)}\cdots\sigma_n^{d_H(n)}\\&=(\sum_{\sigma_1=\pm1}\sigma_1^{d_H(1)})(\sum_{\sigma_2=\pm1}\sigma_2^{d_H(2)})\cdots(\sum_{\sigma_n=\pm1}\sigma_n^{d_H(n)}).\end{align*}\]
这里 $d_H(i)$ 表示顶点 $i$ 在子图 $H$ 中的度数。
如果 $d_H(i)$ 是奇数,那么 $\sum_{\sigma_i=\pm1}\sigma_i^{d_H(i)}=0$,否则等于 2。因此我们得到如下的高温展开公式:
\[Z=2^{|V|}[\cosh(k)]^{|E|}\sum_{\text{$H$ 为 $G$ 的欧拉子图}}a^{|E(H)|}.\]
这里 $G$ 的欧拉子图的定义是所有顶点度数都是偶数的子图。
高温展开公式可以帮助我们算出 $G$ 的欧拉子图的个数,这就是下面的定理:
定理:设 $G$ 是有限连通图,则 $G$ 的欧拉子图的个数为 $2^{|E|-|V|+1}$。
证明:设 $G$ 的欧拉子图的个数为 $N$,令 $k\to+\infty$,则 $\cosh(k)\sim\dfrac{e^k}{2}$,$a=\tanh(k)\sim1$,因此
\[ Z\sim2^{|V|}(\frac{e^k}{2})^{|E|}\cdot N.\quad k\to+\infty \]
那么另一边的 \[\sum_{\sigma}\prod_{(i,j)\in E}e^{k\sigma_i\sigma_j}\]
又怎样呢?在这个和式中,当所有 $\sigma_i$ 都是 +1 或者 -1 的时候,这两项的值最大,和为 $2 e^{k|E|}$,其它的项的阶都严格小于这两项,因此 $Z\sim 2e^{k|E|}$,$k\to+\infty$。两种估计相等就得出 $N=2^{|E|-|V|+1}$。
我们得到这个结论的途径看起来很曲折,是从一个看起来完全不相关的问题出发意外得到的。这是物理学家们推导出来的,毫不奇怪数学家们有更直接的做法(利用 Tutte 多项式或者线性代数),但是这个技巧是最初等的。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fisher 顶点膨胀技巧
顶点膨胀技巧是 Fisher 在求解二维 Ising 模型精确解的时候引入的一种图变换的技巧。以下是其中一个版本:
设 $G$ 是一个 3-正则图(每个顶点的度数都是 3),我们对 $G$ 进行如下的操作,把 $G$ 变成一个新图 $G‘$:对 $G$ 的每个顶点 $v$,把 $v$ "膨胀" 为一个 3-环,让这个 3-环的顶点代替 $v$ 与 $v$ 的 3 个邻居相连。图 $G‘$ 叫做 $G$ 的 Fisher 图。
定理 [Fisher]: 图 $G$ 的所有偶子图与图 $G‘$ 的所有完美匹配之间存在一一对应。
证明:设 $P$ 是 $G$ 的一个偶子图,令 $P^\ast$ 为 $P$ 在 $G$ 中的补子图:$P^\ast$ 的顶点集也是 $V(G)$,但是 $P^\ast$ 的边由不属于 $P$ 的那些边组成。由于 $P$ 是偶子图而 $G$ 是 3 次图,所以 $P$ 的每个顶点度数为 0 或者 2,从而 $P^\ast$ 的每个顶点度数为 1 或者 3。
我们来看 $P^\ast$,在一个顶点 $v$ 处,$P^\ast$ 只有两种可能:
第一种可能:顶点 $v$ 的三条边都属于 $P^\ast$,那么我们定义 $G‘$ 在此局部的匹配如右下图:
第二种可能:顶点 $v$ 的三条边中只有一条属于 $P^\ast$,则定义 $G‘$ 在此局部的匹配如右下图:
这样对给定的 $P^\ast$,我们在 $G‘$ 的每一个局部的 3-环 处都规定了匹配,那么这些局部的匹配 “拼起来”是否构成 $G‘$ 的匹配呢?这需要说明这些匹配是兼容的。比如说在 $G‘$ 中两个相邻的 3-环 $\Delta_1$ 和 $\Delta_2$,$v_1\in\Delta_1$ 和 $v_2\in\Delta_2$ 之间有边 $e$ 相连。如果 $\Delta_1$ 处的匹配是将 $v_1$ 和 $\Delta_1$ 中的另一个点匹配,而 $\Delta_2$ 处的匹配是将 $v_2$ 和 $v_1$ 匹配,那么这两个匹配显然是不兼容的。所以我们需要说明边 $e$ 要么同时被 $\Delta_1$ 和 $\Delta_2$ 使用,要么同时不被使用。这很容易:如果 $\Delta_1$ 使用了 $e$,说明在图 $G$ 中膨胀为 $\Delta_1$ 和 $\Delta_2$ 的两个顶点之间的边属于 $P^\ast$,从而 $\Delta_2$ 也使用了 $e$。
而反过来的逆映射也是很显然的,对 $G‘$ 的每一个匹配,将每一个 3-环收缩为单个顶点,得到一个顶点度数都是 1 或者 3 的图,再求补就得到 $G$ 的一个偶子图。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现在我们可以回答前面 "bra" 图的完美匹配的个数的问题了:把这个图记作 $G$,$G$ 满足这样的性质:
1. 它的顶点是若干个无公共顶点的 3-环的并。
2. 它的边由 3-环中的边和连接这些 3-环的边组成。
3. $G$ 的每个顶点度数是 3。
把 $G$ 的每个 3-环 收缩为一个顶点,得到的图记作 $H$,则 $H$ 是一个 3-正则图,于是 $G$ 的完美匹配的个数等于 $H$ 的偶子图的个数。我们已经用高温展开的技巧计算了 $H$ 的偶子图的个数为 $2^{|E(H)|-|V(H)|+1}$,下面把这些量用图 $G$ 的参数表示出来。
首先 $|V(H)|=|V(G)|/3$,其次图 $H$ 的所有顶点度数之和等于 $2|E(H)|$,而 $H$ 是 3-正则的,因此\[ 3|V(H)|=2|E(H)|,\]
即 $|E(H)|=|V(G)|/2$,所以 $G$ 的完美匹配的个数为
\[2^{|E(H)|-|V(H)|+1}=2^{\frac{|V(G)|}{6}+1}.\]
”乳罩图“ 的完美匹配:高温展开与顶点膨胀技巧