写于2018年冬,当时水平比较菜,留下的一些思考可能对初学Burnside的后辈有启发,所以现在发出来。
看不懂证明,所以只好愉快地感性理解结论。证明等我长大了再回来补吧。(啊,那就大概就是永远都不会补了吧。)
Burnside Lemma
一个集合$X$在置换群$G$作用下的等价类的数量,等于$G$中每一个置换的不动点的数量的平均值。(等价类的定义是:如果两个元素可以通过$G$中的置换变得一样,那么它们就属于同一个等价类;置换$g$的不动点的定义是,一个元素经过了$g$这个置换后没有发生变换)
真不是人话
那么看看这个例子:你要给一个有$n$个珠子的项链的每个珠子涂色(有$m$中颜色可供选择),其中通过旋转之后变得相同的方案算同一种方案,问你有多少种方案。
那么,每一种涂色的方法(不一定要求本质不同)是$X$中的元素,而$G$就是旋转置换组成的群(当然也包含了旋转0度),“等价类”就是“通过旋转可以变得相同”的涂色方案组成的集合,要求的“方案数”就是等价类的数量。
先把所有方案列出来,然后再考虑求等价类数量($n=3,m=2$):
000 001 010 011 100 101 110 111
那么所有的置换就是:
1.旋转0个珠子,此时的不动点是:000 001 010 011 100 101 110 111,数量为8。
2.旋转1个珠子,此时的不动点是:000 111,数量为2。
3.旋转2个珠子,此时的不动点是:000 111,数量为3。
旋转3个珠子和旋转0个珠子是等价的,不需要计算在内。旋转4颗珠子和旋转1颗珠子也是等价的……
那么等价类的数量就是${8+2+2\over 3 } = 4$。
再看一个例子。如果是$n=4,m=2$:
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1.旋转0个珠子,不动点是0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
2.旋转1个珠子,不动点是0000 1111
3.旋转2个珠子,不动点是0000 1111 1010 0101
4.旋转3个珠子,不动点是0000 1111
所以等价类的数量是${16+2+4+2\over 4} = 6$。
至此终于明白了这个定理到底在说什么,感觉它非常优美且正确,尽管我不会证明QAQ。
Polya Enumeration Theorem
使用Burnside引理解决上面的问题时,需要把$n^m$中方案全部列出来,这样计算是非常慢的。我们能不能通过一些方式加速计算呢?比如说,快速得到在某个置换下的不动点的数量?
答案是肯定的。这就是Polya定理:
我们设$c(g)$表示$g$这个置换中的循环节数量,那么对于置换$g$,不动点的数量为$m^{c(g)}$;一个置换群$G$作用于集合$X$上,等价类的数量是${1\over {|G|}}\sum_{g\in G} m^{c(g)}$。
再一次觉得这不是人话
那么我们还是来看一个例子吧。首先我们把旋转写成置换,那么旋转2颗珠子就是
这个置换可以写成$(1 3)(2 4)$,它的循环节数是2。
一个元素在这个置换下是一个不动点,条件是循环节内的所有位置,颜色必须一样,否则这个元素就不可能是不动点。
那么相当于对于每个循环节,我们给它规定一个颜色,然后整个元素就确定了。方案数是$m^{c(g)}$。即对于置换$g$,不动点的数量是$m^{c(g)}$。
再看前面项链的例子,当$n=4,m=2$的时候:
1.旋转0个珠子,循环节数是$4$,方案数是$2^4 = 16$。
2.旋转1个珠子,循环节数是$1$,方案数是$2^1 = 2$。
3.旋转2个珠子,循环节数是$2$,方案数是$2^2 = 4$。
4.旋转3个珠子,循环节数是$1$,方案数是$2^1 = 1$。
所以等价类的数量是${16+2+4+2\over 4} = 6$。
至此感觉已经理清楚了这两个定理在说什么。证明什么的反正也不会考,不管了
Burnside定理成立的条件
注意,Burnside定理并不是随便拿几个置换来都成立的。它成立的条件是这几个置换构成了一个群,因为它的证明是用到了群的性质的。
群的定义:群是一个二元运算$$下的一个集合$G$,满足以下四个条件:
1)封闭性(closure):对于$G$中任意两个元素$a,b$,满足$ab\in G$。
2)结合律(Associativity):对于$G$中任意三个元素$a,b,c$,满足$(ab)c = a(bc)$。
3)单位元(Identity element):集合中存在一个唯一的元素$e$,满足对于集合中的任意元素$a$,有$ae = ea = a$。
4)逆元(Inverse element):对于$G$中的每一个元素$a$,$G$中存在一个$b$使得$ab = ba = e$。
比如说,如果随便给几个排列作为洗牌的方式,那么不能套用Burnside引理,因为这些置换组成的集合可能不是封闭的;只有保证了给的置换任意组合,得到的都是这个集合中的某一个置换,也就是说保证它们构成一个群,这个时候才能够用Burnside引理。
资料&&链接
TGSteven的博客:里面有证明,但是我看不懂qwq。
Wikipedia:Burnside lemma and Polya enumeration theorem 都没怎么看懂……
还看了一些关于Group action(群作用)的资料,然后我选择了放弃研究这个定理的证明(我真的不想死得这么年轻QAQ)