群论基础与 Burnside 引理与 Polya 定理 学习笔记

news/2025/3/15 18:00:32/文章来源:https://www.cnblogs.com/Rock-N-Roll/p/18773979

\(\text{群论基础与 Burnside 引理与 Polya 定理 学习笔记}\)

本文主要介绍 OI 中常用的群论部分,将会略过一些不必要的证明。

群论基础

群的定义

若集合 \(S\ne\varnothing\)\(S\) 上二元运算 \(\cdot\) 构成代数结构 \(G(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)\in S\)
  • 单位元:\(\exists e\in S,\forall a\in S,e\cdot a=a\cdot e=a\)
  • 逆元:\(\forall a\in S,\exists b\in S,a\cdot b=b\cdot a=e\)

那么 \(G(S,\cdot)\) 是一个群。

置换群

置换

置换是有限集合到自身的双射。例如,集合 \(X=\{x_1,x_2,\cdots,x_n\}\) 上的置换可以表示为

\[\sigma=\begin{pmatrix}x_1&x_2&\cdots&x_n\\x_{p_1}&x_{p_2}&\cdots&x_{p_n}\end{pmatrix} \]

不难发现置换这一运算满足上述定义,因此集合 \(S\) 的所有置换构成了一个群。

轮换

轮换是一种特殊的置换。可以记作:

\[(x_1,x_2,\cdots,x_n)=\begin{pmatrix}x_1&x_2&\cdots&x_{n-1}&x_n\\x_2&x_3&\cdots&x_n&x_1\end{pmatrix} \]

容易发现一个显然的性质:每一个置换都可以分解为若干互不相交的轮换的乘积。这里的互不相交指的是俩你哥哥集合之间没有相同的元素。因此对于置换操作,我们常常将其拆解为若干不相交的轮换来解决。

Burnside 引理

引理

我们定义 \(A,B\) 为两个有限集合,\(X=B^A\) 表示所有从 \(A\)\(B\) 的映射,\(G\) 为作用在 \(A\) 上的一个置换群,\(X/G\) 表示 \(G\) 作用在 \(X\) 上产生的所有等价类的集合,那么 \(|X/G|\) 就是 \(G\) 作用在 \(X\) 上后产生不同结果的个数。有引理:

\[|X/G|=\frac 1{|G|}\sum_{g\in G}|X^g| \]

其中 \(X^g\) 表示 \(X\) 经过 \(g\) 这一置换后结果不改变的个数,称为 \(X\)\(g\) 下的不动点。

需要留意的是当 \(X\subseteq B^A\) 时,Burnside 引理仍然成立。换句话说当题目给出的置换有限制条件,并不完整时,同样可以使用 Burnside 引理。

应用

有时要求 \(|X/G|\) 是困难的,但如果可以方便地计算每个置换下不动点的个数,就可以求出 \(|X/G|\) 了。

Pólya 定理

这是 Burnside 引理的特殊形式。表示为:

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

\(c(g)\) 表示置换 \(g\) 可以拆出的不相交的轮换的数量。

需要留意的是 Pólya 定理当且仅当 \(X=B^A\) 成立时成立,也就是说题目中所给的映射必须是全集的映射,不能加以限制条件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/899302.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm2024下载安装一键激活2099年

​软件包和激活工具下载地址,关地球号:QStockView,发送pycharm,立刻发给你,全免费; 激活之后如下: 激活方式,打开压缩包,然后找到下面的文件,双击打开提示成功,之后,就可以了;去重新打开pycharm,就可以了; 中文设置如下: 添加图片注释,不超过 140 字(可选…

日期问题中的格式控制

define _CRT_SECURE_NO_WARNINGS include <stdio.h> include <string.h> using namespace std; void NextDay(int &year, int &month, int &day) { //存储一下月份和天数的关系 int dayOfMonth[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; int is…

Windows管理小工具

Windows 管理小工具 概述 Windows 管理小工具 是一个基于批处理脚本的多功能工具,旨在帮助用户快速管理 Windows 系统中的常见设置和功能。通过简单的菜单操作,用户可以轻松完成 Windows 11 右键菜单管理、桌面图标小箭头管理、卸载 Windows 11 小组件、安装 Office、激活 Wi…

2025.3.11 php登录,连接数据库

1,$GET和$POST的区别 2, 3, 4, 5,HTML不能直接从编辑器上打开

Vue2学习5-v-model原理、表单类组件封装及v-model简化、.sync修饰符 、ref和$refs、$nextTick、自定义指令(全局、局部)、插槽(默认、具名)及商品列表案例

Vue2 v-model原理 v-model本质就是一个语法糖(一种编程语言的语法特性,允许以更简洁、易读的方式表达某些操作) 例如在输入框中,是value属性和input事件的合并 作用:实现数据的双向绑定数据变,视图跟着变视图变,数据跟着变例: $event可以获取事件的形参 <template&g…

Vue2学习5-

Vue2 v-model原理 v-model本质就是一个语法糖(一种编程语言的语法特性,允许以更简洁、易读的方式表达某些操作) 例如在输入框中,是value属性和input事件的合并 作用:实现数据的双向绑定数据变,视图跟着变视图变,数据跟着变例: $event可以获取事件的形参 <template&g…

C# 23种计模式

以下是23种设计模式:

【阿里淘天】3月15日暑期实习机试-第一题-连续非空子数组

连续非空子数组 题面思路 正向求解的话,需要枚举所有的子数组,复杂度会来到\(O(n^3)\),完全不可行,在观察题目输入描述,\(a_i\)的取值范围非常小,故我们考虑反向求解(这也是非常经典的思路,无法直接计数,我们就计算每个答案的贡献是多少) 利用类似滑动窗口的思想,去…

python的基本运用(7)——函数(内置函数)

一、python的内建函数二、内置函数使用 (1)format()函数 1.定义:是一格式化字符串,该函数增强了字符串格式的功能. 2.基本语法是通过{}来代替一起拿% 3.案例 a.设置指定位置,默认暑顺序 hz="{}".format("dcs","18")print(hz) b.按照指定的索引…

LeetCode53最大子数组和——贪心求解

int maxSubArray(vector<int>& nums) {int len = nums.size();int max=INT_MIN;int sum=0;for(int i=0;i<len;i++){sum+=nums[i];if(max<sum) max=sum;if(sum<0) sum=0;}return max;}这是根据代码的写出的max与sum的状态,笔者认为最重要的一点在于理解连续…

推荐一个查看Windows文件夹大小的软件

最近笔记本越来越卡,C盘100G几乎全被占用,所以就想查看是哪个文件占用了C盘, 但是Windows自带的又不好用,于是再网上找了一下 https://windirstat.net/ 发现了这个软件,非常好用,一目了然,免费,可以安装也可以直接解压, 可以查看每个文件和文件夹的大小,占比, 按文件…

Copilot平替?本地部署DeepSeek-Coder V2并接入到VS Code

什么是 DeepSeek-Coder V2 DeepSeek-Coder-V2是DeepSeek团队推出的基于MoE架构的智能代码模型,支持338中编程语言,几乎覆盖所有主流和小众编程语言,一次能处理长达128K的代码文件。 Github 开源仓库地址:https://github.com/deepseek-ai/DeepSeek-Coder-V2 用过DeepSeek很多…