Burnside引理&Pólya定理

Burnside's lemma

引例

題目描述

一個由2*2方格組成的正方形,每一個格子上能夠塗色或不塗色,html

問共有多少種本質不一樣的塗色方案。ide

(若兩種方案可經過旋轉互相獲得,稱做本質相同的方案)函數

解法

每一個格子能夠塗色,能夠不塗色,共有16種方案。將16種方案編號。spa


把本質相同的方案合併:翻譯

方案1:{1},方案2:{2},htm

方案3:{3,4,5,6},方案4:{7,8,9,10},blog

方案5:{11,12},方案6:{13,14,15,16},rem

共6種方案。get


旋轉能夠看做是置換,全部置換組成置換羣。it

若是x經過某個置換能夠變成y,說明x和y等價。

與x互相等價的一組元素組成了一個集合,稱爲x的等價類。

這個問題中,咱們要求的就是這樣的等價類有多少個。

咱們由Burnside's lemma 可得
\[ \begin{split} |X/G|&=|G|^{-1}\cdot \sum_{g\in G}|x^g|\\ 即\ 等價類的個數&=每一個置換中不動元的個數和÷置換羣的大小 \end{split} \]

對於該題,不動元爲轉動必定角度時,圖形不發生變化,

不旋轉,不動元16個,

逆時針90度,不動元2個{1,2},

逆時針180度,不動元4個{1,2,11,12},

逆時針270度,不動元2個{1,2}。
\[ |X/G|=\frac {16+2+4+2}{4}=6 \]


Burnside's引理

\[ \begin{split} |X/G|&=\frac 1{|G|}\sum_{g\in G}|x^g|\\ 等價類個數&=不動元個數的平均數 \end{split} \]

證實

\(X\)爲16種狀況,\(X/G\)爲6種方案,\(G\)爲旋轉?度,

\(x\)爲其中一種方案,\(|g_x|\)\(G\)中旋轉?度後使\(x\)方案中的狀況不變的度數的個數。


考慮一個等價類,有
\[ |x||g_x|=|G|,x\in X/G \]

其中,\(x\)\(X\)的一個等價類,\(|g_x|\)爲使它不發生改變的置換個數,

\(G\)爲總置換個數,\(X/G\)\(X\)\(G\)置換羣下的等價類的集合。

能夠感性認知,對於一個等價類,有\(|g_x|\)種使它不發生改變的置換,

由於對於等價類\(x\),本質不一樣的置換能夠其中一個元素變爲其餘任意元素,因此有\(|x|\)種。

本質不一樣的置換個數×不變的置換個數=總置換個數。


考慮枚舉每個等價類,有
\[ \sum_{x\in X/G}|x||g_x|=|G|\cdot|X/G| \]

每個等價類對右式的貢獻爲\(|G|\),共\(|X/G|\)個。


考慮交換枚舉順序,有
\[ \sum_{x\in X}|g_x|=\sum_{g\in G}|x^g| \]

其中\(x\)\(X\)的一個元素,\(|g_x|\)爲使它不發生改變的置換個數,

此處的\(|g_x|\)與上面相同,由於同一個等價類\(|g_x|\)必定相同。

等式右半部分\(g\)\(G\)中的一個置換,\(|x^g|\)爲在該置換下不發生改變的元素個數。


因爲\(\sum\limits_{x\in X/G}|x|\)能夠等價於枚舉完全部的元素,有
\[ \begin{split} |G|\cdot |X/G|&=\sum_{x\in X/G}|x||g_x|(x指等價類)\\ &=\sum_{x\in X}|g_x|(x指元素)\\&=\sum_{g\in G}|x^g| \end{split} \]

應用

題目描述

一條含\(n\)顆珠子的項鍊,珠子的顏色有\(m\)種。

每種顏色的珠子個數爲\(a_i\) \((a_1+a_2+\cdots+a_m=n)\),求不一樣項鍊的種數。

解法

咱們定義\(K\)循環爲形如
\[ \begin{pmatrix}a_1,a_2,\cdots,a_n\\a_{k+1},a_{k+2},\cdots,a_{k}\end{pmatrix} \]

的循環

對於一個\(K\)循環,通過\(\frac{lcm(n,k)}{k}\)後能夠變回原來的項鍊。


\[ \frac{lcm(n,k)}{k}=\frac n{gcd(n,k)} \]

這是循環節的大小,且每一個循環節大小相等,


對於一個\(n\)個元素可重集合,

\(p\)爲每種元素的個數,知足\(p_1+p_2+\cdots+p_m=n\),排列數有
\[ A=\frac{(\sum\limits_{i=1}^mp_i!)}{\prod\limits_{i=1}^m(p_i!)} \]

就這道題而言,

對於一個\(K\)循環,咱們有每種顏色的循環節個數爲
\[ \frac {a_i}{\frac {n}{gcd(n,k)}} \]

則由這些循環節組成的總方案數等同於排列數
\[ ans=\frac{n!}{\prod_{i=1}^m\frac {a_i}{\frac {n}{gcd(n,k)}}} \]

又由於對於一個給定的\(d\),使\(gcd(n,k)==d\)\(k\)\(\varphi(\frac nd)\)
\[ \begin{split} ans&=\frac{n!}{\prod_{i=1}^m\frac {a_i}{\frac {n}{gcd(n,k)}}}\\ &=\sum_{d|n}\varphi(\frac nd)\frac{n!}{\prod_{i=1}^m\frac {a_i\cdot d}{n}} \end{split} \]

Pólya enumeration theorem

引例

題目描述

一條含\(n\)顆珠子的項鍊,珠子的顏色有\(m\)種,求不一樣項鍊的種數。

解法

咱們定義\(K\)循環爲形如
\[ \begin{pmatrix}a_1,a_2,\cdots,a_n\\a_{k+1},a_{k+2},\cdots,a_{k}\end{pmatrix} \]

的循環

對於一個\(K\)循環,通過\(\frac{lcm(n,k)}{k}\)後能夠變回原來的項鍊。


\[ \frac{lcm(n,k)}{k}=\frac n{gcd(n,k)} \]

這是循環節的大小,且每一個循環節大小相等,

因此,循環節的個數爲
\[ \frac{n}{\frac{n}{gcd(n,k)}}=gcd(n,k) \]


若是每一個循環節中的元素顏色同樣,這就是一個\(K\)循環下的不動元,

因此,不動元的個數和爲
\[ \sum_{i=1}^nm^{gcd(i,n)} \]

因此,由Burnside's引理得
\[ \begin{split} 等價類的個數&=\frac 1n不動元的個數和\\ &=\frac 1n\sum_{i=1}^n m^{gcd(n,i)}\\ &=\frac 1n\sum_{d|n}\sum_{i=1}^nm^d[gcd(n,i)==d]\\ &=\frac 1n\sum_{d|n}\varphi(\frac nd)m^d \end{split} \]

這樣,咱們就成功用Burnside's引理推出了Pólya定理。

Pólya定理

\[ |Y^X/G|=1/|G|\sum_{g\in G}|Y|^{c(g)} \]

翻譯:
\[ \begin{split} &染色方案數(等價類的個數)\\ =&\frac 1{珠子數(總置換數)}\sum_{對於每種置換} 顏色數(映射數)^{循環節數} \end{split} \]


好比這幅圖

顏色數={不染色,染色}

G={逆時針90°,逆時針180°,逆時針270°,不轉}。

90°:一個循環節,180°:兩個循環節,270°:一個循環節,不轉:四個循環節。

因此有
\[ ans=\frac 14\cdot(2^1+2^2+2^1+2^4)=6 \]

應用

前置例題

首先看一道例題:

\(m\)個循環節,且循環節長度分別爲\(L_1,L_2,\cdots,L_m(L_1+L_2+\cdots+L_m=n)\)的n階置換有多少種?

(設\(L_1≤L_2≤\cdots≤L_m\)


子問題1:從n個數中選L個出來,能夠組成多少個循環?

①:從n個數中選L個出來:\(C_n^L\)

②:能夠組成多少個循環:\((L-1)!\)
\[ ∴①×②=\frac {n!}{L(n-L)!} \]

子問題2:若\(L_i!=L_j\),答案爲多少?
\[ \begin{split} ans&=\frac{n!}{L_1(n-L_1)!}\cdot \frac{(n-L_1)!}{L_2(n-L_1-L_2)!}\cdots\\ &=\frac{n!}{L_1L_2L_3\cdots L_m} \end{split} \]

\(B_i\)表示\(i\)階循環的個數,這\(B_i\)個循環能夠造成\(B_i!\)個排列,使答案重複
\[ ∴ans=\frac{n!}{(L_1L_2\cdots L_m)\cdot(B_1!B_2!\cdots B_{L_m}!)} \]

題目描述

給定一個N 個結點的無向徹底圖,

如今你能夠用 M 種顏色對這個圖的每條邊進行染色,每條邊必須染一種顏色。

若兩個已染色的圖,

其中一個圖能夠經過結點從新編號而與另外一個圖徹底相同,

就稱這兩個染色方案相同。

如今問你有多少種本質不一樣的染色方法,輸出結果 mod P。

N≤53,M≤1000,P 是一個大於N 的質數。

解法

咱們能夠先解決點置換的問題。

根據前置例題,咱們只需對\(L_1,L_2,\cdots,L_m\)進行枚舉便可。

枚舉量大概\(329931\)

如今,

若是能夠把邊的置換與點的置換聯繫在一塊兒,

算出邊置換的循環節數與\(L_1\cdots L_m\)的關係,

那麼問題就解決了。


對於一個固定的點置換進行分析。

一條邊鏈接的兩個定點要麼在同一個循環內,要麼在兩個不一樣的循環內。

咱們能夠分別討論。

①:對於一個\(n\)階點循環,其內部的邊能夠組成多少個邊循環?

如圖,

兩點編號之差爲\(1\)的邊構成了一個循環,

兩點編號之差爲\(2\)的邊構成了一個循環

······

兩點編號之差爲\(\lfloor\frac n2\rfloor\)的邊構成了一個循環

若是位置號相差大於\(\lfloor\frac n2\rfloor\),因爲對稱性,已經在以前討論過了。

\(\lfloor\frac n2\rfloor\)個循環。

②:不一樣循環的狀況

兩個循環間共有\(n\cdot m\)條邊。

把兩個循環分別看做兩個齒輪,

對一條邊來講,其左右端點同時移動,共\(\text{lcm}(n,m)\)條邊。

即:等價類的大小=\(\text{lcm}(n,m)\)

由於圖是對稱的,等價類等大,故等價類共有\(\frac {n\cdot m}{\text{lcm}(n,m)}=\gcd(n,m)\)個。

因此有\(\gcd(n,m)\)個循環節。


總置換數爲\(\frac 1{n!}\)

對於每一個\(L_1,\cdots,L_k\),共有\(\frac{n!}{\prod_{i=1}^kL_i\prod_{i=1}^kB_i!}\)種置換,

對於每種置換,有\(\sum_{i=1}^k\lfloor\frac{L_i}{2}\rfloor+\sum_{i=1}^k\sum_{j=i+1}^k\gcd(L_i,L_j)\)個循環節。

因此:
\[ \begin{split} ans=\frac 1{n!}\sum_{L_1,L_2\cdots,L_k}\frac{n!}{\prod_{i=1}^kL_i\prod_{i=1}^kB_i!}\cdot m^{\sum_{i=1}^k\lfloor\frac{L_i}{2}\rfloor+\sum_{i=1}^k\sum_{j=i+1}^k\gcd(L_i,L_j)} \end{split} \]

例題 from 畢克

Problem 1 環染色(Ring)——變式

題目描述

原題目就是Pólya定理的引例,這裏是變式:

一個由 \(n(2 ≤ n ≤ 10^9)\) 個珠子組成的環,

咱們要將全部珠子染成黑白兩種顏色,可是黑色不能相鄰

問有多少種本質不一樣的方案,結果對 \(10^9 + 7\) 取模。

當兩種方案經過旋轉後變得相同時,咱們認爲他們本質相同。(不能翻轉)

解法

\(f_d\)表示不考慮本質相同,染一個長度爲\(d\)的環的合法方案數。

對於置換\(K\)的環,因爲其循環節個數爲\(gcd(n,i)\),因此其不動元個數爲\(f_{gcd(n,i)}\)
\[ \begin{split} ans&=\frac 1n\sum_{i=1}^nf_{gcd(n,i)}\\ &=\frac 1n\sum_{d|n}\varphi(\frac nd)f_d \end{split} \]

由我也推不出來的方法得:
\[ f_1=1,f_2=3,f_i=f_{i-1}+f_{i-2} \]

Problem 2 面染色(Face)

題目描述

一個由 \(n \cdot m\) 的矩形,咱們要用他很是正常地密鋪整個平面,

咱們要將全部格子染成 \(c\) 種顏色。

問有多少種本質不一樣的方案,結果對 \(10^9 + 7\) 取模。

當兩種方案看起來同樣時,即矩形經過循環平移時同樣,咱們認爲他們本質相同。

\(1 ≤ n ≤ 10^9, 1 ≤ m ≤ 10^9, 1 ≤ c ≤ 10^9\)

解法

橫向考慮,循環節大小爲\(\frac n{\gcd(n,i)}\);縱向考慮,循環節大小爲\(\frac m{\gcd(m,j)}\)

因此,總的循環節大小爲\(\text{lcm}(\frac n{\gcd(n,i)},\frac m{\gcd(m,j)})\)

因爲每一個循環節大小相等,且共有\(n\cdot m\)個元素。

因此,循環節的個數爲\(\frac {n\cdot m}{\text{lcm}(\frac n{\gcd(n,i)},\frac m{\gcd(m,j)})}\)
\[ \begin{split} ans&=\frac 1{n\cdot m}\sum_{i=1}^n\sum_{j=1}^mc^{\frac {n\cdot m}{\text{lcm}(\frac n{\gcd(n,i)},\frac m{\gcd(m,j)})}}\\ &=\frac 1{n\cdot m}\sum_{a|n}\sum_{b|m}\varphi(\frac na)\varphi(\frac mb)c^{\frac {n\cdot m}{\text{lcm}(\frac na,\frac mb)}}\\ &=\frac 1{n\cdot m}\sum_{a|n}\sum_{b|m}\varphi(a)\varphi(b)c^{\frac{n\cdot m}{\text{lcm}(a,b)}} \end{split} \]

Problem 3 面染色(Face)——變式

題目描述

一個由 \(n \cdot m\) 的矩形,咱們要用他很是正常地密鋪整個平面,咱們要將全部格子染成 \(c\) 種顏色。

輸入 \(n, m, c\) 和一個長度爲 \(c\)的排列 \(p\)

問有多少種本質不一樣的方案,將第 \(i\) 種顏色替換爲 \(p_i\) 以後看起來是同樣的。

結果對 \(10^9 + 7\) 取模。

(由於會密鋪整個平面,因此即便交換兩種顏色,他看起來仍是有可能和原先如出一轍。)

換句話說,咱們問有多少本質不一樣的方案,

知足交換顏色以後,存在一種平移方式和本身相等。

這句話中的本質不一樣是指兩種方案若是經過平移能夠互相獲得那麼咱們算做一種 。

$1 ≤ n, m ≤ 10^9, 1 ≤ c ≤ 16 $

解法

\(p\)不是有用的,有用的是\(p\)中每一個輪換的長度。

定義\(C(x)\)表示在循環節長度爲\(x\)時可用的顏色數。

只有當輪換長度爲\(x\)的因子時,該組輪換的顏色才能保證能夠經過平移和本身相等。

因此
\[ ans=\frac 1{n\cdot m}\sum_{a|n}\sum_{b|m}\varphi(a)\varphi(b)C(\text{lcm}(a,b))^{\frac{n\cdot m}{\text{lcm}(a,b)}} \]

Problem 4 羊毛(Wolle)

題目描述

一個由 \(n \cdot m\) 的矩形,咱們要用他很是正常地密鋪整個平面,咱們要將全部格子染成 \(c\) 種顏色。

可是 B 君是一個色盲, B 君只能判斷兩種顏色是否相同,而沒法判斷出每種顏色具體是什麼。

輸入 \(n, m, c\)。問有多少種本質不一樣的方案,結果對 \(10^9 + 7\) 取模。

當兩種方案看起來同樣時,

即:矩形經過循環平移並將顏色從新標號後同樣,

咱們認爲他們本質相同。

$1 ≤ n, m ≤ 10^9, 1 ≤ c ≤ 16 $

解法

由Burnside引理得
\[ ans=\frac{對於每種置換的不動元的總和}{n\cdot m\cdot c!} \]

考慮枚舉\(c\)的每種置換,此時就與上題答案相同。

考慮交換枚舉順序,枚舉全部輪換的長度,也就是\(c\)的一個拆分。

對於每一個拆分,咱們能夠用上題的方法計算答案\(ans'\)

而後計算這個拆分對應的排列有多少個,用2.3應用中的前置例題的解法求解。

咱們有
\[ ans=\frac{\sum_{對於c的拆分}ans'\cdot 該拆分下的排列數}{n\cdot m\cdot c!} \]

\(16\)的拆分數只有\(231\),能夠接受。

Problem 5 Isomorphism(sgu282)

2.3應用

Problem 6 最後一題(Letzte)

題目描述

B 君做爲一個色盲,

對一個 \(n\) 個點的無向徹底圖全部的邊進行染 \(m\) 種顏色,問有多少種本質不一樣的染色方法。

若是兩個方案經過對點的從新標號,或者對顏色的從新標號,

能夠變爲相同的,那麼咱們認爲他們本質相同。

$1 ≤ n ≤ 16, 1 ≤ m ≤ 16 $

解法

設Problem5的方法套上Problem3的\(C\)函數後計算出的答案爲\(ans'\)

\(ans\)同Problem4

相關文章
相關標籤/搜索