Burnside引理与Polya定理
Posted zwfymqz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Burnside引理与Polya定理相关的知识,希望对你有一定的参考价值。
感觉这两个东西好鬼畜= = ,考场上出了肯定不会qwq。不过还是学一下吧用来装逼也是极好的
群的定义
与下文知识无关。。
给出一个集合$G = {a, b, c, dots }$和集合上的二元运算"$*$",并满足
(1).封闭性:$forall a, b in G, exists c in G, a * b = c$
(2).结合律:$forall a, b, c in G, (a * b) * c = a * (b * c)$
(3).单位元:$exists e in G, forall a in G, a * e = e * a = a$
(4). 逆元:$forall a in G, exists b in G, a * b = b * a = e$,记$b = a^{-1}$
则称集合$G$在运算“$*$”之下是一个群,简称$G$是群
置换
$n$个元素, $1, 2, dots n$之间的一个置换$egin{pmatrix} 1 & 2 & ldots n \ a_{1} & a_{2} & ldots a_{n} end{pmatrix}$表示$1$被$1$到$n$中的某个数$a_1$取代,$1$被$1$到$n$中的某个数$a_2$取代,$dots$直到$n$被$1$到$n$中的某个数$a_n$取代,且$a_1, a_2, dots a_n$互不相同
置换群
置换群的标准定义涉及到新定义,在OI中你可以简单的认为
置换群的元素是置换,运算是置换的连接,
例如$$egin{pmatrix} 1 & 2 & 3 & 4 \ 3 & 1 & 2 & 4 end{pmatrix}egin{pmatrix} 1 & 2 & 3 & 4 \ 4 & 3 & 2 & 1 end{pmatrix}=egin{pmatrix} 1 & 2 & 3 & 4 \ 2 & 4 & 3 & 1 end{pmatrix}$$
解释一下:
在第一个置换中,$1$变为$3$,第二个置换中$3$变为$2$,因此$1$先变为$3$再变为$2$
在第一个置换中,$2$变为$1$,第二个置换中$1$变为$4$,因此$2$先变为$1$再变为$4$
在第一个置换中,$3$变为$2$,第二个置换中$2$变为$3$,因此$3$先变为$2$再变为$3$
在第一个置换中,$4$变为$4$,第二个置换中$4$变为$1$,因此$4$先变为$4$再变为$1$
Burnside引理
设$G= {a_1,a_2, dots a_g}$是目标集$[1,n]$上的置换群,$C_i(a_i)$表示在置换$a_i$作用下不动点的个数。$L$表示本质不同的方案数,则
$$L = frac{1}{|G|} sum_{j = 1}^s D(a_j)$$
翻译成人话:有m个置换k种颜色,所有本质不同的染色方案数就是每种置换的不变元素的个数的平均数。
P♂lya定理
在Burnside引理中,$D(a_i)$,也就是不动点的个数往往不是很好计算。如果采用枚举每个元素的搜索算法,总时间复杂度为$O(nsp)$,其中$n$表示元素个数,$s$表示置换个数,$p$表示格子数
Polya定理对于特定的题目,提供了一种高效的计算方法
首先介绍一下循环的概念
$$left( a_{1}a_{2}ldots a_{n} ight) =egin{pmatrix} a_{1} & a_{2} & ldots & a_{n-1}a_{n} \ a_{2} & a_{3} & ldots & a_{n}a_{1} end{pmatrix}$$
称为$n$阶循环。每个置换都可以写成若干不相交的循环的乘积,两个循环$(a_1, a_2, dots a_n)$和$(b_1b_2 dots b_n)$互不相交是指$a_i ot =b_j,i, j = 1,2, dots n$
例如
$$egin{pmatrix} 1 & 2 & 3 & 4 & 5 \ 3 & 5 & 1 & 4 & 2 end{pmatrix}=left( 13 ight) left( 25 ight) left( 4 ight)$$
解释一下,$1$先变成$3$,$3$再变成$1$,这样无限递归下去$(1,3)$便构成了一个循环
同理,$(2,5)$也会构成一个循环。
$4$只能变成自己,因此自己构成为一个循环
Polya定理:
设$G$是$p$个对象的一个置换群,用$m$种颜色涂染$p$个对象,则不同染色方案为$$L = frac{1}{|G|} (m^{c(g_1)} + m^{c(g_2)} + dots + m^{c(g_s)})$$
其中$G = {g_1, g_2, dots g_s }$ $c(g_i)$为置换$g_i$的循环节数$(i = 1, 2, dots s)$
Polya定理没有枚举元素,因此它的复杂度为$O(sp)$
但是它也有一定的限制条件,比如说某种颜色的不能选
这时候我们就需要利用一个高端操作(例如dp),来推广Polya定理
以上是关于Burnside引理与Polya定理的主要内容,如果未能解决你的问题,请参考以下文章
Polya 定理入门[Burnside引理,Polya定理,欧拉函数]
Polya 定理入门[Burnside引理,Polya定理,欧拉函数]