Burnside&Polya

以前只是直接用了这两个式子。。今天才仔细看了证明。。【网上的真是难懂啊

我看的几个博客地址(各有优缺): 其实如果能懂的话 只看博客B就可以了

首先是一些置换群方面的定义和性质  博客A:http://blog.csdn.net/xym_CSDN/article/details/53456447

然后是burnside的证明                  博客B:http://blog.csdn.net/gengmingrui/article/details/50564027

还有两个定理的式子和举例             博客C:http://blog.csdn.net/liangzhaoyang1/article/details/72639208

但是对于博客B,我看的时候遇到了几个问题

1、 设G={a1,a2,…ag}是目标集[1,n]上的置换群。

  这里涉及到两个集合 一个是置换群,一个是目标集

  目标集是一个状态集合,  在OI中举个例子 {

    m个格子黑白染色, 状态数有2^m种, 每一种都是目标集中的一个元素,所以[1,n]实际上是[1,2^m];

    而置换就可以理解为 两个状态之间的有向边。  比如1001这种染色状态,经过(1 2 3)(4)的置换后,变成0101

  }

2、 c1(ak)是在置换ak的作用下不动点的个数,也就是长度为1的循环的个数(其实就是被置换ak置换过后位置不变的元素个数)

  因为这句话,我之前一直误以为是不动点是:  比如置换ak=(1 2 3)(4)中的那个4 。

  然而实际上。比如1001这种染色状态,经过置换ak=(1 4)(2 3)的置换后,变成1001 ,所以‘1001’这个元素是置换ak的一个不动点。

3、 轨道大小*稳定化子数=变换个数

  这个的证明在博客A的最后有

贴一下来自博客C的式子:

Burnside引理: 
对于一个置换f,若一个染色方案s经过置换后不变,称sf的不动点。将f的不动点数目记为C(f),则可以证明等价类数目为所有C(f)的平均值。 
百度百科的定义: 
G=a1,a2,ag是目标集[1,n]上的置换群。每个置换都写成不相交循环的乘积。c1(ak)是在置换ak的作用下不动点的个数。通过上述置换的变换操作后可以相等的元素属于同一个等价类。若G[1,n]划分成l个等价类,则: 
这里写图片描述

Polya定理 :
polya定理实际上是burnside引理的具体化,提供了计算不动点的具体方法。 
假设一个置换有k个循环,易知每个循环对应的所有位置颜色需一致,而任意两个循环之间选什么颜色互不影响。因此,如果有m种可选颜色,则该置换对应的不动点个数为mk

用其替换burnside理中的C(f),即C(f)=mk。得到等价类数目为:

其中|F|表示置换的数目,ki表示第i个置换包含的循环个数。

原文地址:https://www.cnblogs.com/cyz666/p/6903706.html