Burnside引理和Polya定理学习笔记
前言
求·······的方案數
循環同構算一種
一臉懵逼
(于是我覺得系統的學一遍Burnside引理和Polya定理)
正文
置換
置換的概念
對于一個排列aia_iai?
我們想成iii輸進去會出來一個aia_iai?
那么我們如果輸入一個排列,將能得到一個排列
就比如我們輸入的排列是111到nnn有序的,那么這個置換就是
(123???na1a2a3???an)\begin{pmatrix} 1&2&3&···&n \\ a_1&a_2&a_3&···&a_n \end{pmatrix}(1a1??2a2??3a3?????????nan??)
當然我們如果隨便輸入一個排列bib_ibi?,并且得到一個新的排列,那么這個置換就是
(b1b2b3???bnab1ab2ab3???abn)\begin{pmatrix} b_1&b_2&b_3&···&b_n \\ a_{b_1}&a_{b_2}&a_{b_3}&···&a_{b_n} \end{pmatrix}(b1?ab1???b2?ab2???b3?ab3??????????bn?abn???)
只要排列aia_iai?相同,無論輸入什么排列bib_ibi?生成的置換都是一樣的
即置換與橫向位置無關,只與縱向的對應關系有關
我們設A={a1,a2???an}A=\{a_1,a_2···a_n\}A={a1?,a2????an?},即∣A∣=n|A|=n∣A∣=n,我們稱上面的那些置換為AAA上的nnn次置換
不難發現,本質不同的nnn次置換一共有n!n!n!種
置換的乘積形式
我們發現,對于一個置換,一個位置的數如果是iii,進行若干次置換后,這個位置的數會變回iii
比如一個置換
(123456231654)\begin{pmatrix} 1&2&3&4&5&6 \\ 2&3&1&6&5&4 \end{pmatrix}(12?23?31?46?55?64?)
一個數111其變化是1→2→3→11\rightarrow2\rightarrow3\rightarrow11→2→3→1
那么我們可以寫成(2,3,1)(2,3,1)(2,3,1)
所有的循環的乘積就是這個置換的不相交循環的乘積寫法
比如剛剛這個置換就是(2,3,1)(6,4)(5)(2,3,1)(6,4)(5)(2,3,1)(6,4)(5)
我們發現555這個位置無論進行幾次置換值都是555,對于這些位置我們稱其為不動點
置換群
是一種群,里面每個元素都是置換
然后滿足群的一些性質
對于一個nnn,在n!n!n!種本質不同的nnn次置換中選xxx個(x≥1x\ge1x≥1)置換作為元素的群被稱為xxx階nnn次置換群,特殊的,當x=n!x=n!x=n!時,其被稱為nnn次對稱群
對于一個nnn次置換群,我們發現其元素中必有置換
(a1a2a3???ana1a2a3???an)\begin{pmatrix} a_1&a_2&a_3&···&a_n \\ a_1&a_2&a_3&···&a_n \end{pmatrix}(a1?a1??a2?a2??a3?a3?????????an?an??)
另外,若其元素中有置換
(b1b2b3???bnab1ab2ab3???abn)\begin{pmatrix} b_1&b_2&b_3&···&b_n \\ a_{b_1}&a_{b_2}&a_{b_3}&···&a_{b_n} \end{pmatrix}(b1?ab1???b2?ab2???b3?ab3??????????bn?abn???)
則其元素中也必有
(ab1ab2ab3???abnb1b2b3???bn)\begin{pmatrix} a_{b_1}&a_{b_2}&a_{b_3}&···&a_{b_n} \\ b_1&b_2&b_3&···&b_n \end{pmatrix}(ab1??b1??ab2??b2??ab3??b3?????????abn??bn??)
以上就差不多是一些定義了
百度百科鏈接,群
良好并且完整的置換群課件,鏈接
Burnside引理
設G={a1,a2,…ag}G=\{a_1,a_2,…a_g\}G={a1?,a2?,…ag?}(aaa是置換)是目標集[1,n][1,n][1,n]上的置換群。每個置換都寫成不相交循環的乘積。c1(ak)c_1(a_k)c1?(ak?)是在置換aka_kak?的作用下不動點的個數,也就是長度為111的循環的個數。通過上述置換的變換操作后可以相等的元素屬于同一個等價類。若GGG將[1,n][1,n][1,n]劃分成lll個等價類,則:
l=1∣G∣[c1(a1)+c1(a2)+???+c1(a∣G∣)]l=\frac{1}{|G|}[c_1(a_1)+c_1(a_2)+···+c_1(a_{|G|})]l=∣G∣1?[c1?(a1?)+c1?(a2?)+???+c1?(a∣G∣?)]
證明:
對于一個置換aaa,將其寫成不相交循環的乘積
我們設χa(x)={0x不是不動點1x是不動點\chi_a(x)=\begin{cases}0&x不是不動點\\1&x是不動點\end{cases}χa?(x)={01?x不是不動點x是不動點?
根據定義,我們展開
∑ai∈Gc1(ai)=∑ai∈G∑1≤j≤nχai(j)=∑1≤j≤n∑ai∈Gχai(j)\sum_{a_i\in G}c_1(a_i)=\sum_{a_i\in G}\sum_{1\le j\le n}\chi_{a_i}(j)=\sum_{1\le j\le n}\sum_{a_i\in G}\chi_{a_i}(j)ai?∈G∑?c1?(ai?)=ai?∈G∑?1≤j≤n∑?χai??(j)=1≤j≤n∑?ai?∈G∑?χai??(j)
我們設Z(x)\Zeta(x)Z(x)為滿足xxx是不動點的置換集合,我們發現上式的后半部分可以直接套入
∑1≤j≤n∑ai∈Gχai(j)=∑1≤j≤n∣Z(j)∣\sum_{1\le j\le n}\sum_{a_i\in G}\chi_{a_i}(j)=\sum_{1\le j\le n}|\Zeta(j)|1≤j≤n∑?ai?∈G∑?χai??(j)=1≤j≤n∑?∣Z(j)∣
我們發現,對于同一個等價類里的元素x1,x2x_1,x_2x1?,x2?,一定滿足Z(x1)=Z(x2)Z(x_1)=Z(x_2)Z(x1?)=Z(x2?),原因是Z(x)Z(x)Z(x)集合是一個置換群元素集合的子集
這樣我們設CCC為一個等價類元素集合,設c=?x∈Cc=\forall x\in Cc=?x∈C,那么無論ccc的取值,Z(c)Z(c)Z(c)的值都是一樣的
那么繼續上式
∑1≤j≤n∣Z(j)∣=∑C∣C∣?Z(c)=∣G∣∑C1=∣G∣?∣C∣=∣G∣l\sum_{1\le j\le n}|\Zeta(j)|=\sum_{C}|C|*Z(c)=|G|\sum_{C}1=|G|·|C|=|G|l1≤j≤n∑?∣Z(j)∣=C∑?∣C∣?Z(c)=∣G∣C∑?1=∣G∣?∣C∣=∣G∣l
對于第二個等號,可能你會感到疑惑
這里用到了∣C∣?Z(c)=∣G∣|C|*\Zeta(c)=|G|∣C∣?Z(c)=∣G∣,即“軌道-穩定集定理”,這里就不展開了,因為這個的證明還需要拉格朗日定理等群論基本知識,有興趣的可以看這篇博客,里面有一些基本概念的介紹,另外,據說具體證明可以參照 《組合數學》(第5版)P181 定理4-11(暫未考證)
綜上l=1∣G∣∑ai∈Gc1(ai)l=\frac{1}{|G|}\sum_{a_i\in G}c_1(a_i)l=∣G∣1?ai?∈G∑?c1?(ai?)
這篇博客里有比較清楚的例子,我這里就不舉例了
我們發現,在染色問題循環同構的題中,∣G∣|G|∣G∣是旋轉方式數,∣A∣|A|∣A∣是所有染色種類數,算法的復雜度是O(∣G∣∣A∣)\mathcal O(|G||A|)O(∣G∣∣A∣)的,而后者很容易變得很大,這個時候就需要用到Polya定理
(也正因為如此在OI中應用不多)
Polya定理
前提條件:如果將[1,n][1,n][1,n]用kkk種顏色進行染色
我們定義λ(ai)\lambda(a_i)λ(ai?)為置換aia_iai?的循環數量
Polya定理:
l=1∣G∣∑ai∈Gkλ(ai)l=\frac{1}{|G|}\sum_{a_i\in G}k^{\lambda(a_i)}l=∣G∣1?ai?∈G∑?kλ(ai?)
Polya定理其實就是一種Burnside引理的具體化,就是把上面的c1(ai)c_1(a_i)c1?(ai?)算出來了
例題
[poj1286]Necklace of Beads
題目大意:現在有333種顏色的珠子,問有多少種長度為nnn的環,旋轉、軸對稱同構算一種
題解: 我們發現對于一個nnn的置換只有2?n2*n2?n種,直接套polya定理求環數量即可,復雜度O(n2)\mathcal O(n^2)O(n2)
總結
以上是生活随笔為你收集整理的Burnside引理和Polya定理学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单位根反演[loj6485]LJJ 学二
- 下一篇: [bzoj1547]周末晚会