skip to content
Clifford Chen
Table of Contents

Counting Theorem 要解决的问题是:

已经知道全部对象组成的集合 (X),也知道允许哪些变换。把能够互相变换的对象视为同一种,究竟还剩多少种?

它给出的答案是:每个变换所固定的对象数,取平均,恰好等于真正不同的种类数。

这个“平均”确实不容易凭空想到。我们从更自然的问题出发:同一种对象被重复记录了多次,怎样调整计数,让每一种最终只算一次?

先看一个很小的例子。

两个固定位置,每个位置放一颗红珠或蓝珠。全部配置是

[ X={RR,RB,BR,BB}. ]

允许两个操作:

[ G={e,s}, ]

其中 (e) 表示不动,(s) 表示交换左右两个位置。

允许交换后,(RB) 和 (BR) 属于同一种,因此有三个轨道:

[ {RR},\qquad {RB,BR},\qquad {BB}. ]

这里一个“对象”是一整幅配置,例如 (RB);不是其中的一颗珠子。

现在先不用任何定理。我们想给每幅配置一个计数权重,使每个轨道加起来恰好等于 (1)。

那么自然应该这样分配:

[ \begin{array}{c|cccc} \text{对象}&RR&RB&BR&BB\ \hline \text{权重}&1&\frac12&\frac12&1 \end{array} ]

因为:

[ {RR}\text{ 贡献 }1, ]

[ {RB,BR}\text{ 贡献 }\frac12+\frac12=1, ]

[ {BB}\text{ 贡献 }1. ]

把权重加起来:

[ 1+\frac12+\frac12+1=3, ]

正好得到轨道数。

这就是整个证明的起点:一个轨道若有 (k) 个对象,就让每个对象贡献 (1/k)。


现在推广。设有限群 (G) 作用在有限集合 (X) 上。

对于对象 (x),它的轨道是

[ \operatorname{orb}(x)={g(x):g \in G}. ]

轨道就是“与 (x) 属于同一种”的全部对象。

如果它所在的轨道有 (k) 个对象,那么每个对象应该贡献 (1/k)。因此,若轨道数为 (t),我们已经得到:

[ \boxed{ t=\sum_{x\in X}\frac1{|\operatorname{orb}(x)|}. } \tag{1} ]

为什么这个式子成立?因为按轨道分组以后,每一组都是

[ \underbrace{\frac1k+\cdots+\frac1k}_{k\text{ 项}}=1. ]

有 (t) 组,加起来就是 (t)。

不过,式子 (1) 还没有提供方便的计算办法,因为我们可能不知道各个轨道有多大。接下来的任务是:

能否用群操作的信息,算出这个权重 (1/|\operatorname{orb}(x)|)?

为此,定义稳定子:

[ \operatorname{Stab}(x)={g\in G:g (x)=x}. ]

它收集的是保持配置 (x) 不变的操作。

在刚才的例子中:

  • (RR) 被 (e,s) 都保持不变,因此稳定子大小是 (2);
  • (RB) 只有 (e) 保持不变,因此稳定子大小是 (1)。

注意到:

[ \frac{|\operatorname{Stab}(RR)|}{|G|} =\frac22=1, ]

[ \frac{|\operatorname{Stab}(RB)|}{|G|} =\frac12. ]

这正好就是我们需要的权重。一般情况下也成立:

[ \boxed{ \frac1{|\operatorname{orb}(x)|}

\frac{|\operatorname{Stab}(x)|}{|G|}. } \tag{2} ]

式子 (2) 就是轨道-稳定子定理的另一种写法。下面把它证明清楚。

固定一个对象 (x),让每个 (g\in G) 都作用在 (x) 上。按照“最后得到哪个对象”,把群操作分组。

对每个 (y\in\operatorname{orb}(x)),定义

[ T_y={g\in G:g (x)=y}. ]

例如,(T_x) 就是所有把 (x) 留在原状态的操作,所以

[ T_x=\operatorname{Stab}(x). ]

这些 (T_y) 将整个 (G) 划分成若干组:每个操作有唯一结果,所以不会遗漏,也不会分到两组。

关键是证明:每一组 (T_y) 都和 (T_x) 一样大。

选定一个把 (x) 送到 (y) 的操作 (h),即

[ h(x)=y. ]

给定任何 (s\in\operatorname{Stab}(x)),先做 (s),再做 (h),就有

[ (hs)(x)=h(s(x))=h(x)=y. ]

所以 (hs\in T_y)。

这给出一个对应:

[ \operatorname{Stab}(x)\longrightarrow T_y, \qquad s\longmapsto hs. ]

这个对应可逆。若 (g\in T_y),那么

[ (h^{-1}g)(x)=h^{-1}(y)=x, ]

所以 (h^{-1}g\in\operatorname{Stab}(x))。它就是恢复原来 (s) 的方法。

因此

[ |T_y|=|\operatorname{Stab}(x)|. ]

于是,整个 (G) 被分成了:

[ \underbrace{|\operatorname{orb}(x)|}_{\text{不同结果的数量}} ]

组,每一组都有

[ \underbrace{|\operatorname{Stab}(x)|}_{\text{产生同一个结果的操作数}} ]

个操作。所以

[ |G|

|\operatorname{orb}(x)|,|\operatorname{Stab}(x)|, ]

进而得到式子 (2)。

这说明:一个对象在全部群操作中“保持不变的比例”,恰好是它所在轨道大小的倒数。

这个比例正好可以用来修正重复计数。


把式子 (2) 代入式子 (1),得到

[ \begin{aligned} t &=\sum_{x\in X}\frac1{|\operatorname{orb}(x)|}\[2mm] &=\sum_{x\in X}\frac{|\operatorname{Stab}(x)|}{|G|}\[2mm] &=\frac1{|G|}\sum_{x\in X}|\operatorname{Stab}(x)|. \end{aligned} \tag{3} ]

此时已经知道:把每个对象的稳定子大小加起来,除以群大小,就能得到轨道数。

但逐个检查对象可能仍然很多。我们希望改成逐个检查操作。

于是定义:

[ \operatorname{fix}(g)={x\in X:g (x)=x}. ]

这里要仔细区别:

[ \operatorname{Stab}(x) \quad\text{固定对象 (x),寻找哪些操作保持它不变;} ]

[ \operatorname{fix}(g) \quad\text{固定操作 (g),寻找哪些对象被它保持不变。} ]

它们检查的是同一个条件:

[ g(x)=x. ]

用刚才的小例子,把所有检查结果填出来:

操作/对象(RR)(RB)(BR)(BB)这一行的 ✓ 数
不动 (e)(4)
交换 (s)--(2)
这一列的 ✓ 数(2)(1)(1)(2)

每列的 ✓ 数,就是那个对象的稳定子大小。例如 (RB) 这一列只有一个 ✓,所以

[ |\operatorname{Stab}(RB)|=1. ]

每行的 ✓ 数,就是那个操作的不动对象数。例如交换操作这一行有两个 ✓,所以

[ |\operatorname{fix}(s)|=2. ]

按列加和与按行加和,数的是完全相同的六个 ✓:

[ \underbrace{2+1+1+2}_{\text{各对象的稳定子大小之和}}

\underbrace{4+2}_{\text{各操作的不动对象数之和}}. ]

一般情况下,我们可以严格地定义这些 ✓ 组成的集合:

[ M={(g,x)\in G\times X:g (x)=x}. ]

按对象 (x) 分组:

[ |M|=\sum_{x\in X}|\operatorname{Stab}(x)|. ]

按操作 (g) 分组:

[ |M|=\sum_{g\in G}|\operatorname{fix}(g)|. ]

因此

[ \boxed{ \sum_{x\in X}|\operatorname{Stab}(x)|

\sum_{g\in G}|\operatorname{fix}(g)|. } \tag{4} ]

将式子 (4) 代入式子 (3),就得到 Counting Theorem:

[ \boxed{ t=\frac1{|G|}\sum_{g\in G}|\operatorname{fix}(g)|. } ]

证明完成。

对于小例子,这就是

[ t=\frac{4+2}{2}=3. ]


现在回看你之前一直困惑的“每个轨道贡献 (|G|) 个不动事件”。

它其实是上述权重思路去掉分母后的说法。

一个轨道有 (k) 个对象。我们想让每个对象贡献 (1/k),从而整个轨道贡献 (1)。轨道-稳定子定理告诉我们:

[ \frac1k=\frac{|\operatorname{Stab}(x)|}{|G|}. ]

所以也可以:

给每个对象记下它的不动操作数,再把整个轨道的总数除以 (|G|),结果恰好为 (1)。

在表格中的中间轨道 ({RB,BR}),两个对象各有一个 ✓:

[ \frac{1+1}{2}=1. ]

在轨道 ({RR}),只有一个对象,但它有两个 ✓:

[ \frac22=1. ]

这就是它们虽然大小不同,却都被正确算成“一种”的原因。

Counting Theorem 的数学直觉,是用对象自身的对称性,自动修正不同程度的重复计数。 小轨道的对象重复记录较少,就需要较大的权重;大轨道的对象重复记录较多,就需要较小的权重。稳定子大小除以 (|G|),恰好给出了这个权重。

最后把这些权重按操作重新加总,才出现了“平均不动对象数”这个看似意外的答案。

Comments