Burnside引理和Polya定理笔记
作者:互联网
讲的东西越难,越要坚持做笔记!
以往的板子都记在剪贴板上,因为没什么推导。但群论不得不推导一堆。
置换与置换群
有限集合到自身的双射称为 置换。
e.g. 对于 \(\{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} \]可以看成是一个置换,或一个双射函数,其中 \(p_1 - p_n\) 是 \(1-n\) 的排列。
如果将集合中每个元素看成一个节点,一个置换关系看做有向边,最后的图看着是若干个环。
后面置换一般也作
\[ f=\begin{pmatrix}1,2,\dots,n\\ p_1,p_2,\dots,p_n \end{pmatrix} \]因为我们后面更关注每个元素究竟被映射到哪个元素,而非元素本身。
所有的置换方式的总和以及置换的乘法称为 置换群。置换群的子集也是 置换群。定义 \(f \cdot g\) 为依次经过 \(f\) 和 \(g\) 的置换的效果(当然也是置换)。
群的定义见 群论简介-群的定义-OI-wiki。
一个 循环 的定义如下
\[ (a_1,a_2,\dots,a_m)=\begin{pmatrix}a_1,a_2,\dots,a_{m-1},a_m\\ a_2,a_3,\dots,a_m,a_1\end{pmatrix} \]即将 \((a_1,a_2,\dots,a_m)\) 中的元素统一前移一位。按前面将置换看成有向图的说法,一个循环自身是一个环。
定义 相交 为两个循环中有相同的元素。
易证每一个置换都能写成若干循环的积。
一个置换的循环节定义为一个置换最多能写成的循环的数目。将置换看成有向图,一个置换的循环节就是其中含有的环数。
Burnside 引理
\[ L = \dfrac{1}{|G|} \cdot \sum_{j=1}^s D(g_j) \]其中符号解释在后面,再往后 \(4\) 段。
背景:见OI-wiki吧。
将染色方案(的集合)看成将 \(S\) 中元素映射到颜色的函数(的集合)就和 OI-wiki 的定义差不多了。
在OI中的应用差不多就是给定集合 \(S\)(这里可以是要被染色的正方形,点、珠子等),要求对 \(S\) 中的每个元素染色(构造映射函数),其中对于每个置换(\(g_j\),实际上可指翻转珠串,旋转珠串等)后得到的与其他染色方案(映射函数)相同的只计一次的,需保证置换任意复合后得到的结果能用一个置换表示。
\(D(g_j)\) 是置换 \(g_j\) 下所有染色方案(映射函数)不动点数,\(|G|\) 是置换群元素个数,\(L\) 是本质不同的染色方案(映射函数)数。
理解不动点:任意元素经过置换后相对应的元素的颜色相同,这一个置换即为一个不动点(如:项链经过翻转后珠子颜色排列与以前一样;格子顺时针旋转后看起来与以前一样),也即映射函数不变。
感性理解(约等于证明):本来,一个染色方案(映射函数)通过所有置换共会产生 \(|G|\) 个等价形式。若经过一个置换回到自身,则应该增加一个该元素以保证每个染色方案(映射函数)共有 \(|G|\) 个等价形式,体现在整体上是将总数+1。
注意映射函数与置换的区别:置换是一个双射,而且两者映射到的集合不同(一是自身,如转动珠子,一不是自身,如颜色,此时即为染色)。
Polya 定理
\[ L = \frac{1}{|G|} \cdot \sum_{i=1}^{s} m^{c(g_i)} \]其中 \(c(g_i)\) 为置换 \(g_i\) 的循环节数(循环节的定义见上面),\(m\) 是映射函数映射到的集合的元素数,即颜色数。
特殊要求(其他要求从 Burnside):要求所有从 \(S\) 到颜色的映射都合法,即元素(珠子,格子等)可以随便染色。
感性理解:其实这里的 \(m^{c(g_i)}\) 就是 Burnside 中的 \(D(g_i)\)。
若 \(g_i\) 的循环节为 \(k\) 且为不动点,每个元素经 \(g_i\) 变换后的元素染上的色必须相同,于是每个循环中的元素染上的色必须相同。所以一共有 \(m^{c(g_i)}\) 个不动点。
用处:同 Burnside,可以看做统计不动点的特殊方法。
poj 2409
一串珠子,\(n\) 个,染成 \(m\) 色,可旋转或翻转,求方案数。
因为每个珠子每个颜色都能染,考虑使用 Polya。
旋转:\(n\) 种置换,往后旋 \(i\) 次的循环节是 \(gcd(n, i)\)。
翻转:
- \(n\) 为奇,共 \(n\) 个置换,循环节 \(\frac{n+1}{2}\)。
- \(n\) 为偶,共 \(\frac{n}{2}\) 个置换,循环节 \(\frac{n}{2}\)。
套公式即得。
poj 2888
一串珠子,共 \(n\) 个 (\(n \leq 1e9\)),染成 \(m\) 色(\(m \leq 10\)),再给出几组限制,每次限制两色不能相邻,珠串可以旋转,求本质不同方案数。
因为每个珠子不是每个颜色都可以染,考虑使用 Burnside。
考虑旋转 \(i\) 次后的不动点个数。令 \(g=gcd(n,i)\),则所有编号模 \(g\) 同余的珠子同色。不动点数就是 \(n=g\) 时不考虑旋转的方案数了。
\(n\) 极大,\(m\) 却很小,可以使用矩乘。然后就和 这道题 差不多了。
据说,给别人讲懂才真正能理解一个知识点。
希望你能理解。
代码咕咕咕了。
因为不会多项式全家桶,不会写生成函数,概率太难,只能来写数论。
stO 多项式卷王\(\color{red}\text{Z}\color{black}\text{HY}\) Orz
参考资料:OI-wiki
才发现现在日报里有讲。
分类:笔记
标签:dots,映射函数,置换,元素,循环,不动点,Burnside,引理,Polya 来源: https://www.cnblogs.com/purplevine/p/16360107.html