参考文章:
等价类计数问题
Burnside引理&Pólya定理
Burnside引理与Polya定理
置换群和Burnside引理,Polya定理
概念引入:
离散数学应该学过置换群的相关概念,置换本质就是映射,可以理解成一个正方形绕其中心逆时针旋转90度,就可以看作是正方形四个顶点的置换。
置换会形成一个环。且如果一个状态经过置换后跟原来相同,可以认为该状态为f的不动点。
有些题目中经常出现”本质不同的方案数“,一般是指等价类的数目,题目定义一个等价关系,满足等价关系的元素属于同一等价类。等价关系通常是一个置换集合F,如果一个置换能把其中一个方案映射到另一个方案中,就认为两者是等价的。
题目引入:
问题描述
一个由2*2方格组成的正方形,每个格子上可以涂色或不涂色,问共有多少种本质不同的涂色方案。
(若两种方案可通过旋转互相得到,称作本质相同的方案)
解法:
先看一共有多少方案,不考虑本质不同,一共16种
现在我们开始将本质相同的方案合并归类:
方案1:{1}
方案2:{2}
方案3:{3,4,5,6}
方案4:{7,8,9,10}
方案5:{11,12}
方案6:{13,14,15,16}
一共六种不同的方案
这里结合我们上面说的,旋转可以看作是置换,所有置换组成置换群。
如果x通过置换(旋转)得到y,说明x和y等价。
与x互相等价的一组元素组成一个集合,称为x的等价类。
不动元为旋转一定角度,图形不发生改变
在这个问题中,我们要求的就是有多少个等价类?
我们引入一个引理:burnside引理
burnside引理:
∣X/G∣=∣G∣−1⋅∑g∈G∣xg∣|X/G|=|G|^{−1}⋅∑_{g∈G}|x^g|∣X/G∣=∣G∣−1⋅g∈G∑∣xg∣
等价类的个数 = 每个置换中不动元的个数和 ➗置换群的大小
我们统计不动元的个数
不旋转(逆时针360度):不动元16个
逆时针90度,不动元2个{1,2}
逆时针180度,不动元4个{1,2,11,12}
逆时针270度,不动元2个{1,2}
置换群大小为4
∣X/G∣=16+2+4+24|X/G|=\frac{16+2+4+2}{4}∣X/G∣=416+2+4+2
Burnside’s引理:
∣X/G∣=∣G∣−1⋅∑g∈G∣xg∣|X/G|=|G|^{−1}⋅∑_{g∈G}|x^g|∣X/G∣=∣G∣−1⋅g∈G∑∣xg∣
等价类的个数 = 每个置换中不动元的个数和 ➗置换群的大小
等价类的个数=不动元个数的平均数
Burnside引理是一种计数方法,用来计算含有不等价类的数量
burnside算法的关键是找好“置换群”。
burnside引理首先就要列出所有nmn^mnm种可能的染色方案,然后找出每个置换下保持不变的方案数
如果当m或n很大的时候,这个方法就会非常繁琐,这时候就要用到Polya定理
Pólya引理:
Polya定理是Burnside引理的具体化,提供了计算不动点的具体方法
假设一个置换有k个循环,每个循环对应的所有位置颜色需要一致,而任意两个循环之间选色互不影响。因此,如果有m种可选颜色,则该置换对应的不动点个数为mkm^kmk,用其代替Burnside,就得到等价类数目为:
∣YXG∣=1∣G∣∑g∈G∣Y∣c(g)|\frac{Y^X}{G}|=\frac{1}{|G|}∑_{g∈G}|Y|^{c(g)}∣GYX∣=∣G∣1g∈G∑∣Y∣c(g)
染色方案数(等价类个数)=1珠子数(总置换数)∑对于每种置换颜色数(映射数)循环节数染色方案数(等价类个数)=\frac{1}{珠子数(总置换数)}\sum_{对于每种置换}颜色数(映射数)^{循环节数}染色方案数(等价类个数)=珠子数(总置换数)1对于每种置换∑颜色数(映射数)循环节数
c(g)表示第i个置换包含的循环个数
此时需要考虑的图如下:
颜色情况={不染色,染色}
G={逆时针90度,逆时针180度,逆时针270度,不转}
不转:a1=(1)(2)(3)(4) ,四个循环节
逆时针90度:(1,4,3,2)
逆时针180度:(1,3)(4,2)
逆时针270度:(1,2,3,4)
这个(1,3)就相当于逆时针旋转180,1会到3,3会到1,而与(2,4)互不相关
由Polya定理得:24+21+22+214=6\frac{2^4+2^1+2^2+2^1}{4}=6424+21+22+21=6
为什么Burnside引理种循环节里面是1 ~ 16种,而到Ploya考虑就成1 ~ 4了?
Burnside是对正方形染色后状态的置换(16种状态即16个元素),而Ploya是四个方格的置换(因此是4个元素)。m的k次方的计算方法正来自每个循环内的方格可以遍历m种颜色,而一共有k个循环。如果循环内的方格颜色不同就不是不动点了
例题:
luogu 1446
luogu 4980
UVA11255
UVA10601