当前位置: 首页 > news >正文

群论

前言

请怀着批判性思维阅读,如果有任何问题欢迎前来踩爆我。

定义

如果一个集合 \(S\ne \varnothing\),且在 \(S\) 上的运算 \(\cdot\) 满足一下要求,得到我们称 \((S,\cdot)\) 为一个群。

  • 封闭性:\(\forall a,b\in S\)\(a\cdot b\in S\)
  • 结合律:\(\forall a,b,c\in S\)\((a\cdot b)\cdot c=a\cdot(b\cdot c)\)
  • 单位元:\(\exists e\in S\)\(\forall a\in S\)\(a\cdot e=a\)
  • 逆元:\(\forall a\in S\)\(\exists inv\in S\)\(a\cdot inv=e\)

子群

如果群 \(G(S,\cdot)\) 满足 \(H(T,\cdot)\) 也是一个群且 \(T\subseteq S\),那么我们称 \(H\)\(G\) 的一个子群,记作 \(H\le G\)

简单性质

单位元唯一

对于一个群 \((S,\cdot)\),其单位元 \(e\) 是唯一的。

假设群中有两个不同单位元 \(e_1,e_2\),那么就有 \(e_1=e_1\cdot e_2=e_2\),与假设矛盾,故只有一个单位元。

逆元不分左右

对于一个群 \((S,\cdot)\),如果 \(a\cdot x=e\),那么 \(x\cdot a=e\)

不妨设 \(c\cdot a=e\),那么 \(x\cdot a=(c\cdot a)\cdot (x\cdot a)=c\cdot a\cdot(a\cdot x)=c\cdot a=e\)

逆元唯一

对于一个群 \((S,\cdot)\) 中的任意元素 \(x\),其逆元 \(inv\) 是唯一的。

假设存在 \(x\) 的两个逆元 \(inv_1,inv_2\),那么满足 \(inv_1=inv_1\cdot x\cdot inv_2=inv_2\)

置换

定义

一个序列(有序且不可重复的)自身的一种双射被称为置换,对于 \(S=\{a_1,a_2,\cdots,a_n\}\) 的置换可以写作:

\[f=\begin{pmatrix}a_1 & a_2 & \cdots & a_n \\a_{p_1} & a_{p_2} & \cdots & a_{p_n} \end{pmatrix} \]

表示把第 \(i\) 个位置的元素换到第 \(p_i\) 个位置。

其实实际上置换更改的是下标还是具体的值在这篇文章中都是不影响的,因为在所有实际应用中的序列中的元素都满足 \(a_i=i\)

乘法

对于两个置换:

\[f=\begin{pmatrix}a_1 & a_2 & \cdots & a_n \\a_{p_1} & a_{p_2} & \cdots & a_{p_n} \end{pmatrix},g=\begin{pmatrix}a_{p_1} & a_{p_2} & \cdots & a_{p_n} \\a_{q_1} & a_{q_2}& \cdots & a_{q_n} \\\end{pmatrix} \]

那么两个置换相乘的结果为:

\[f\circ g=\begin{pmatrix}a_1 & a_2 & \cdots & a_n \\a_{q_1} & a_{q_2} & \cdots & a_{q_n} \end{pmatrix} \]

置换群

对于一个集合 \(S\) 的所有置换与置换乘法在一起满足封闭性、结合律、有单位元、有逆元,因此它们构成了一个群。

通常我们把 \(\{1,2,\cdots,n\}\) 构成的置换与置换乘法组成的记作 \(S_n\)

对于 \(S_n\) 的任意子群,我们称之为置换群。

循环置换

对于这样的特殊的置换,我们称之为循环置换。

\[f=\begin{pmatrix}a_1 & a_2 & \cdots & a_{n-1} & a_n \\a_{2} & a_{3} & \cdots & a_{n} & a_{1} \end{pmatrix} \]

对于循环置换可以简记为:

\[f=(a_1,a_2,a_3,\cdots,a_{n-1},a_n) \]

需要注意,下面的置换也是循环置换。

\[\begin{pmatrix}a_1 & a_5 & a_6&a_4& a_2 \\a_2 & a_1 & a_4&a_5 & a_6\end{pmatrix} \]

置换的性质

如果两个置换不包含相同的元素,那么我们称两个置换是不相交的。

那么有性质,对于所有的置换都可以通过若干个不相交的循环乘积,例如:

\[\begin{pmatrix}a_1&a_2&a_3&a_4&a_5\\a_3&a_5&a_1&a_2&a_4\end{pmatrix}=\begin{pmatrix}a_1&a_3\\a_3&a_1\end{pmatrix}\circ \begin{pmatrix}a_2&a_4&a_5\\a_5&a_2&a_4\end{pmatrix} \]

如果把元素视为图的节点,映射关系视为有向边,则每个节点的入度和出度都为 \(1\)

因此形成的图形必定是若干个环的集合,而一个环即可用一个循环置换表示。

我们定义如果一个置换至少通过 \(x\) 个不相交的循环置换表示,那么我们成这个置换的阶为 \(x\)

不动点

如果序列中的一个元素 \(s\) 所在的序列经过一个置换操作 \(p\) 之后 \(s\) 的位置没有变化,那么我们称 \(s\)\(p\) 操作的不动点。

定义 \(c(p)\) 表示置换 \(p\) 的不动点个数。

\(k\) 不动置换类

\(G\)\([1,n]\) 的一个置换群,\(k\in[1,n]\)。那么在 \(G\) 中所有的置换中能让元素 \(k\) 保持不变的全体置换构成的集合被称为 \(k\) 不动置换类,记作 \(Z_k\)

一个性质

\(k\) 不动置换类肯定是 \(G\) 的子群。

封闭性:因为所有让 \(k\) 不变的都在里面,所以具有封闭性。

结合律:因为 \(\circ\) 本身就具有结合律,所以显然满足。

单位元:因为单位元不会造成变化,所以肯定在 \(Z_k\) 中。

逆元:因为 \(p\) 的逆元 \(p^{-1}\) 也不会让 \(k\) 变化,所以也在 \(Z_k\) 中。

等价类

对于元素 \(k\) 施加任意的 \(G\) 中的置换,最终可以得到的所有的元素构成的集合就是 \(k\) 的等价类,记作 \(E_k\),有称为轨迹。

例如 \(G=\{(1,2),(2,3),(1,3),e,(4,5),(4,5,6)\}\),那么 \(E_1=\{1,2,3\}\)

一个性质

\(x,y\) 属于一个等价类时,\(\lvert Z_x\rvert =\lvert Z_y\rvert\)

考虑构造 \(Z_x\)\(Z_y\) 之间的双射,如果构造出来那么就肯定满足 \(\lvert Z_x\rvert=\lvert Z_y\rvert\)

根据等价类的定义,\(\exists t\in G\) 满足 \(x \xrightarrow{t}y\)\(y\xrightarrow{t^{-1}}x\)

那么对于任意的 \(p\in Z_x\) 都有 \(y\xrightarrow{t^{-1}}x\xrightarrow{p}x\xrightarrow{t}y\),那么构造 \(p'=t^{-1}pt\),则必有 \(p'\in Z_y\)

于是就构造出了一组二者之间的双射。

\(k\) 不动置换类-等价类(轨道-稳定子)定理

\[\lvert Z_k\rvert\times\lvert E_k\rvert=\lvert G\rvert \]

\(m=\lvert E_k\rvert\),设 \(E_k=\{a_1(=k),a_2,\cdots,a_m\}\)

那么根据等价类的定义,对于每一个 \(a_i\) 都存在一个 \(p_i\in G\) 满足 \(k\overset{p_i}{\rightarrow} a_i\)

设置换集合 \(G_i=Z_k\circ p_i\),显然有 \(G_i\le G\),换而言之 \(G_i\) 中任何一个置换都可以让 \(k\) 变成 \(a_i\)

容易发现 \(i\ne j\)\(G_i\cap G_j=\varnothing\),这时因为 \(G_i\)\(G_j\)\(k\) 的作用时截然不同的。

所以满足 \(G_1+G_2+\cdots+G_m\subseteq G\),因为 \(G_1+G_2,\cdots,G_m=G_1\cup G_2\cup\cdots\cup G_m\)

对于 \(\forall p\in G\),因为等价类的定义,都一定存在 \(k\xrightarrow{p}a_i\)

所以就有 \(k\xrightarrow{p}a_i\xrightarrow{{p_i}^{-1}}k\),也就是 \(p\circ {p_i}^{-1}\in Z_k\),换而言之 \(p\in Z_k\circ {p_i}^{-1}\),也就是 \(p\in G_i\)

那么就有 \(G\subseteq G_1+G_2+\cdots+G_m\),也就是证明了 \(G=G_1+G_2+\cdots+G_m\)

因为 \(G_i=Z_k\circ p_i\),所以 \(\lvert G_i\lvert =\lvert Z_k\rvert\),也就是 \(\lvert G\rvert=\lvert Z_k\rvert\times\lvert E_k\rvert\)

Burnside 引理

我们定义等价类的个数为 \(Ans\),其实在实际应用中 \(Ans\) 就是实际不同的答案,那么满足:

\[Ans=\dfrac{1}{\lvert G\rvert}\times \sum\limits_{p\in G} c(p) \]

\(m=\lvert G\rvert\)\(G=\{a_1,a_2,\cdots,a_m\}\)

\(s_{i,k}=[k\xrightarrow{a_i}k]\),那么能够发现 \(\sum\limits_{k=1}^n s_{i,k}=c(a_i)\) 而且 \(\sum\limits_{i=1}^m s_{i,k}=\lvert Z_k\rvert\)

那么有 \(\sum\limits_{i=1}^m c(a_i)=\sum\limits_{i=1}^n \lvert Z_i\rvert=\sum\limits_{i=1}^n\sum\limits_{k=1}^m s_{i,k}\)\(\sum\limits_{i=1}^n \lvert Z_i\rvert=\sum\limits_{t=1}^{Ans}\sum\limits_{i\in E_t} \lvert Z_i\rvert\)

因为同一个等价类的 \(Z\) 集合大小都是一样的,所以 \(\sum\limits_{i=1}^n\lvert Z_i\rvert=\sum\limits_{i=1}^{Ans} \lvert E_i\rvert\times \lvert Z_i\rvert\)

然而有因为 \(\lvert Z_k\rvert\times\lvert E_k\rvert=\lvert G\rvert\),所以 \(\sum\limits_{i=1}^n =Ans\times \lvert G\rvert=\sum\limits_{p=1}^m c(a_i)\)

那么就得到了 \(Ans=\dfrac{1}{\lvert G\rvert}\times \sum\limits_{p\in G} c(p)\)

应用

\(2\times 2\) 方格中每个格子可以选择染上 \(2\) 种颜色(红色或白色)。

现在要问,如果不旋转、顺时针旋转 \(90\) 度、逆时针旋转 \(90\) 度、旋转 \(180\) 度后相同的均算成同一种方案,问总共有多少种不同的染色方案。

那么我们将所有染色方案都进行标号,得到:

那么对于不旋转的 \(f_1\) 有:

\[f_1=\begin{pmatrix}1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16\\1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16\end{pmatrix} \]

那么右旋 \(90\) 度的 \(f_2\) 有:

\[f_2=\begin{pmatrix}1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16\\1&2&4&5&6&4&8&9&10&7&12&11&14&15&16&13\end{pmatrix} \]

后面的都是类似的。

那么对于 \(f_2\),没有改变的元素为 \(\{1,2\}\),所以 \(c(f_2)=2\)

一次类推可以得到:\(c(f_1)=16\)\(c(f_3)=2\)\(c(f_4)=4\)

所以我们得到:

\[Ans=\dfrac{1}{4}\times (16+2+2+3) \]

Pólya 定理

注意到用上面的 Burnside 定理的元素是染色方案,其序列长度是指数级的。

而 Pólya 定理处理的元素是染色的位置,可以有效的降低复杂度。

\(G\)\(n\) 个位置的置换群,有 \(m\) 中颜色,那么染色方法为:

\[\dfrac{1}{\lvert G\rvert}\times \sum\limits_{p\in G} T(p) \]

其中 \(T(p)\) 指在置换 \(p\) 下不改变的染色方案的数量。

假设 \(G'\) 是把位置作为状态的置换群,那么可以发现把染色方案作为整体的置换和把位置作为元素的置换是有对应关系的,换而言之就是 \(\lvert G\rvert=\lvert G'\rvert\)

那么通过 Burnside 引理可以得到:\(\dfrac{1}{\lvert G'\rvert}\times \sum\limits_{p'\in G'} c'(p')\),其中 \(c'(p')\) 表示 \(p'\)\(G\) 中对应的置换 \(p\) 的不动点个数。

容易发现其实 \(c'(p')\)\(T(p)\) 是等价的。

考虑怎么计算 \(T(p)\),设 \(D(p)\) 为置换 \(p\) 的阶数,那么根据乘法原理可以得到 \(T(p)=m^{D(p)}\)

应用

同样的问题:

\(2\times 2\) 方格中每个格子可以选择染上 \(2\) 种颜色(红色或白色)。

现在要问,如果不旋转、顺时针旋转 \(90\) 度、逆时针旋转 \(90\) 度、旋转 \(180\) 度后相同的均算成同一种方案,问总共有多少种不同的染色方案。

那么现在我们对位置进行编号:

对于不动的置换 \(f_1'\) 有:

\[f_1'=\begin{pmatrix}1&2&3&4\\1&2&3&4\end{pmatrix} \]

对于 Burnside 引理中的置换,\(f_1'\) 对应 \(f_1\)

\[f_1=\begin{pmatrix}1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16\\1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16\end{pmatrix} \]

所以根据原始的定义有 \(c'(f'_1)=c(f_1)=16\),另外 \(f'_1=(1)(2)(3)(4)\),所以 \(T(f_1')=2^4=16\)

对于右旋 \(90\) 的置换 \(f'_2\) 有:

\[f_2'=\begin{pmatrix}1&2&3&4\\3&1&4&2\end{pmatrix} \]

对于 Burnside 引理中的置换,\(f_2'\) 对应 \(f_2\)

\[f_2=\begin{pmatrix}1&2&3&4&5&6&7&8&9&10&11&12&13&14&15&16\\1&2&4&5&6&4&8&9&10&7&12&11&14&15&16&13\end{pmatrix} \]

所以根据原始的定义有 \(c'(f'_2)=c(f_2)=2\),另外 \(f'_2\) 本身就是一个循环置换,所以 \(T(f_2')=2^1=2\)

经典例题

【模板】Polya 定理

显然根据 Polya 定理有式子:

\[Ans=\dfrac{1}{n}\sum\limits_{i=0}^{n-1} n^{c(p_i)} \]

那么有性质,对于循环置换满足 \(c(p_i)=\gcd(i,n)\)

对于原本在 \(x\) 的元素,在经过 \(p_i\) 的置换之后会移动到 \((x+i)\bmod n\) 这个位置,那么显然所有的环的长度都是 \(\dfrac{\text{lcm}(i,n)}{i}\),因为 \((x+i\times\dfrac{\text{lcm}(i,n)}{i})\bmod n =x\)

所以得到环的数量为 \(n\times \dfrac{i}{\text{lcm}(i,n)}=\gcd(i,n)\)

所以得到:

\[Ans=\dfrac{1}{n}\sum\limits_{i=0}^{n-1}n^{\gcd(i,n)} \]

那么接下来对这个式子进行反演就行了。

http://www.hskmm.com/?act=detail&tid=18016

相关文章:

  • 扫码签到赢大奖小程序:助力多场景获客的智能营销工具
  • docker 镜像/容器
  • jmeter命令行参数详细解释
  • RK3399:性能与能效的嵌入式先锋,解锁多场景应用潜力
  • 【C++STL详解】带头双向循环结构 + 双向迭代器,核心接口 + 排序效率 + 避坑指南 - 教程
  • TorchV知识库安全解决方案:基于智能环境感知的动态权限控制
  • VBA ETH功能应用 | “0”代码构建SOME/IP节点
  • ISUP协议视频平台EasyCVR在智慧灯杆综合管理中的应用
  • 视觉智能赋能产业数智化升级:JBoltAI多模态技术落地实践
  • 神秘考试题
  • 华三交换机升级版本步骤
  • Solon v3.4.6, v3.5.4, v3.6.0-M1 发布。正式开始 LTS 计划
  • 串口通信、阻塞与非阻塞、qt
  • 破解 Java 系统 AI 化难题:JBoltAI 框架自带 RAG、Function Calling 核心功能
  • 算法第一章作业
  • CF1706E Qpwoeirut and Vertices
  • 聚焦 Java AI 开发:JBoltAI 框架支持多模型适配,打造智能应用
  • 企业级 AI 应用开发首选!JBoltAI 框架适配 Java 技术栈,稳定可靠
  • 别等碳超支才慌!EMS 像 “碳导航”,提前预警能耗 “堵点”,双碳路上不绕路
  • OTA测试实战指南:测试流程、用例设计与自动化实现
  • Halcon图像——相机图像采集模式
  • How to use SQL Server Management Studio track one store procedure performance - 详解
  • 【2025-09-25】连岳摘抄
  • 完整教程:探索 Event 框架实战指南:微服务系统中的事件驱动通信:
  • Gitee:本土化DevOps平台如何助力企业实现研发效能跃迁
  • 全新升级~山海鲸4.5.12版本更新内容速递
  • pod启动后一直containerCreating状态解决
  • activiti部署流程后act_re_procdef表中无流程定义信息
  • 手写代码使用Fls模块的方法
  • [PaperReading] REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS