一些群论相关
读了 2019 年的集训队论文「浅谈群论在信息学竞赛中的简单应用」之后翻了一下以前写的 Burnside 引理发现写得太逊了,于是重构一份。
1. 群,子群和 Lagrange 定理
定义 1.1(群). 如果非空集合 \(G\) 和其上的一个二元运算 \(\circ\) 满足以下四个条件,则称二元组 \((G,\circ)\) 构成群(group)。
-
(封闭性)\(\forall\ f,g\in G,\ f\circ g\in G\)。
-
(结合律)\(\forall\ f,g,h\in G,\ (f\circ g)\circ h=f\circ (g\circ h)\)。
-
(单位元)\(\exists\ e\in G,\ s.t.\forall g\in G,\ g\circ e=e\circ g =g\)。
-
(逆元)\(\forall\ f\in G,\ \exists g\in G,\ s.t.f\circ g=g\circ f=e\)。我们称 \(g\) 为 \(f\) 的逆元,记做 \(g=f^{-1}\)。
这四个要求也被称为四条群公理。若无特殊说明,以下我们不区分集合 \(G\) 和定义在 \(G\) 上的群。
根据集合 \(G\) 是否是有限集合,还可以进一步区分有限群和无限群,我们称一个有限群的阶为集合 \(G\) 的大小 \(|G|\)。
事实上,很多东西都构成群。比如:
- 整数和加法,乘法均构成群。
- 所有的 \(n!\) 个置换构成 \(n\) 元对称群(Symmetric group),记做 \(S_n\)。
- 模 \(n\) 意义下的加法构成 \(n\) 阶循环群(Cyclic group),记做 \(Z_n\)。
- 正 \(n\) 边形的旋转,翻转构成 \(2n\) 阶二面体群(Dihedral group),记做 \(D_n\)。
集合有自己的子集,类似地,我们也可以定义群的子群:
定义 1.2(子群). 如果群 \((H,\circ)\) 和 \((G,\circ)\) 满足 \(\forall h\in H\) 都有 \(h\in G\),我们就称群 \(H\) 为 \(G\) 的子群(subgroup)。记做 \(H\leq G\)。
子群的一个重要性质是它满足四条群公理,这在之后的讨论中会有巨大多应用。
定义 1.3(陪集)对于元素 \(g\in G\) 和群 \(H\leq G\) 我们称集合 \(\{g\circ h\mid h\in H\}\) 为 \(H\) 在 \(G\) 中导出的一个左陪集(left coset),记做 \(gH\),类似地,也可以定义右陪集(right coset) \(Hg\)。
值得注意的是,我们只要求这是一个集合,而不要求它构成一个群,因为它并不一定存在逆元。
定理 1.4. 对于 \(H\leq G\),所有由 \(H\) 导出的陪集大小都相等,更进一步地,都等于 \(|H|\)。
证明. 首先易见 \(|gH|\leq |H|\)。现在考虑若 \(|gH|<|H|\),那么一定存在 \(h_1\neq h_2\) 使得 \(gh_1=gh_2\),那么 \(g^{-1}gh_1=g^{-1}gh_2\) 于是 \(h1=h2\),而这与假设矛盾。
定理 1.5. 对于 \(H\leq G\) 导出的两个陪集 \(g_1H\) 和 \(g_2 H\),要么 \(g_1H=g_2H\),要么 \(g_1H\cup g_2H=\emptyset\)。
证明. 考虑若 \(g_1 h_1=g_2 h_2\),那么 \(g_1=g_2(h_1h_2^{-1})\in g_2H\)。设 \(g_1=g_2h_3,\ h_3\in H\),于是对于所有的 \(h_4\in H\),总有 \(g_1h=g_2(h_3h_4)\in g_2H\),也即 \(g_1H\sube g_2H\),同理 \(g_2H\sube g_1H\),那么 \(g_1H=g_2H\)。
注意到 \(\forall\ H\leq G,\ g_0\in G,\ \exists\ g\in G\),使得 \(g_0\in gH\),也即 \(H\) 导出的所有互异陪集构成 \(G\) 的一个划分,由此我们直接有:
定理 1.6(Lagrange). 对于 \(H\leq G\),我们有:
其中 \([G:H]\) 为 \(H\) 能导出的不同陪集个数。
2. 群作用和轨道稳定子定理
OI 中用到的最常见的一类群就是关于置换的群了,这就是:
定义 2.1(置换群). 如果群 \(G\) 中的元素都是置换,我们就称 \(G\) 为一个置换群(Permutation group)。
有了置换群,我们现在就要考虑其中的元素对外界的作用了。
定义 2.2(染色). 我们称一个 \(n\) 元数对 \(c=(c_1,c_2,\cdots,c_n)\) 为一个 \(n\) 元的染色,其中 \(a_i\) 可以是任何东西。
定义 2.3(群作用).对于置换群 \(G\) 中的一个置换 \(g\in G\),我们定义它作用于染色 \(c\)上得到另一个染色 \(c'\),满足
记做 \(c'=g\cdot c\)。
比如染色 \((1, 3, 2, 1)\) 在置换 \((1, 3,2,4)\) 的作用下就会得到 \((1,2,3,1)\)。
定义 2.4(轨道). 我们称染色 \(c\) 在置换群 \(G\) 中的轨道(orbit)为染色集合 \(G\cdot c=\{g\cdot c\mid g\in G\}\)。
定义 2.5(稳定子群). 对于置换群 \(G\) 和染色 \(c\),我们记集合 \(G_c=\{g\mid g\in G,g\cdot c=c\}\),容易验证它满足群的四条公理,于是 \((G_c,\circ)\) 构成一个群,这被称为 \(c\) 在 \(G\) 中的稳定子群(Stable subgroup)。有时这也被简写为稳定子。
定理 2.6(轨道稳定子定理). 对于染色 \(c\) 和置换群 \(G\),总是有:
证明. 注意到 \(G_c\) 是一个 \(G\) 的子群,我们来考虑它的陪集。
一方面,如果 \(g_1,g_2\in gG_c\),那么 \(g_1\cdot c=g_2\cdot c=g\cdot c\),也即同一个陪集中的所有元素作用在 \(c\) 上得到相同的染色。
另一方面,如果 \(g_1G_c\cup g_2G_c=\empty\),那么 \((g_1G_c)\cdot c\cup (g_2G_c)\cdot c=\empty\),否则 \(g_1\cdot c=g_2\cdot c\),于是 \(g_2^{-1}\circ g_1\in G_c\) 也即 \(g_1\in g_2G_c\),最终导出 \(g_1G_c=g_2G_c\),矛盾。
于是我们会得到 \(|G\cdot c|=[G_c:G]\),最终得到上述定理。
3. 常见版 Burnside 引理
终于到了正题……首先我们先做一些定义。
定义 3.1(置换的不动点). 如果染色 \(c\) 和置换 \(g\) 满足 \(g\cdot c=c\),则称 \(c\) 为 \(g\) 的一个不动点。称 \(g\) 关于染色集合 \(X\) 的不动点个数为 \(X^g\)。
定义 3.2. 我们称两个染色 \(c_1\) 和 \(c_2\) 在置换群 \(G\) 中等价,当且仅当 \(\exists\ g\in G,\ s.t. g\cdot c_1=c_2\)。
注意到一个等价的说法 \(c_2\in G\cdot c_1\),也就是说,我们可以把等价意义下的不同元素数目看成是所有染色构成的不同轨道数,记染色集合 \(X\) 的在 \(G\) 中的互异轨道集合为 \(X/G\)。
定理 3.3 (Burnside). 对于置换群 \(G\) 和染色集合 \(X\),有
这个定理有一个经典的「算两次」证明法:
证明. 考虑计算集合 \(S=\{(g,c)\mid g\in G,\ c\in X,\ g\cdot c=c\}\) 的大小。
一方面,这就是右半边的柿子
另一方面,这就是
现在考虑每个轨道会被计算多少次,显然就是轨道大小那么多次,于是每个轨道的贡献就是
于是最后那个柿子就是不同的轨道数目,即 \(|X/G|\)。
最终就有:
Quite Easily Done.