置换群&Polya计数简易版学习笔记
前言
这个定理其实我学了蛮久的,就是一直一直没有掌握,原因是太抽象,而且证明也没怎么理解,今天看了Candy?大佬的博客,结合自己少得可怜的抽象代数知识,总算是搞懂了一点点,赶紧来发一波blog
问题引入
抽象的东西自然要把它具象化。
给定一个正方形的四格棋盘,想要给它黑白染色。
显然共有以下16种方案。
但是如果我认为,如果把正方形可以旋转
9
0
∘
,
18
0
∘
,
27
0
∘
90^\circ,180^\circ, 270^\circ
90∘,180∘,270∘,求有多少种本质不同的正方形呢?
显然只有6种
而置换群就是用来解决这一类问题的。
前置知识
概念1:置换
设
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))
上述问题中的旋转就可认为是一种置换。
概念2:置换乘积
假设我们有置换
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))
通常不满足交换律,但满足结合律。
概念3:置换群
设集合
N
n
N_n
Nn的所有置换的集合为
S
n
Sn
Sn
S
n
Sn
Sn的非空子集
G
G
G满足:
- 合成运算的封闭性 ∀ f , g ∈ G , f ⋅ g ∈ G ∀f,g∈G, f⋅g∈G ∀f,g∈G,f⋅g∈G
- 单位元 ι ∈ G ι∈G ι∈G
- 逆元的封闭性 ∀ f ∈ G , f − 1 ∈ G ∀f∈G, f^{−1}∈G ∀f∈G,f−1∈G
那么
G
G
G就是一个置换群。
阶:置换群中元素个数
显然,上述问题的旋转组成了一个置换群。
概念4:置换群的消去律
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
概念5:着色
就是给
N
n
N_n
Nn中的每一个元素分配一个颜色。
设
c
c
c是
N
n
N_n
Nn的一种着色,用
c
(
i
)
c(i)
c(i)表示
i
i
i的颜色。
上述问题的黑白染色就是一种着色。
概念6:置换对着色的作用
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
理解为旋转+染色即可。
概念7:着色集
C
C
C满足:
∀
f
∈
G
,
c
∈
C
,
f
∗
c
∈
C
∀f∈G,c∈C, f∗c∈C
∀f∈G,c∈C,f∗c∈C
概念8:等价类
∃
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分成多少个等价类。
Burnside定理
终于开始了最重要的部分了。
概念1:稳定核
使着色
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
也就是说,对于某种染色方案,置换完以后的状态和原来相同。
概念2:不动点
类似地,置换
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∣啦
是不是很神奇?
定理:Burnside定理
主角登场!
着色集
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)
证完了!
小试牛刀:Burnside定理的应用
考虑上面那道题
列出所有的置换,把不动点数出来。
是不是特别的。。。。
不好用呢?
复杂度甚至比暴力更高。
所以很多人称
B
u
r
n
s
i
d
e
Burnside
Burnside为引理。
因为真正的神器在后面。
Polya定理
循环
它的严格定义是这样的。
设
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,所以置换构成的图肯定是几个简单环构成的。
严格证明要数归,在此咕咕咕。
Polya定理
设循环的个数
#
(
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)
这样计算是不是快多了!
Polya定理的一点点小拓展
有一个局限是
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即可。
后记
写完之后就一个字:爽!
很实用的一个定理,理解其实也不需要太高大上的数学功底。
好玩好玩。。。(皮得一匹耶)