群论与置换群入门

一.群的定义.

:定义一个群是由一个集合 S S S与一个二元运算 ⋅ \cdot 组成的二元组 G = ( S , ⋅ ) G=(S,\cdot) G=(S,),满足:
封闭性 x , y ∈ S ⇒ x ⋅ y ∈ S x,y\in S\Rightarrow x\cdot y\in S x,ySxyS.
结合律 x , y , z ∈ S ⇒ ( x ⋅ y ) ⋅ z = x ⋅ ( y ⋅ z ) x,y,z\in S\Rightarrow (x\cdot y)\cdot z=x\cdot (y\cdot z) x,y,zS(xy)z=x(yz).
单位元:在 S S S中有一个元素 e e e满足任意 x ∈ S x\in S xS使得 e ⋅ x = x ⋅ e = x e\cdot x=x\cdot e=x ex=xe=x.
可逆性:对于任意 x ∈ S x\in S xS,存在一个元素 y ∈ S y\in S yS使得 x ⋅ y = e x\cdot y=e xy=e.此时 x x x y y y互为逆元.

群还有另一个性质消去律:若 x , y , a ∈ S x,y,a\in S x,y,aS则有 x = y ⇔ x ⋅ a = y ⋅ a x=y\Leftrightarrow x\cdot a=y\cdot a x=yxa=ya.

定理1:若一个代数结构 G = ( S , ⋅ ) G=(S,\cdot) G=(S,)满足封闭性、结合律与单位元,则在这个代数结构上有可逆性 ⇔ \Leftrightarrow 消去律.

证明:

若满足可逆性,则有 a c = b c ⇔ a c ⋅ c − 1 = b c ⋅ c − 1 ⇔ a = b ac=bc\Leftrightarrow ac\cdot c^{-1}=bc\cdot c^{-1}\Leftrightarrow a=b ac=bcacc1=bcc1a=b.

若满足消去律,则对于任意 a ∈ S a\in S aS,我们建立新集合 S ′ = { a x ∣ x ∈ S } S'=\{ax|x\in S\} S={axxS},根据封闭性有 S ′ ⊆ S S'\subseteq S SS.

根据集合互异性, S S S中不存在两个元素 x , y x,y x,y相同.此时假设 S ′ S' S中若存在两元素 a x , a y ax,ay ax,ay相同,则有 x , y x,y x,y相同,矛盾,所以 S ′ S' S中也不存在两个元素相同.

此时必然有 ∣ S ∣ = ∣ S ′ ∣ |S|=|S'| S=S,即 S = S ′ S=S' S=S,那么 e ∈ S ′ e\in S' eS,即存在 a t = e at=e at=e a a a存在逆元.

证毕.

我们定义对于一个群 G = ( S , ⋅ ) G=(S,\cdot) G=(S,) x ∈ G x\in G xG等价于 x ∈ S x\in S xS,且 a b ab ab等价于 a ⋅ b a\cdot b ab.

阿贝尔群:任意两个元素运算均满足交换律的群.

群的阶:对于一个群 G = ( S , ⋅ ) G=(S,\cdot) G=(S,)的阶 ∣ G ∣ = ∣ S ∣ |G|=|S| G=S.

子群:对于一个群 G = ( S , ⋅ ) G=(S,\cdot) G=(S,),它的子群是一个群 H = ( S ′ ⊆ S , ⋅ ) H=(S'\subseteq S,\cdot) H=(SS,).

真子群:对于一个群 G = ( S , ⋅ ) G=(S,\cdot) G=(S,) G G G的真子群定义为除 G G G本身与 H = ( { e } , ⋅ ) H=(\{e\},\cdot) H=({e},) G G G的子群.

生成子群:对于一个群 G = ( S , ⋅ ) G=(S,\cdot) G=(S,),把所有含有 S S S的一个子集 S ′ S' S的子群的交称为 G G G的一个生成子群,记为 < S ′ > <S>.

生成集:对于一个群 G G G的一个生成子群 < S > <S>,称 S S S < S > <S>的生成集.

也可以把生成集和生成子群的关系看做用生成集内的元素任意运算得到的群称为生成子群.


二.陪集.

陪集:对于一个群 G = ( S , ⋅ ) G=(S,\cdot) G=(S,),它的一个子群 H = ( S ′ , ⋅ ) H=(S',\cdot) H=(S,)的左陪集定义为 a H = { a h ∣ h ∈ S ′ } , a ∈ G aH=\{ah|h\in S'\},a\in G aH={ahhS},aG,右陪集 H a Ha Ha同理.

显然一个子群的左陪集与右陪集有一一对应关系,所以接下来只讨论右陪集.

定理2:对于一个群 G G G的子群 H H H,有:
H a ∩ H b = { H a H a = H b ∅ e l s e Ha\cap Hb= \left\{\begin{matrix} Ha&Ha=Hb\\ \empty&else \end{matrix}\right. HaHb={HaHa=Hbelse

证明:

若存在 x ∈ H a ∩ H b x\in Ha \cap Hb xHaHb,则存在 h 1 , h 2 ∈ H h_1,h_2\in H h1,h2H使得 x = h 1 a = h 2 b x=h_1a=h_2b x=h1a=h2b,因此对于任意 h ∈ H h\in H hH,有:
h a = h h 1 − 1 h 1 a = h h 1 − 1 h 2 b ha=hh_1^{-1}h_1a=hh_1^{-1}h_2b ha=hh11h1a=hh11h2b

由于 h , h 1 , h 1 − 1 , h 2 ∈ H h,h_1,h_1^{-1},h_2\in H h,h1,h11,h2H,所以 h h 1 − 1 h 2 b ∈ H b hh_1^{-1}h_2b\in Hb hh11h2bHb,也就是说 H a ⊆ H b Ha\subseteq Hb HaHb.

同理可得 H b ⊆ H a Hb\subseteq Ha HbHa,故 H a = H b Ha=Hb Ha=Hb.

证毕.

这个定理说明一个群可以划分为它的一个子群两两不相交的右陪集的并.

定义 ∣ G : H ∣ |G:H| G:H表示群 G G G的子群 H H H的不同右陪集个数,我们可以得到拉格朗日定理:对于任意一个群 G G G的任意一个子群 H H H,有 ∣ G ∣ = ∣ G : H ∣ ∣ H ∣ |G|=|G:H||H| G=G:HH.

由定理2即可证明.


三.置换与置换的运算.

置换:定义一个置换 A = { S = { a 1 , a 2 , . . . , a n } , f } A=\{S=\{a_1,a_2,...,a_n\},f\} A={S={a1,a2,...,an},f}为一个从 S S S映射到 S S S的双射,形式如下:
A = ( a 1 a 2 ⋯ a n f ( a 1 ) f ( a 2 ) ⋯ f ( a n ) ) A=\left(\begin{matrix} a_1&a_2&\cdots&a_n\\ f(a_1)&f(a_2)&\cdots&f(a_n) \end{matrix}\right) A=(a1f(a1)a2f(a2)anf(an))

称一个基于集合 S S S的置换表示这个置换是一个从 S S S S S S的双射.

接下来对于一个置换 A = { S , f } A=\{S,f\} A={S,f},我们定义 x ∈ A x\in A xA等价于 x ∈ S x\in S xS A ( x ) A(x) A(x)等价于 f ( x ) f(x) f(x).

置换的阶:对于一个置换 A = { S , f } A=\{S,f\} A={S,f}的阶 ∣ A ∣ = ∣ S ∣ |A|=|S| A=S.

置换与置换的乘积:对于两个置换的乘积定义为:
( a 1 a 2 ⋯ a n b 1 b 2 ⋯ b n ) ( b 1 b 2 ⋯ b n c 1 c 2 ⋯ c n ) = ( a 1 a 2 ⋯ a n c 1 c 2 ⋯ c n ) \left(\begin{matrix} a_1&a_2&\cdots&a_n\\ b_1&b_2&\cdots&b_n \end{matrix}\right) \left(\begin{matrix} b_1&b_2&\cdots&b_n\\ c_1&c_2&\cdots&c_n \end{matrix}\right) =\left(\begin{matrix} a_1&a_2&\cdots&a_n\\ c_1&c_2&\cdots&c_n \end{matrix}\right) (a1b1a2b2anbn)(b1c1b2c2bncn)=(a1c1a2c2ancn)

单位置换:单位置换 E E E是一个对于任意 x ∈ E x\in E xE满足 E ( x ) = x E(x)=x E(x)=x的置换.

置换群:由置换和置换的乘积组成的群称为置换群.

称一个基于集合 S S S的置换群表示这个置换群中的置换均基于集合 S S S.

置换的相交:若两个轮换 A 1 , A 2 A_1,A_2 A1,A2满足 A 1 ∪ A 2 ≠ ∅ A_1\cup A_2\neq \empty A1A2=,则称 A 1 A1 A1 A 2 A2 A2相交.

置换的乘积拓展定义:默认对于置换 A A A x ∉ A x\notin A x/A A ( x ) = x A(x)=x A(x)=x,那么对于两个置换 A 1 , A 2 A_1,A_2 A1,A2的乘积 A 3 = A 1 × A 2 A_3=A_1\times A_2 A3=A1×A2,有 A 3 ( x ) = A 2 ( A 1 ( x ) ) A_3(x)=A_2(A_1(x)) A3(x)=A2(A1(x)).

显然置换的乘积满足结合律,但不满足交换律.


四.轮换与对换.

轮换:对于一个置换 A = { S = { a 1 , a 2 , ⋯   , a n } , f } A=\{S=\{a_1,a_2,\cdots,a_n\},f\} A={S={a1,a2,,an},f}满足 A ( a i ) = a i    m o d    n + 1 A(a_i)=a_{i\,\,mod\,\,n+1} A(ai)=aimodn+1,则称这个置换为一个轮换,可以用轮换 A = ( a 1 , a 2 , ⋯   , a n ) A=(a_1,a_2,\cdots,a_n) A=(a1,a2,,an)表示.

定理3:容易发现对于一个置换,必然可以被唯一分解为多个不相交的轮换的乘积的形式.

证明:
考虑将一个置换看成一张 n n n个点 n n n条边的有向图形式,图中的每一个环必然对应一个轮换,每个环必然互不相交且对应轮换乘积为原置换.
证毕.

定理4:对于一个轮换乘积形式的置换 A = ( B 1 ) ( B 2 ) ⋯ ( B n ) A=(B_1)(B_2)\cdots(B_n) A=(B1)(B2)(Bn) ∣ A ∣ = l c m i = 1 n ( ∣ B i ∣ ) |A|=lcm_{i=1}^{n}(|B_i|) A=lcmi=1n(Bi).

这个定理的一个应用题:POJ3590 The shuffle Problem.

对换:一个 2 2 2阶轮换.

定理5:对于任意一个置换,必然能够被拆分为一些对换的乘积形式,且对换个数的奇偶性确定.

奇置换和偶置换:可以被拆分为奇数个对换乘积的置换称为奇置换,可以被拆分为偶数个对换乘积的置换为偶置换.

奇置换 ⋅ \cdot 奇置换 = = =偶置换
奇置换 ⋅ \cdot 偶置换 = = =奇置换
偶置换 ⋅ \cdot 奇置换 = = =奇置换
偶置换 ⋅ \cdot 偶置换 = = =偶置换


五.等价类(轨道)与稳定化子.

等价类(轨道):元素 k k k在置换群 G G G中所有置换的作用下得到的元素组成的集合称为 k k k的等价类(轨道),记为 E k E_k Ek.形式化的,即:
E k = { A ( k ) ∣ A ∈ G } E_k=\{A(k)|A\in G\} Ek={A(k)AG}

不动点:对于一个置换 A A A,置换 A A A中的不动点 k k k满足 A ( k ) = k A(k)=k A(k)=k.

稳定化子:元素 k k k在置换群 G G G中所有 k k k作为不动点的置换组成的集合.形式化的,即:
Z k = { A ∈ G ∣ A ( k ) = k } Z_k=\{A\in G|A(k)=k\} Zk={AGA(k)=k}

轨道-稳定化子定理:对于一个置换群 G G G和群中的一个元素 k k k,有 ∣ E k ∣ ∣ Z k ∣ = ∣ G ∣ |E_k||Z_k|=|G| EkZk=G.

证明:

首先,对于一个置换群 G G G,任意一个元素 k k k的稳定化子 Z k Z_k Zk必然是 G G G的子群.

对于任意置换 A ∈ Z k A\in Z_k AZk,必然有 A ( k ) = k A(k)=k A(k)=k,所以对于任意 B ∈ G B\in G BG,必然有任意置换 C ∈ Z k B C\in Z_kB CZkB满足 C ( k ) = B ( k ) C(k)=B(k) C(k)=B(k).

那么根据轨道的定义, E k = { A ( k ) ∣ A ∈ G } E_k=\{A(k)|A\in G\} Ek={A(k)AG},所以 Z k Z_k Zk的不同陪集数量为 ∣ E k ∣ |E_k| Ek.

H = Z k H=Z_k H=Zk代入拉格朗日定理得到 ∣ E k ∣ ∣ Z k ∣ = ∣ G ∣ |E_k||Z_k|=|G| EkZk=G.

证毕.


六.等价类计数.

Burnside引理:对于一个基于集合 S S S的置换群 G G G,设 c ( A ) c(A) c(A)表示置换 A A A中不动点的个数,则对于 S S S的不同等价类数量 L L L有:
L = 1 ∣ G ∣ ∑ A ∈ G c ( A ) L=\frac{1}{|G|}\sum_{A\in G}c(A)\\ L=G1AGc(A)

这里 S S S的不同等价类意为 S S S中所有元素的不同等价类数之和.

证明:

每个等价类对答案的贡献为 1 1 1,那么每一个点对答案的贡献为 1 ∣ E k ∣ \frac{1}{|E_k|} Ek1.

利用轨道-稳定化子定理推公式:
L = ∑ k ∈ S 1 ∣ E k ∣ = ∑ k ∈ S ∣ Z k ∣ ∣ G ∣ = 1 ∣ G ∣ ∑ k ∈ S ∣ Z k ∣ = 1 ∣ G ∣ ∑ A ∈ G c ( A ) L=\sum_{k\in S}\frac{1}{|E_k|}=\sum_{k\in S}\frac{|Z_k|}{|G|}=\frac{1}{|G|}\sum_{k\in S}|Z_k|=\frac{1}{|G|}\sum_{A\in G}c(A) L=kSEk1=kSGZk=G1kSZk=G1AGc(A)

证毕.

Polya定理:对于一个基于集合 S S S的置换群 G = ( A , ⋅ ) G=(A,\cdot) G=(A,),用 m m m种颜色给 S S S的每个元素染色,设 C ( A ) C(A) C(A)表示 A A A可以拆成的不相交轮换数,则本质不同的染色方案数 L L L为:
L = 1 ∣ G ∣ ∑ A ∈ G m C ( A ) L=\frac{1}{|G|}\sum_{A\in G}m^{C(A)} L=G1AGmC(A)

定义两个染色方案 S 1 = { ( x i , c i ) ∣ x ∈ S } , S 2 = { ( x i , c i ) ∣ x ∈ S } S_1=\{(x_i,c_i)|x\in S\},S_2=\{(x_i,c_i)|x\in S\} S1={(xi,ci)xS},S2={(xi,ci)xS}本质相同,当且仅当存在一个置换 A ∈ G A\in G AG使得所有 ( x i , c i ) ∈ S 1 (x_i,c_i)\in S_1 (xi,ci)S1时有 ( A ( x i ) , c i ) ∈ S 2 (A(x_i),c_i)\in S_2 (A(xi),ci)S2.

证明:

构造一个集合 S ′ S' S表示所有染色方案,其中一种染色方案被表示为 { ( x i , c i ) } \{(x_i,c_i)\} {(xi,ci)}.

构造基于集合 S ′ S' S的置换群 G ′ = ( A ′ , ⋅ ) G'=(A',\cdot) G=(A,),其中每个 A i ′ A'_i Ai对应了置换群 G G G中的 A i A_i Ai,即 A i ′ ( { ( x j , c j ) } ) = { A i ( x j ) , c j } A'_i(\{(x_j,c_j)\})=\{A_i(x_j),c_j\} Ai({(xj,cj)})={Ai(xj),cj}.

现在 L L L显然等于 G ′ G' G中不同等价类的个数.

这个时候考虑使用Burnside引理,问题变为计算经过某个置换后不动的方案数.

显然对于一个方案,想让它经过某个置换后不动,需要把置换拆开后的每一个轮换对应的位置染的颜色分别相等,此时对于置换 A ′ A' A方案数显然为 m C ( A ′ ) m^{C(A')} mC(A).

代入Burnside引理中即可得到:
L = 1 ∣ G ′ ∣ ∑ A ′ ∈ G ′ m C ( A ′ ) = 1 ∣ G ∣ ∑ A ∈ G m C ( A ) L=\frac{1}{|G'|}\sum_{A'\in G'}m^{C(A')}=\frac{1}{|G|}\sum_{A\in G}m^{C(A)} L=G1AGmC(A)=G1AGmC(A)

证毕.


七.一些置换群的其它技巧.

定理6:对于一个置换群 G G G,若存在一个轮换 A A A满足这个置换群的形式为 G = { e = A 0 , A 1 , A 2 , ⋯   , A n − 1 } G=\{e=A^{0},A^{1},A^2,\cdots,A^{n-1}\} G={e=A0,A1,A2,,An1},则 A i A^{i} Ai可以被拆解的轮换数为 gcd ⁡ ( n , i ) \gcd(n,i) gcd(n,i).

证明:

显然此时 ∣ A ∣ = n |A|=n A=n,且每一个轮换的大小都是相同的.

此时我们就可以设 A i A^{i} Ai的每个轮换大小都为 x x x,那么 x x x就是以下方程的最小正整数解:
i x ≡ 0    ( m o d    n ) ⇔ i x − n y = 0 ix\equiv 0\,\,(mod\,\,n)\Leftrightarrow ix-ny=0 ix0(modn)ixny=0

显然最小正整数解 x x x满足 i x = n y = l c m ( n , i ) ix=ny=\mathrm{lcm}(n,i) ix=ny=lcm(n,i),那么有:
i x = l c m ( n , i ) ⇒ x = l c m ( n , i ) i ix=\mathrm{lcm}(n,i)\Rightarrow x=\frac{\mathrm{lcm(n,i)}}{i} ix=lcm(n,i)x=ilcm(n,i)

那么轮换数即为:
n x = n l c m ( n , i ) i = n i l c m ( n , i ) = gcd ⁡ ( n , i ) \frac{n}{x}=\frac{n}{\frac{\mathrm{lcm}(n,i)}{i}}=\frac{ni}{\mathrm{lcm}(n,i)}=\gcd(n,i) xn=ilcm(n,i)n=lcm(n,i)ni=gcd(n,i)

证毕.

这个定理的一个应用题:洛谷4980【模板】Polya定理.

定理7:一个奇数长度的轮换 A A A平方后得到的还是一个轮换,一个偶数长度的轮换 A A A平方后得到两个分开的轮换.

这个定理可以用于置换开方的存在性判定.

置换开方存在性判定的一个应用题及定理7证明:POJ3128 Leonardo’s Notebook.

你可能感兴趣的:(算法入门)