Burnside引理和Polya定理简单入门

不学这个定理,真是亏死了……
见到那种对称(循环)的计数题都不知道该怎么做……


先表明一下,本人没有群论基础。
所以,有关群论的概念,我只会提“置换”。
对于初学者来说,这可能是更加容易理解的方法吧。
更加严谨的网上博客一大堆。


例子

给你一个长度为\(n\)的环,有\(m\)种颜色,每个点可以染成任意颜色。
循环同构的环算是同一种方案(为方便讨论就先不考虑翻转)。
问有多少种方案。
以下以这个例子作为说明。


Burnside引理

首先,对于某种状态,看看它进行哪些置换之后会变成某种跟它循环同构的状态。
比如说,在这题中,转\(0\)下,转\(1\)下……转\(n-1\)下,总共可以写出\(n\)种置换。
后面给这些置换都分配一个下标。

接下来介绍不动点:对于置换\(k\),假如某个状态经过了置换\(k\)的操作后变成的状态和前面的是一样的,那就是一个不动点。
更加形象的理解:将每个状态都视为一个点,每个点向进行了置换\(k\)之后到达的状态连边。于是形成了由若干个环形成的图。那么所有的自环都是不动点。
设置换\(k\)的不动点为\(c(k)\),那么不重不漏的方案数就是\(\frac{1}{|G|}\sum_{k\in G}c(k)\)
其中\(G\)表示置换的集合。

以下给出在这个例子中的证明,加深一下理解(可能不是很严谨):
在置换\(k\)中,假如某种方案最小正周期为\(x\),如果\(x|k\),则会被计算\(x\)次。
对于一个最小正周期为\(x\)的方案,在统计循环节为\(ix\)的时候计算\(x\)次,其中\(i\in[0,\frac{n}{x})\),所以它一共被计算\(n\)次。


Polya定理

gmh说Burnside引理和Polya定理之间是马克思和列宁之间的关系……
这个东西是在Burnside的基础上搞出来的具体计算方法。

现在建另一个图:对于置换\(k\),某个点\(i\)连向\(p_i\)(即置换之后到达的位置,在例子中是\((i+k)\mod n\)
这样形成的图也是个由若干个环组成的图。

作为一个不动点的状态,它在这个图上有什么性质呢?
可以发现,如果每个环,环内的颜色分别相同,那么它就是个不动点。
于是不动点的个数为\(m^{\sigma (k)}\),其中\(\sigma(k)\)表示置换\(k\)通过这种方法建出来的图的环数。
式子就出来了:\(\frac{1}{|G|}\sum_{k\in G}m^{\sigma(k)}\)

在例子中,\(\sigma(k)=\gcd(n,k)\)原因你猜
问题变成了:\(\frac{1}{n}\sum_{k=0}^{n-1}m^{\gcd(n,k)}\)
至于后面怎么做,枚举\(\gcd(n,k)\),套个反演之类的东西,应该就差不多了。。

posted @ 2020-04-16 22:23  jz_597  阅读(247)  评论(0编辑  收藏  举报