Burnside引理和Polya定理之间的联系
最近,研究了两天的Burnside引理和Polya定理之间的联系,百思不得其解,然后直到遇到下面的问题:
对颜色限制的染色
例:对正五边形的三个顶点着红色,对其余的两个顶点着蓝色,问有多少种非等价的着色?
其中置换的方法有旋转 \(0^{\circ}, 72^{\circ}, 144^{\circ}, 216^{\circ}, 288^{\circ}\), 穿过一个点做对称轴进行翻转。
Burnside引理的证明
那么,在解决这个问题之间,我们首先要定义和证明一些东西:
在集合\(X\)的置换群的作用下,设\(G\)是\(X\)的置换群,\(C\)是\(X\)的着色集,且\(G\)作用在\(C\)下。
定义\(c\)(小写)保持不变的\(G\)中所有的置换的集合:
上面的公式含义就是:对于每一个确认的着色方案,我们都能确定一个置换的集合,使得集合内任意元素和\(c\)运算后的结果保持不变(感觉可以看成一个等价类)。
使着色\(c\)保持不变的所有的置换群的集合\(G(c)\)称为\(c\)的稳定核。
在\(f\)的作用下使着色\(c\)保持不变的\(C\)中的所有的着色集,(确定一个\(f\),就能得到一个\(c\)的集合)
这个就是后面的求解过程中,对于每一种置换,统计不动点的方式。
推论1:设\(c\)为\(C\)中的一种着色,那么与\(c\)等价的着色数
等于\(G\)中的置换数除以\(c\)的稳定核中的置换数的个数:
证明:
对于每一个置换\(f\),恰好存在\(|G(c)|\)个置换,这些置换作用在\(c\)上与\(f\)有相同的效果。因为总共有\(|G|\)个置换,所以与\(c\)等价的着色数为
是不是感觉一头雾水。。。没关系,我们通过一个典型的例子来进一步的解读:
例:对正方形的4个小格用两种颜色着色,可得多少种不同的图像?置换的方式有旋转0°,90°,180°,270°。
先画出所有的涂色方案:
假设我们选择涂色方案\(f_1\),在16中涂色的方案中,有多少的涂色方案预期等价呢?
下面就是关键了!!
Burnside定理:设\(G\)是\(X\)的置换群,而\(C\)是\(X\)中一个满足下面条件的着色集合:对于\(G\)中所有的\(f\)和\(C\)中的所有的\(c\)都有\(f*c\)仍在C中,则\(C\)中非等价的着色数\(N(G, C)\):
证明:
采用两种不同的计数的方法,然后使计数相等,最后化简求解。
一种方式是考察\(G\)中的每一个\(f\),并计算\(f\)保持着色不变的着色数然后求和。
另外一种方式就是考察\(C\)中的每一个\(c\),对保持不变的着色方案数求和:
两种计数方式的总和相等:
由推论1:
因此:
又在一个等价类里面,每一个元素的贡献都是:
一个等价类的和就是1。
所以:
是不是感觉一脸懵逼,没关系,我们继续用上面的例子来说明:
好了,我们这样就证明好了Burnside引理。
Polya定理
实际上,Polya定理仅仅是改变了Burnside引理右边的计数的方法,这使得计数变得更加的简单。
我们知道,在使用Burnside引理的时候我们首先要枚举出来所有的染色方案数,然后在每种置换的情况下,统计所有的染色方案不变的情况。这样的时间复杂度为置换数染色方案数\(O(置换数*染色方案数)\),进一步可知,我们的染色的方案数的时间空间复杂度是幂次级别的。
以例1为例,我们仅考虑每一个格点,不考虑位置,我们进行下面的计算:
注意\(q_2, q_4\)是两种不同的方案,他们是这样产生的:
置换\(f\)的循环分解中的循环个数记为
定理2:
设\(f\)是集合\(X\)的置换。如果我们用\(k\)种颜色对\(X\)的元素进行着色。设\(C\)是\(X\)所有的着色的集合。则\(f\)中保持着色不变的着色数为:
这个式子并没有证明,意思就是每一个循环节看成一个等价类,这个等价类里面的元素的颜色全都相同。
然后我们就可以愉快的给出Polya的表示的形式了:
Polya定理:
设\(Q\)(为了区分\(G\),实际上它们两的数量是相等的)是n个对象的一个置换群,用m种颜色涂染这n个对象,一个对象涂任意一种颜色,则在\(Q\)作用下不等价的方案数为:
有了上面的这些定理之后呢,我们还是不能证明我们最初的问题,还需要一个工具:母函数!!!
母函数求解本质不同的染色问题
例2:用4种颜色涂3个编号分别为1,2,3的求,设颜色为b(蓝),g(绿),r(红),y(黄)。
解:
展开后就能得到所有的64种方案了。
那么我们仅仅关系用了哪些颜色,而不关心在哪些球上染色呢?
我们可以有:
它们的系数和是64,将使用颜色相同的视为同一种方案的话,本质不同的染色方案数为20,因为有20个项。
例3:用3种颜色b(蓝),r(红色),y(黄色)染4个不同的球, 将4个球分为2组,每组2个,要求同组的球色相同。
展开后可以得到所有的方案。
我们改变Polya的表示方式,使之便于代入母函数。
Polya定理的母函数表示
我们将一个置换分解成若干的循环节之后。假设f的循环因子分解有\(e_1\)个1循环,\(e_2\)个2循环,\(\dots, e_n\)个n循环。
那么循环数\(\#(f)\)为
因为循环的类型仅取决于循环因子分解中的循环的阶数,与元素在哪一个循环中无关。所以,不同的置换可以有相同的类型,我们试图定义不同的类型来群分置换,所以引进n个未定的变元:
定义f的多项式为:
注释:它的定义是为了后面运用母函数的方便。
于是, 对于\(G\)中的每一个置换\(f\)的单项式进行求和,我们得到关于\(G\)中的置换按照类型的生成函数
合并同类项,\(z_1^{e_1}z_2^{e_2}\dots z_n^{e_n}\)的系数等于同种置换类型的个数。
于是\(G\)的循环指数定义为该生成函数除以\(G\)中的置换的个数\(|G|\),
我们以例1进行相应的说明:
变换的类型 | 置换拆分 | 置换的类型 | 单项式 |
---|---|---|---|
旋转0° | (1) (2) (3) (4) | (4, 0, 0, 0) | \(z_1^4\) |
旋转90° | (1 2 3 4) | (0, 0, 0, 1) | \(z_4\) |
旋转180° | (1 3) (2 4) | (0, 2, 0, 0) | \(z_2^2\) |
旋转270° | (4 3 2 1) | (0, 0, 0, 1) | \(z_4\) |
定理3:
设\(X\)是元素集合,\(G\)是\(X\)的置换群,\(\{u_1, u_2, \dots, u_k\}\)是k种颜色的集合,C是X的任意着色集。这时,针对各颜色的数目C的非等价着色数的生成函数是
这里其实就是将\((z_1, z_2, \dots, z_n)\)替换成多项式,至于为什么可以这样替换,可以体会一下前面举的一些关于生成函数统计不同的方案数的例子。
我们还是用例1来体会:
设颜色为w(白色),b(黑色)
我们将它的系数相加,得到答案为6,与Burnside引理和前面的一般的Polya公式的计算结果一致!
实际上,我们为什么可以用\(m^{\#(f)}\)代入一开始的Polya公式呢?实际上生成函数也可以解释,生成函数的系数和必然为\(m^{\#(f)}\)
哈哈,终于把所有的知识和需要用的定理铺盖完毕!
下面,我们来解决我们最初的问题:
例:对正五边形的三个顶点着红色,对其余的两个顶点着蓝色,问有多少种非等价的着色?
其中置换的方法有旋转 \(0^{\circ}, 72^{\circ}, 144^{\circ}, 216^{\circ}, 288^{\circ}\), 穿过一个点做对称轴进行翻转。
Burnside引理的解法
置换方式P | 循环因子分解(Polya定理使用) | 不变的着色数 |
---|---|---|
旋转\(0^{\circ}\) | ||
旋转\(72^{\circ}\) | ||
旋转\(144^{\circ}\) | ||
旋转\(216^{\circ}\) | ||
旋转\(288^{\circ}\) | ||
过1号点翻转 | ||
过2号点翻转 | ||
过3号点翻转 | ||
过4号点翻转 | ||
过5号点翻转 |
首先表示出所有的情况:
我们按照Burnside的定义,填写第三列的值:
旋转\(0^{\circ}\):
发现有16个不动点。
顺时针旋转\(72^{\circ}\) :
发现有0个不动点。
顺时针旋转\(144^{\circ}\):
发现有0个不动点。
同理我们算出旋转\(216^{\circ}, 288^{\circ}\) 的不动点的个数都是0。
穿过1号点(最上面的点,顺时针依次标号为1, 2, 3, 4, 5)的对称轴:
有两个不动点。
同理,依次通过2, 3, 4, 5号点的对称轴,进行翻转的不动点都为2个。
于是我们可以填写下面的表:
置换方式 | 循环因子分解(Polya定理使用) | 不变的着色数 |
---|---|---|
旋转\(0^{\circ}\) | 10 | |
旋转\(72^{\circ}\) | 0 | |
旋转\(144^{\circ}\) | 0 | |
旋转\(216^{\circ}\) | 0 | |
旋转\(288^{\circ}\) | 0 | |
过1号点翻转 | 2 | |
过2号点翻转 | 2 | |
过3号点翻转 | 2 | |
过4号点翻转 | 2 | |
过5号点翻转 | 2 |
由Burnside引理,我们可以计算出不同等价类的染色数目为:
实际上,我们有一个很直观的理解:
两个蓝色要么连在一起,要么两个蓝色中间间隔一个红色,总共有两种本质不同染色方案数。
Polya定理解法
Polya定理的基本形式:用m种颜色\(C ={c_1, c_2, \dots, c_m} 涂染个对象涂染n个对象S = {1, 2, \dots, n}\), 在S的置换群Q作用下, 不等价的方案数为:
我们先填写第二列的表:
仅仅对节点进行变换,不考虑颜色。
旋转\(0^{\circ}\):
旋转\(72^{\circ}\):
旋转\(144^{\circ}\):
同理我们可以算出旋转\(216^{\circ}, 288^{\circ}\)的循环节。
经过1号节点的对称轴:
同理可以计算经过其他的节点进行翻转的循环节。
然后我们就可以填写下面的表了:
置换方式P | 循环因子分解(Polya定理使用) | 循环节的类型\((z_1, z_2, z_3, z_4, z_5)\) |
---|---|---|
旋转\(0^{\circ}\) | (1) (2) (3) (4) (5) | (5, 0, 0, 0, 0) |
旋转\(72^{\circ}\) | (1 2 3 4 5) | (0, 0, 0, 0, 1) |
旋转\(144^{\circ}\) | (1 3 5 2 4) | (0, 0, 0, 0, 1) |
旋转\(216^{\circ}\) | (1 4 2 5 3) | (0, 0, 0, 0, 1) |
旋转\(288^{\circ}\) | (1 5 4 3 2) | (0, 0, 0, 0, 1) |
过1号点翻转 | (1) (2 5) (3 4) | (1, 2, 0, 0, 0) |
过2号点翻转 | (1 3) (2) (4 5) | (1, 2, 0, 0, 0) |
过3号点翻转 | (1 5) (3) (2 4) | (1, 2, 0, 0, 0) |
过4号点翻转 | (1 2) (3 5) (4) | (1, 2, 0, 0, 0) |
过5号点翻转 | (1 4) (2 3) (5) | (1, 2, 0, 0, 0) |
1个(5, 0, 0, 0, 0), 4个(0, 0, 0, 0, 1), 5个(1, 2, 0, 0, 0)类型的
然后我们代入母函数:
我们单独观察\(r^3b^2\)的系数,发现是\(\frac{20}{10} = 2\),与我们的Burnside引理的计算结果一致!!