参考了神仙gzy的博客
置换:把一个排列变成另外一个排列,简单来说就是一一映射。
置换群:置换的集合。
置换即给定一个排列({f_1,f_2,...,f_n}),若其作用在一个排列上,则这个排列置换后的第(i)个位置上的数变为置换前的第(f_i)个位置上的数,实质是一个从一个排列到另一排列的一一映射。
-
置换之间可以进行乘法
-
置换可以分解成若干循环的乘积
以上两点可参考gzy的博客,其中第二点是等价类计数中常用的方法,在我有关排列计数的文章中会提到
Burnside引理
设G为置换集合,且对于任意(f,gin G),有(fgin G)
(C(f))为置换(f)的不动点个数,即一个排列进行置换(f)后还是这个排列
L为置换(G)下等价类个数,若排列a可以通过G中的置换得到b,则a,b属于同一等价类
有
[L=frac{sum_{fin G}C(f)}{|G|}
]
证明:
设(Z_i)为使(i)为不动点的置换集合大小,(E_i)为第(i)个等价类的大小。
则
[sum_{fin G}C(f)=sum_{i=1}^{n}Z_i
]
又因为对于一个等价类(j),其中所有点(i)的(Z_i)都相等,设其为(H_j)
则
(sum_{i=1}^{n}Z_i=sum_{i=1}^{L}E_iH_i)
又因为每一个点经过(G)中的任意一个置换都会置换到它所在的等价类中的一个点,而置换到每一个点都有(H_i)种不同的置换方式
所以
[|G|=E_iH_i
]
[ herefore sum_{i=1}^{n}Z_i=sum_{i=1}^{L}|G|=L|G|
]
即
[sum_{fin G}C(f)=L|G|
]
所以
[L=frac{sum_{fin G}C(f)}{|G|}
]
引理得证。
Polya定理也可以用Burnside引理证出来,详细可见Polya定理模板