Burnside & Polya

Burnside & Polya

前置知识

首先,要引入一些群论的概念,但是也不需要太懂。

如果你不想听我讲

一个集合 \(S\),我们定义两种相同,即表观相同本质相同。

称对于集合的一种操作为置换。

每一个对于集合的置换都是一种广义的对称,关于操作 \(x\) 对称的两个集合本质相同

即对于置换 \(S\) 得到 \(S'\),则 \(S\),\(S'\) 关于这个置换对称,同时 \(S,S'\) 本质相同。

群就是一些集合和一些操作(称作置换)的组合。

对于一个 \(n\) 元序列 \(p_i\),我们认为它是我们的集合,我们定义序列的对称是可以通过首尾相接乘环之后相同。

如有 \(S=\{2,1,1\},S'=\{1,2,1\}\)

我们可以说 \(S,S'\) 向右移动1个位置这个置换对称。

我们暂且定义这个操作为 \(+1\),即定义置换的操作符号为 \(+\)

而要表示一个群,则所有置换必须满足的条件是。

封闭性:置换\(x\)可以通过其他置换叠加得到,同时任何置换的叠加所产生的置换也在原先的置换集合里。

结合律:即对于三个置换 \(a,b,c,(a+b)+c=a+(b+c)\)

单位元:存在一个置换 \(e\) 对于其他所有的置换满足 \(e+a=a+e=a\)

逆元:即对于每个置换 \(a\),存在置换 \(b\) 使得置换 \(a+b=e\)

对于上面提到的环序列问题,

置换集合是 \(\{+0,+1,\cdots,+n-1\}\),两个置换叠加的结果是要对于 \(n\) 取模的,所以显然满足上面的性质。


Burnside

对于一个群 \(G\)

其中所有本质不同的集合个数可以表示为:

\[ \frac{\sum_{置换x}所有集合中操作之后表观不变的个数}{置换个数} \]

显然也等于:

\[ \frac{\sum_{集合S}所有置换中操作之后表观不变的个数}{置换个数} \]

如对于 \(\{1,1,2\}\),三种置换之后得到 \(\{1,1,2\},\{1,2,1\},\{2,1,1\}\)

感性证明如下:

考虑每一种本质不同的集合 \(S\)

对于 \(S\) 执行每一种置换 \(x\),会产生若干个表观相同的置换集合。

这些集合的总大小就是总的置换个数。

对于每一个操作集合 \(Set\) 对应的表观元素 \(T\),\(Set\) 本身是封闭的。

存在 \(|Set|\) 种置换可以从 \(S\) 得到 \(T\)

同时也存在 \(|Set|\) 种置换满足 \(T\) 置换之后表观不变。

因为可以先对 \(T\) 执行一个 \(Set\) 中置换的逆置换,然后再分别叠加以置换集合中所有的置换。

根据群的封闭性,叠加之后的置换集合等价于原先的置换集合,而原先的置换集合里有 \(|Set|\) 个会得到 \(T\)

所以一个本质不同的集合被分散到这些集合里,最后一共还是被算了置换个数次

Tips:

这里一定要注意的是,即便没有元素对于置换 \(x\) 对称,也必须要算进总的置换个数里

举个例子:

如果有 \(2\)\(0\)\(2\)\(1\) 组成的环序列,手玩一下知道方案数是 \(2\)

实际的置换是 \(+0,+1,+2,+3\)

对称的个数是 \(6,0,2,0\)

实际上把这个问题扩展到 \(n\) 个,就会发现奇数的置换都是不存在对称的。

(甚至只保留偶数的置换同样满足群的性质),但是也必须计算 \(2n\) 个置换,因为环序列的置换就是 \(2n\) 个,不会因为具体情况不存在而改变。


Polya 定理

\(\text{Polya}\) 定理,事实上就是对于每个置换,归纳了一下快速求出表观不变的元素个数的方法。

也就是对于一个类似环序列的置换,置换之后表观不变,那么集合元素之间就存在一些相等关系,这些关系把集合元素之间的分成若干个循环,循环内的集合元素相同,通过求循环个数来快速求表观不变的元素个数。

如对于环序列的问题,集合 \(S\),置换 \(+x\) 的循环个数就是 \(\gcd(i,|S|)\)

实际上,具体的问题直接在 \(\text{Burnside}\) 引理的基础上自己归纳总结快速求的方法是最好的。