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$之间的一个置换$\begin{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中你可以简单的认为

置换群的元素是置换,运算是置换的连接,

例如$$\begin{pmatrix} 1 & 2 & 3 & 4 \\ 3 & 1 & 2 & 4 \end{pmatrix}\begin{pmatrix} 1 & 2 & 3 & 4 \\ 4 & 3 & 2 & 1 \end{pmatrix}=\begin{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]$上的置换群,$D(a_i)$表示在置换$a_i$作用下不动点的个数。$L$表示本质不同的方案数,则

$$L = \frac{1}{|G|} \sum_{j = 1}^s D(a_j)$$

 

P♂lya定理

在Burnside引理中,$D(a_i)$,也就是不动点的个数往往不是很好计算。如果采用枚举每个元素的搜索算法,总时间复杂度为$O(nsp)$,其中$n$表示元素个数,$s$表示置换个数,$p$表示格子数

Polya定理对于特定的题目,提供了一种高效的计算方法

首先介绍一下循环的概念

$$\left( a_{1}a_{2}\ldots a_{n}\right) =\begin{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 \not =b_j,i, j = 1,2, \dots n$

例如

$$\begin{pmatrix} 1 & 2 & 3 & 4 & 5 \\ 3 & 5 & 1 & 4 & 2 \end{pmatrix}=\left( 13\right) \left( 25\right) \left( 4\right)$$

解释一下,$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定理

posted @ 2018-07-11 20:51 自为风月马前卒 阅读(...) 评论(...) 编辑 收藏

Contact with me

……