置换群学习笔记
一、基本概念
- 群
在数学中,群(group)是由一个集合 \(G\),以及一个在 \(G\) 所有元素上进行的二元运算 \(\cdot\),符合「群公理」的代数结构,记作 \((G, \cdot)\)。
群公理包含下述四个性质:
-
满足封闭性。
-
满足结合律。
-
存在单位元(也称幺元)。
-
存在逆元。
而 子群 的定义则为:群 \((G,\cdot)\), \((H,\cdot)\),满足 \(H\subseteq G\),则 \((H,\cdot)\) 是 \((G,\cdot)\) 的子群。
- 置换
-
映射:两个序列间的元素的对应关系。
-
置换:一个序列到自身的一种映射。对序列 \(S = \{a_1,a_2,\dots,a_n\}\) 进行一次置换 \(f\),可得到:\(S' = \{a_{p_1},a_{p_2},\dots,a_{p_n}\}\),其中 \(p_1, p_2, \dots p_n\) 为 \(1, 2, \dots, n\) 的一个排列。该置换 \(f\) 记作:
(Attention:我们定义 \(p_1, p_2, \dots p_n\) 互不相同;但是 \(a_1, a_2, \dots a_n\) 可以相同,因为我们是在 序列 而非 集合 上定义的该变换。)
-
不变元:如果对于置换 \(f=\begin{pmatrix}a_1,a_2,\dots,a_n\\a_{p_1},a_{p_2},\dots,a_{p_n}\end{pmatrix}\),有一种合法的 排列 使得所有 \(a_x = a_{p_x}\),那么称这种排列为置换 \(f\) 的不变元。记 \(f\) 的不变元的数量为 \(\lambda(f)\)。(注意这个,在 Burnside 定理中要用到!)
-
置换乘法:对于两个置换 \(f, g\),它们的乘法记作 \(f \circ g\)。其实就是先在 \(S\) 上进行 \(f\) 的映射,再进行 \(g\) 的映射。
形式化地表示,对于 \(f=\begin{pmatrix}a_1,a_2,\dots,a_n\\a_{p_1},a_{p_2},\dots,a_{p_n}\end{pmatrix}\) 和 \(g=\begin{pmatrix}a_{p_1},a_{p_2},\dots,a_{p_n}\\a_{q_1},a_{q_2},\dots,a_{q_n}\end{pmatrix}\),有:
- 置换群:对于序列 \(S\) 它上面所有的置换,它们间的乘法满足封闭性、结合律、有单位元、有逆元,因此这些 置换 和 置换乘法 构成一个群。这个群的任意一个子群被称为 置换群。
二、Burnside 定理
Burnside 定理试图在解决一些带有旋转、对称 去重 的组合问题。而这些旋转、对称的变化过程正可以看作 置换。例如用三种颜色的珠子串成一条环形项链的方案数,这和线性的排列问题就不一样,有可能通过旋转、对称出现重复。
-
现有一个原序列 \(S\),它有若干元素,每个元素都有一个可能的取值。因此 \(S\) 有很多种可能的排列。
-
给定所有的置换,它们的集合为 \(G\),则称 \((G, \circ)\) 为 \(S\) 上的置换群。
-
如果 \(S\) 的一个排列通过 \(G\) 中的一个置换可以达到另一种不同的排列,则说明这两种排列是 等价 的。称若干种等价的排列属于一个 轨道。
我们现在要求的就是不同的轨道的数量。根据 Burnside 定理,不同轨道数量为:
证明需要用到群论知识,作者太菜了就先略过了 qwq。
没太明白也不用慌。看看下面几个练习(来自白书)。
- 把 \(1 \sim n\) 放在一个圆上,有多少种放法?
本题的特征是每个数字都不同,圆可以旋转但不能翻转。可以发现,一共有 \(n\) 个置换,分别为旋转 \(0, 1, 2, \dots, n-1\) 次。容易得到旋转 \(0\) 次是唯一一个存在不变元的置换。因此有答案:
- 用 \(n\) 个不同颜色的珠子串成一串项链,有多少种方法?
本题的特征是每种颜色都不同,可以旋转也可以翻转,因此共有 \(2n\) 个置换。容易得到旋转且翻转 \(0\) 次是唯一一个存在不变元的置换。因此有答案:
- 用两种颜色对正五边形上色,有多少种方法?
本题的特征是只能用两种颜色,可以旋转也可以翻转。一共有 10 种置换,分为两类:只旋转、既旋转又翻转。
-
只旋转:旋转 \(0^\circ\),显然有 \(2^5 = 32\) 种不变元;其余 \(4\) 个旋转角度只有全都涂红色、全都涂蓝色两种不变元。
-
既旋转又翻转:对于所有旋转角度,让顶点选一种颜色,让 \(2, 5\) 两个位置选同一种颜色,让 \(3, 4\) 两个位置选同一种颜色,共有 \(2 \times 2 \times 2 = 8\) 个不变元。
因此最终答案为:
《算法竞赛》这本书是不是拿脚编的啊,这里又给了一个错解……
题目已经把置换都给出了。现在的问题仅是求出每一种置换的 \(\lambda\)。我们可以通过并查集求出必须选相同颜色的牌有哪些,然后再用背包求解出不动点的数量。时间复杂度为 \(O(ms^3)\)。
三、Pólya 定理
- 循环
如果置换 \(f\) 可记作:
那么称 \(f\) 为一个循环置换。
显然,任意一个置换可拆为若干不相交的循环置换。因为若将置换的映射关系抽象为一张图,那么每个点都有一条出边和一条入边,一个置换就一定是若干环的集合。
定义 \(c(f)\) 为置换 \(f\) 可拆为的循环置换个数。
Pólya 定理实际是 Burnside 定理的一种特殊情况。
如果给定序列一定满足:有 \(n\) 个元素,每个元素有 \(m\) 种取值时,可以得到不同轨道个数:
证明:如果对于置换 \(f\),当前排列是一个不变元,那么对于一个循环,它其中的元素必须选择同样的取值。那么根据乘法原理,上式显然。
- P4980 【模板】Polya 定理:Polya + 数论推式子