Burnside和polya定理
Burnside定理
Burnside定理用于计算集合X的非等价着色数。
设C是X的着色集合,G是X的置换群,且G作用在C上,即∀f∈G,c∈C(f∗c∈C)。
定义函数C(f):
C(f)={c|c∈C,f∗c=c}记N(G,C)表示在G作用下,C中非等价的着色数目。
Burnside公式如下:
N(G,C)=1|G|∑f∈G|C(f)|例子1
举个简单的例子,将n个不同的对象放在一个环上,有多少种不同的放法。
如果一种方法可以通过另外一种方法通过旋转得到,就认为两种方法等价,比如n=3的情况下,(1,2,3)与(2,3,1),(3,1,2)被认为是等价的方法。
容易发现G=r0,r1,…,rn−1,其中r=(2,3,…,n,1)。
由于每个对象都不同,因此一定有C(r1)=C(r2)=…=C(rn−1)=∅。而C(r0),由于所有着色方案在r0下保持不变,因此C(r0)=C。
带入到Burnside公式中,可以得到:
N(G,C)=1|G|∑f∈G|C(f)|=|C(r0)||G|=n!n=(n−1)!是不是很简单啊…
Polya定理
一个置换可以分解为若干个循环节,比如(2,1,3),它可以被分解为两个循环节[12][3]。一个置换分解的循环节个数是固定的。
记#(f)表示置换f分解后的循环节数目。
对于置换f,其分解的循环节,长度为i的有ei个循环节,定义type(f)=(e1,e2,…,en)。
由于f分解的循环节的总长度一定是n,因此满足
1e1+2e2+…+nen=n#(f)=e1+e2+…+en引入n个变量z1,z2,…,zn,记mon(f)=ze11ze22…zenn。
定义函数P(G)如下:
PG(z1,z2,…,zn)=1|G|∑f∈Gmon(f)Polya定理给出了下面命题:
假设有k种不同的颜色,有N(G,C)=PG(k,k,…,k)。
假设有k种不同的颜色,限制第i种颜色必须正好出现pi次,我们引入k个新的变量u1,u2,…,uk代表k种颜色,我们可以保证N(G,C)的生成函数
PG(k∑i=1ui,k∑i=1u2i,…,k∑i=1uni)即N(G,C)是上式展开后项up11up22…upkk的系数。
例子1
对于一个四边形,每个顶点都可以用k种颜色着色。问有多少种不等价的着色方案。
如果一个着色可以通过另外一种着色方案,通过旋转可以得到,则认为两个着色等价。
首先G由下面元素组成:
(1,2,3,4)=[1][2][3][4](2,3,4,1)=[1,2,3,4](3,4,1,2)=[1,3][2,4](4,1,2,3)=[1,4,3,2]利用Polya定理计算:
PG(k,k,k,k)=1|G|∑f∈Gmon(f)=14(k4+k1+k2+k1)设k=2带入可以得到PG(2,2,2,2)=6。