前置知识
关系、映射等基本的东西就略啦。
群
对于集合 S≠∅ 与作用于 S 的元素的二元运算 ⋅ 构成的代数结构 (S,⋅),若满足
- 封闭性:∀a,b∈S, a⋅b∈S;
- 结合律:∀a,b,c∈S, (a⋅b)⋅c=a⋅(b⋅c);
- 存在单位元:∃e∈S, ∀a∈S,a⋅e=e⋅a=a;
- 存在逆元:∀a∈S, ∃b∈S, a⋅b=b⋅a=e,此时 a,b 互为逆元,称 b=a−1,a=b−1。
则 (S,⋅) 为一个群。
此外,若 T⊆S,T≠∅,且 (T,⋅) 是群,则称 (T,⋅) 为 (S,⋅) 的子群。
置换
对于有限集 A={a1,a2,⋯,an},定义双射的函数 f:A→A 是 A 的置换,一般性地记作
f=(a1a2⋯anap1ap2⋯apn),
此时则有 f(ai)=api。显然 p1..n 构成了一个 1∼n 的排列。
定义作用于置换的复合运算 ⋅(也可以被叫做乘法?),对于置换 f=(a1a2⋯anap1ap2⋯apn) 与置换 g=(ap1ap2⋯apnaq1aq2⋯aqn),有
f⋅g=(a1a2⋯anaq1aq2⋯aqn).
即
(f⋅g)(A)=g[f(A)].
接下来,为了引入置换群的概念,我们来研究复合运算的单位元、逆元与结合律。
首先,置换的复合运算具有单位元,即恒等变换 ι(iota, /aɪˈəʊtə/),例如 A 上的恒等变换为
ι=(a1a2⋯ana1a2⋯an).
可见
f⋅ι=ι⋅f=f.
另一个特殊元自然是逆元。对于置换 f=(a1a2⋯anap1ap2⋯apn),构造其逆元 f−1=(ap1ap2⋯apna1a2⋯an),那么有 f⋅f−1=f−1⋅f=ι。
复合运算具有结合律,即
(f⋅g)⋅h=f⋅(g⋅h).
最后,我们用 Pólya 定理中会涉及的循环置换的概念结束本节。
循环置换,也即轮换,是一类特殊的置换,形象体现为
f=(a1a2⋯an−1ana2a3⋯ana1)
若两个轮换 f1:A1→A1 和 f2:A2→A2 满足 A1∩A2=∅,则 f1,f2 不相交,考虑一个“乘积”运算,作用于 f1 和 f2,得到 f1∘f2:(A1∪A2)→(A1∪A2) 是一个置换。若把 f1,f2 理解为关系集,亦能简洁地写作:
f1∘f2=f1∪f2
(注:这里将置换、函数、映射、关系集等概念视为一体,或有失严谨性,但的确有助于从本质上理解乘法操作。)
显然,任何一个置换都可以唯一分解为若干轮换的乘积。对于置换 f,我们定义其拆分得到的轮换数量为 c(f)。
Burnside 引理与 Pólya 定理
概念引入
为让定理本身显得简洁明了,我们预先做一些陈述。
对于有限集 A,B 和作用于 A 的所有置换构成的群(即置换群)G,设所有 f:A→B 构成映射集合 X,即 X=BA。基于 g∈G 对 A 的作用,我们定义 g 对一个映射 f:A→B 的作用。设 f={⟨a,b⟩∣a∈A,b∈B},那么
g(f)={⟨g(a),b⟩∣a∈A,b∈B}.
在此基础上,定义等价类:若 f1,f2∈X,则 f1,f2 属于同一等价类,当且仅当 ∃g∈G, f1=g(f2)。同时,令 G 作用在 X 上产生的等价类集合为 G/X。
引例
稍作停顿,形象理解这些概念是重要而关键的一步。考虑对 2×2 的方格染色,每个格子可以染蓝色或白色,如在下图中:

一起把上面的对象一一具体化:
- A,一个 2×2 方格中的四个格子,它们是四个独立的元素。不妨从上到下,从左到右记作 a1,a2,a3,a4,则 A={a1,a2,a3,a4};
- B,颜色集合 {W(white),B(blue)};
- f:A→B,一种染色方案,例如 f={⟨a1,W⟩,⟨a2,B⟩,⟨a3,W⟩,⟨a4,B⟩} 就描述了 13 号图的染色方案;
- X,所有染色构成的集合;
- g(f),将已染好色的四个格子换换位置,得到的新的染色方案。例如 g=(a1a2a3a4a2a4a1a3)(即顺时针旋转 90∘)作用在 13 号图的染色方案上,得到 g(f)={⟨a2,W⟩,⟨a4,B⟩,⟨a1,W⟩,⟨a3,B⟩},对应到图上,16 号!正是 13 号图顺时针旋转 90∘ 的结果。
- 等价类,例如当 G 仅包括“保持不变”和“左右对称”两种置换,则等价类有 {1},{2},{3,4},{5,6},{7,8},{9,10},{11,12},{13,15},{14},{16}(数字为图的编号)。
轨道-稳定子(Orbit-Stabilizer)定理
为透彻地理解、证明并推广后续引理和定理,我们需要引入轨道和稳定子的概念,并证明轨道-稳定子定理。
G 和 X 的定义同上,并定义
轨道-稳定子定理:
|G|=|Gx||G(x)|.
证明
如果你对本节并不感兴趣,可跳过本节。搞 OI 的证结论干吗。
因为实在懒得写了,你得知道(至少说了解):
- 群论中的 Lagrange 定理,推荐学习地址 link;
- 陪集的定义,度娘 link。
尝试向 Lagrange 定理靠拢。因为对于 G 的子群 H,会有
|G|=|H|[G:H],
其中 [G:H] 为 H 在 G 中的不同左陪集数量,即
[G:H]=|{gH∣g∈G}|.
所以我们先证明 Gx 是 G 的子群。依次核对群的性质:
- 封闭性:∀f,g∈Gx,x∈X, (f⋅g)(x)=f(g(x))=f(x)=x,故 (f⋅g)∈Gx;
- 结合律:置换的复合自然有结合律咯;
- 单位元:ι(x)=x,自然有 ι∈Gx;
- 逆元:∀g∈Gx, g−1(x)=g−1(g(x))=(g−1⋅g)(x)=ι(x)=x,故 g−1∈Gx。
走到此,已有
|G|=|Gx|[G:Gx],
现只需证 |G(x)|=[G:Gx]。
尝试构造出一个 G(x) 与 (G:Gx) 之间的双射 φ。这里直接给出答案,令关系 φ 满足
φ={⟨g(x),gGx⟩∣g(x)∈G(x)},
下证 φ 的确是一个双射:
- 取 f(x)=g(x)∈Gx,左右 ⋅f−1,得到 ι(x)=x=(f−1⋅g)(x),随之则是 (f−1⋅g)Gx=Gx,左右 ⋅f,得 gGx=fGx;
- 取 fGx=gGx∈(G:Gx),同理可得 g(x)=f(x)。
- “既单又满”已体现,故 φ 是双射,|G(x)|=[G:Gx]。
综上,轨道-稳定子定理成立。□
Burnside 引理
Burnside 引理:在上述定义中,有
|X/G|=1|G|∑g∈G|Xg|,
其中
Xg={x∈X∣g(x)=x},
为 X 中的映射在 g 的作用下不改变的集合,称为 g 关于 X 的不动点集合。Burnside 引理则可用自然语言描述为:G 作用与 X 的等价类数量 等于 G 中的置换关于 X 的不动点集合大小的平均值。
证明
我们方才只证了引理的引理 qwq。现在回到 Burnside 引理的证明。
∑g∈G|Xg|=|{(g∈G,x∈X)∣g(x)=x}|=∑x∈X|Gx|=∑x∈X|G||G(x)| (Orbit-Stabilizer)=|G|∑Y∈X/G∑x∈Y|Gx|−1=|G|∑Y∈X/G∑x∈Y|Y|−1=|G||X/G|
移项即证。□
Pólya 定理
Pólya 定理:记号意义同 Burnside 引理部分,有
|X/G|=1|G|∑g∈G|B|c(g),
其中 c(g) 表示 g 拆分为不交的循环置换所得到的转置的数量。
证明
本节证明并不依赖于上一节证明,且你完全可以驾驭本节。不然讲 Burnside 引理就没用了。
对于 Burnside 引理,我们只需说明 |B|c(g)=|Xg|。不妨记 g=g1∘g2∘⋯∘gk,其中 gi (i=1,2,…,k) 为不交的循环转置。进一步,我们需要证明
∀f∈X, g(f)=f⇔(∀i∈[1,k], ∀u,v∈gi, f(u)=f(v)).
说人话:f 是 g 的不动点 等价于 对于 g 所拆分为的每个循环置换,其中的元素由 f 映射为同一值。
那么正确性显而易见了:一个环,顺序转一格和原来一样,当且仅当环上每个元素都一样。□
应用例
稍作休整,我们上一道经典的手玩题。
对于 2×2 的方格图,用两种颜色为每个格子染色,求旋转同构意义下本质不同的方案数。还是上文的图:

G 的元素,即“旋转”,那么有四种:
- 恒等变换(不旋转);
- 顺时针旋转 90∘;
- 顺时针旋转 180∘;
- 顺时针旋转 270∘。
逻辑上需要小心,我们必须穷举所有的置换,而不能有“转 90∘ 再转 180∘ 就是转 270∘ 之类的想法”。之后套用 Pólya 定理:
- 恒等变换:有 4 个循环;
- 顺时针旋转:有 1 个循环;
- 顺时针旋转:有 2 个循环;
- 顺时针旋转:有 1 个循环。
方案数:24+21+22+214=6,好耶!
完整的 Pólya 定理及扩展
概念引入
有时,我们想求的并非“所有染色方案”,而是“某种颜色染多少个时的方案”。在计数过程中将状态分类,这是 GF,即生成函数擅长的操作。在理解简单的 Pólya 定理后,我们向其中引入生成函数来将其扩展。
这里,我们先来定义循环指标。对于 n 元置换 g 的轮换分解,若有 bi 个大小为 i 的轮换,则 g 的循环指标为
Zg(x1,x2,⋯,xn)=n∏i=1xbii,
是一个 n 元生成函数。紧接着,定义置换群 G 的循环指标为
ZG=1|G|∑g∈GZg,
即它所包含的所有置换的循环指标的平均值。
Pólya × GF——完整的 Pólya 定理
在染色方案集 X=BA 的基础上,我们为每个颜色 b∈B 规定一个权值 ω(b)∈[0,+∞)∩N,并把权值均为 k 的颜色归为 k 类颜色。令 f(x) 是关于颜色类型,以类型数量为系数的生成函数,即
f(x)=∑i≥0fixi,
其中 fk 即权值为 k 的颜色数量。
Pólya 定理:设 F(x) 表示所有染色方案,关于颜色权和,以对应方案数为系数的生成函数,那么
F(x)=ZG(f(x),f(x2),⋯,f(xn)).
可以发现,令 f(x)=|B|,即所有颜色的全为 0,我们就得到了上文中简单形式的 Pólya 定理。自然,由简单的 Pólya 定理到这里生成函数形式的 Pólya 定理的推导过程也是平凡的,形象地考虑每个轮换的贡献即可,这里略过。
Emmm...先到这里叭,以后再更(咕)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现