这个定理其实我学了蛮久的,就是一直一直没有掌握,原因是太抽象,而且证明也没怎么理解,今天看了Candy?大佬的博客,结合自己少得可怜的抽象代数知识,总算是搞懂了一点点,赶紧来发一波blog
抽象的东西自然要把它具象化。
给定一个正方形的四格棋盘,想要给它黑白染色。
显然共有以下16种方案。
但是如果我认为,如果把正方形可以旋转 9 0 ∘ , 18 0 ∘ , 27 0 ∘ 90^\circ,180^\circ, 270^\circ 90∘,180∘,270∘,求有多少种本质不同的正方形呢?
显然只有6种
而置换群就是用来解决这一类问题的。
设 N n = 1 , 2 ⋯ n N_n={1,2\cdots n} Nn=1,2⋯n,则从 N n N_n Nn到 N n N_n Nn上的一个双射 f f f称为一个置换,通常记为:
f = ( 1 2 ⋯ n f ( 1 ) f ( 2 ) ⋯ f ( n ) ) f =\bigl( \begin{matrix} 1 & 2 \cdots & n \\ f(1) & f(2) \cdots & f(n) \end{matrix} \bigr) f=(1f(1)2⋯f(2)⋯nf(n))
上述问题中的旋转就可认为是一种置换。
假设我们有置换 f , g f,g f,g那么
( f ⋅ g ) ( k ) = f ( g ( k ) ) (f\cdot g)(k)=f(g(k)) (f⋅g)(k)=f(g(k))
通常不满足交换律,但满足结合律。
设集合 N n N_n Nn的所有置换的集合为 S n Sn Sn
S n Sn Sn的非空子集 G G G满足:
那么 G G G就是一个置换群。
阶:置换群中元素个数
显然,上述问题的旋转组成了一个置换群。
f ⋅ g = f ⋅ h → f − 1 ⋅ f ⋅ g = f − 1 ⋅ f ⋅ h → g = h f⋅g=f⋅h→f^{-1}\cdot f⋅g=f^{-1}\cdot f⋅h→g=h f⋅g=f⋅h→f−1⋅f⋅g=f−1⋅f⋅h→g=h
就是给 N n N_n Nn中的每一个元素分配一个颜色。
设 c c c是 N n N_n Nn的一种着色,用 c ( i ) c(i) c(i)表示 i i i的颜色。
上述问题的黑白染色就是一种着色。
f f f将 k k k变为 f ( k ) f(k) f(k),所以 f ∗ c f∗c f∗c将 k k k的颜色变到 f ( k ) f(k) f(k)
( f ∗ c ) ( l ) = c ( f − 1 ( l ) ) l = 1 , 2 , . . . , n (f∗c)(l)=c(f^{−1}(l)) l=1,2,...,n (f∗c)(l)=c(f−1(l))l=1,2,...,n
理解为旋转+染色即可。
C C C满足:
∀ f ∈ G , c ∈ C , f ∗ c ∈ C ∀f∈G,c∈C, f∗c∈C ∀f∈G,c∈C,f∗c∈C
∃ f ∈ G , f ∗ c 1 = c 2 ∃f∈G, f∗c_1=c_2 ∃f∈G,f∗c1=c2 则 c 1 ⇔ c 2 c_1\Leftrightarrow c_2 c1⇔c2
就是说,存在旋转某个角度使得某种染色后的两个正方形相同,那么这两个正方形就是本质相同的,他们就在同一个等价类中。
而不同的等价类会把 C C C分成不同的几个部分。
而我们要求的,就是到底会把 C C C分成多少个等价类。
终于开始了最重要的部分了。
使着色 c c c不变的置换集合,称为 c c c的稳定核。也就是
G ( c ) = f : f ∈ G , f ∗ c = c G(c)=f:f\in G, f*c=c G(c)=f:f∈G,f∗c=c
也就是说,对于某种染色方案,置换完以后的状态和原来相同。
类似地,置换 f f f作用下不变的着色集合,称为 f f f的不动点。也就是
C ( f ) = c : c ∈ C , f ∗ c = c C(f)=c:c\in C, f*c=c C(f)=c:c∈C,f∗c=c
与 c c c等价的着色数
o r b i t ( c ) = ∣ f ∗ c : f ∈ G ∣ = ∣ G ∣ ∣ G ( c ) orbit(c)=|f∗c: f∈G|=\frac{|G|}{|G(c)} orbit(c)=∣f∗c:f∈G∣=∣G(c)∣G∣
等于 G G G中置换个数除以 c c c的稳定核中置换的个数
证明:
考虑有多少个 g g g,使得 g ∗ c = f ∗ c g∗c=f∗c g∗c=f∗c,也就是 c c c着色下的等价置换。
由于置换群 G G G的封闭性,咱们把 g g g拆成 g = f ⋅ h g=f\cdot h g=f⋅h
由之前的消去律可以得到
( f ⋅ h ) ∗ c = f ∗ c → h ∗ c = c (f\cdot h)*c=f*c\to h*c=c (f⋅h)∗c=f∗c→h∗c=c
而 G ( c ) = h : h ∈ G , h ∗ c = c G(c)=h:h\in G,h*c=c G(c)=h:h∈G,h∗c=c
也就是说,这样的 h h h一共有 ∣ G ( c ) ∣ |G(c)| ∣G(c)∣个(包括 f f f本身)。
也就是说,对于每个 f f f有 ∣ G ( c ) ∣ |G(c)| ∣G(c)∣个置换与他的效果相同
那么与 c c c等价的着色数就是 ∣ G ∣ ∣ G ( c ) ∣ \frac{|G|}{|G(c)|} ∣G(c)∣∣G∣啦
是不是很神奇?
主角登场!
着色集 C C C中非等价着色数
N ( G , C ) = 1 ∣ G ∣ ∑ f ∈ G ∣ C ( f ) ∣ N(G,C)=\frac{1}{|G|}∑_{f∈G}|C(f)| N(G,C)=∣G∣1∑f∈G∣C(f)∣
等于所有 ∣ C ( f ) ∣ |C(f)| ∣C(f)∣的平均值
证明采用算二次方法。
我们用两种方法计数 f ∗ c = c f∗c=c f∗c=c的 ( f , c ) (f,c) (f,c)的个数
∑ f ∈ G ∣ C ( f ) ∣ = ∑ c ∈ C G ( c ) = ∣ G ∣ ∑ c ∈ G 1 o r b i t ( c ) \sum_{f\in G}|C(f)|=\sum_{c\in C}G(c)=|G|\sum_{c\in G}\frac{1}{orbit(c)} ∑f∈G∣C(f)∣=∑c∈CG(c)=∣G∣∑c∈Gorbit(c)1
刚才的引理排上了大用场。
这个时候考虑 ∑ c ∈ G 1 o r b i t ( c ) \sum_{c\in G}\frac{1}{orbit(c)} ∑c∈Gorbit(c)1的组合意义。
每一个等价类的大小是 o r b i t ( c ) orbit(c) orbit(c)
那么一个等价类在上面的式子中的总贡献就是
o r b i t ( c ) ⋅ 1 o r b i t ( c ) = 1 orbit(c)\cdot\frac{1}{orbit(c)}=1 orbit(c)⋅orbit(c)1=1
这就意味着!
∑ c ∈ G 1 o r b i t ( c ) = N ( G , C ) \sum_{c\in G}\frac{1}{orbit(c)}=N(G,C) ∑c∈Gorbit(c)1=N(G,C)
证完了!
考虑上面那道题
列出所有的置换,把不动点数出来。
是不是特别的。。。。
不好用呢?
复杂度甚至比暴力更高。
所以很多人称 B u r n s i d e Burnside Burnside为引理。
因为真正的神器在后面。
它的严格定义是这样的。
设 f f f是 N n N_n Nn上的一个置换, a 1 , a 2 ⋯ a n a_1,a_2\cdots a_n a1,a2⋯an是 1 , 2 ⋯ n 1,2\cdots n 1,2⋯n上的一个排列,如果 f ( a 1 ) = a 2 , f ( a 2 ) = a 3 ⋯ f ( a k − 1 ) = a k , f ( a k ) = a 1 f(a_1)=a_2,f(a_2)=a_3\cdots f(a_{k-1})=a_k,f(a_k)=a_1 f(a1)=a2,f(a2)=a3⋯f(ak−1)=ak,f(ak)=a1,而且当 k < n k<n k<n时有 f ( a k + 1 ) = a k + 1 ⋯ f ( a n ) = a n f(a_{k+1})=a_{k+1}\cdots f(a_n)=a_n f(ak+1)=ak+1⋯f(an)=an,那么称 f f f是一个 k k k阶循环。
简单地来说,就是沿着 f f f跑出了一个环,这个环的大小是 k k k,除了这个环之外都是不动点的置换k阶循环。
显然,一个置换可以拆成若干个循环。
从图论的角度来看这个问题会比较清晰。
将置换看成有向图
D f = ( N n , E f ) , E f = ( i , f ( i ) ) : i ∈ N n D_f=(N_n,E_f), E_f=(i,f(i)): i∈N_n Df=(Nn,Ef),Ef=(i,f(i)):i∈Nn
n n n个点 n n n个弧
可以划分成若干个有向环,每个有向环是一个循环置换
阶为1的循环就是恒等置换
如果把置换看成连边的话,由于是双射,所以每个点入度出度都恰好为1,所以置换构成的图肯定是几个简单环构成的。
严格证明要数归,在此咕咕咕。
设循环的个数 # ( f ) \#(f) #(f),用 k k k种颜色着色,
那么 ∣ C ( f ) ∣ = k # ( f ) |C(f)|=k^{\#(f)} ∣C(f)∣=k#(f)
证明:显然 f f f作用下不变的着色每一个循环中着色必须相同。
N ( G , C ) = 1 ∣ G ∣ ∑ f ∈ G k # ( f ) N(G,C)=\frac{1}{|G|}∑_{f∈G}k^{\#(f)} N(G,C)=∣G∣1∑f∈Gk#(f)
这样计算是不是快多了!
有一个局限是 P l o y a Ploya Ploya定理要求染色数目不限制。
如果说颜色的种类数给定怎么破?
考虑用 B u r n s i d e Burnside Burnside引理证明 P o l y a Polya Polya定理的时候。
把每个置换拆成了若干个循环,而每个循环的着色必须相同。
那么颜色有限制的话,对于每个置换而言,相当于是要用若干个颜色填充几个循环节。
把循环节看成物品,颜色看成背包做多维背包Dp即可。
写完之后就一个字:爽!
很实用的一个定理,理解其实也不需要太高大上的数学功底。
好玩好玩。。。(皮得一匹耶)