伯恩赛德定理(集合S的 置换群 诱导出来的等价关系 对集合S 划分 得到的 等价类个数)

本文主要是介绍伯恩赛德定理(集合S的 置换群 诱导出来的等价关系 对集合S 划分 得到的 等价类个数),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:仅个人小记。这个定理就是用来计数的,用来数一数等价类的个数,而等价类本质上是一种降维表示,即把同种东西归类,进而达到简化的目的,进而更能凸现事物的本质等价类的个数类似于线性代数里面 “秩” 这个概念,而不同的等价类则类似于不同的 “基向量”

前要知识和规定

1.由集合 S 上的一个置换群 &lt; G , ∗ &gt; &lt;G,*&gt; <G,>诱导的二元关系 R是一个等价关系 。证明参看 https://blog.csdn.net/qq_25847123/article/details/100253596
2. X a b X_{ab} Xab 表示所有将 a 置换成 b 的置换的集合。

伯恩赛德(Burnside)定理内容

由集合 S 上的一个置换群 &lt; G , ∗ &gt; &lt;G,*&gt; <G,>诱导的等价关系 R 将集合 S 划分所得到的等价类数目等于
1 ∣ G ∣ ∑ π ∈ G ψ ( π ) \frac{1}{|G|}\sum_{\pi\in G}\psi(\pi) G1πGψ(π) ψ ( π ) \psi(\pi) ψ(π)表示 在置换 π \pi π 作用下不变元个数。不变元指的是满足 π ( a ) = a \pi(a)=a π(a)=a 的元素 a 。

引入 η ( a ) \eta(a) η(a) 表示元素 a 在多少个作用下是保持不变的,由上图,显然有 ∑ π ∈ G ψ ( π ) = ∑ s ∈ S η ( s ) \sum_{\pi\in G}\psi(\pi)=\sum_{s\in S}\eta (s) πGψ(π)=sSη(s) 所 有 行 和 的 总 和 = 所 有 列 和 的 总 和 所有行和的总和=所有列和的总和 =

故而, 想要求解等价类个数,只要数一数 G 中各个元素 π \pi π分别有多少个不变元,然后加起来,再除以置换群 G 的阶,就得到等价类的个数了。

定理证明

显然,证明 等 价 类 的 个 数 = 1 ∣ G ∣ ∑ π ∈ G ψ ( π ) 等价类的个数=\frac{1}{|G|}\sum_{\pi\in G}\psi(\pi) =G1πGψ(π)就等价于证明 等 价 类 的 个 数 = 1 ∣ G ∣ ∑ s ∈ S η ( s ) 等价类的个数=\frac{1}{|G|}\sum_{s\in S}\eta (s) =G1sSη(s)

前要证明(1)

证明: 如果 a, b 同属一个等价类,则必然有且仅有 η ( a ) \eta(a) η(a) 个作用,使得 a 置换成 b

所有作用于 a 结果仍为 a作用为集合 X a a X_{aa} Xaa,该集合元素个数为 ∣ X a a ∣ = η ( a ) |X_{aa}|=\eta(a) Xaa=η(a)
因为 a, b 同属一个等价类,所以必然存在 π t \pi_t πt ,有 π t ( a ) = b \pi_t(a)=b πt(a)=b。用 π t \pi_t πt和集合 X a X_a Xa中的每个元素相乘,容易证明

π t ∗ π i = ̸ π t ∗ π j , i = ̸ j , π i , π j ∈ X a a \pi_t*\pi_i=\not\pi_t*\pi_j,i=\not j,\pi_i,\pi_j\in X_{aa} πtπi≠πtπj,i≠j,πi,πjXaa故而, π t \pi_t πt和集合 X a a X_{aa} Xaa中的每个元素相乘结果互不相同,故而可以记为集合 X a b X_{ab} Xab,显然该集合元素个数为 ∣ X a b ∣ = ∣ X a a ∣ = η ( a ) |X_{ab}|=|X_{aa}|=\eta(a) Xab=Xaa=η(a)

X a b = { π ∣ π ( a ) = b , ∀ π ∈ X a a } X_{ab}=\{\pi|\pi(a)=b, \forall \pi \in X_{aa}\} Xab={ππ(a)=b,πXaa}显然,集合 X a b X_{ab} Xab中的每个元素都满足 π ( a ) = b , ∀ π ∈ X a b \pi(a)=b,\forall \pi\in X_{ab} π(a)=b,πXab我们认为不可能再有其他的不属于集合 X a b X_{ab} Xab的作用 π k \pi_k πk 能够 π k ( a ) = b \pi_k(a)=b πk(a)=b。反证法如下:
假定
∃ π k ∈ ̸ X a b , 使 得 π k ( a ) = b \exist\pi_k\in\not X_{ab},使得\pi_k(a)=b πk̸Xab,使πk(a)=b则,因为这些元素都来自置换群 G,所以这些元素都可逆。进而取集合 X a b X_{ab} Xab中任一元素 π t \pi_t πt,则其逆元
π t − 1 , 有 π t − 1 ( b ) = a {\pi_t}^{-1},有{\pi_t}^{-1}(b)=a πt1,πt1(b)=a进而显然 π t − 1 ∗ π k ( a ) = π t − 1 ( b ) = a {\pi_t}^{-1}*\pi_k(a)={\pi_t}^{-1}(b)=a πt1πk(a)=πt1(b)=a又因为封闭性,所以

π t − 1 ∗ π k ∈ G {\pi_t}^{-1}*\pi_k\in G πt1πkG又因为所有能够是的 a 仍作用为 a 的作用都在集合 X a a X_{aa} Xaa中,所以必然

π t − 1 ∗ π k ∈ X a {\pi_t}^{-1}*\pi_k\in X_a πt1πkXa进而 π k = π t ∗ ( π t − 1 ∗ π k ) ∈ X a b \pi_k=\pi_t*({\pi_t}^{-1}*\pi_k)\in X_{ab} πk=πt(πt1πk)Xab与上述 π k ∈ ̸ X a b \pi_k\in\not X_{ab} πk̸Xab矛盾。故而不存在其他的作用能够使得 a 作用成 b,所以,所有的能够使得 a 作用成 b 的作用都在集合 X a b X_{ab} Xab中,故而,当 a, b 同属一个等价类时,必然有且仅有 η ( a ) \eta(a) η(a)个作用,使得 a 作用成 b。证毕!

正式证明

对于任意一个置换,必然将元素 a 置换成 a 所在等价类中的某个元素,假设 a 的等价类为 [a]={a,b,…,k},则

∣ X a a ∣ + ∣ X a b ∣ + . . . + ∣ X a k ∣ = ∣ G ∣ |X_{aa}|+|X_{ab}|+...+|X_{ak}|=|G| Xaa+Xab+...+Xak=G又根据前要证明(1),知

η ( a ) = ∣ X a a ∣ = ∣ X a b ∣ = . . . = ∣ X a k ∣ \eta(a)=|X_{aa}|=|X_{ab}|=...=|X_{ak}| η(a)=Xaa=Xab=...=Xak进而

η ( a ) = η ( b ) = . . . = η ( k ) = ∣ G ∣ k \eta(a)=\eta(b)=...=\eta(k)=\frac{|G|}{k} η(a)=η(b)=...=η(k)=kG由于 a 是从 S 中任意选取的,根据上面知道, ∀ 等 价 类 [ a ] , ∑ s ∈ [ a ] η ( s ) = ∣ G ∣ \forall 等价类[a],\sum_{s\in[a]}\eta(s)=|G| [a],s[a]η(s)=G进而,如果有 p 个等价类,则

∑ s ∈ S η ( s ) = p ∣ G ∣ \sum_{s\in S}\eta(s)=p|G| sSη(s)=pG故而等价类数目为

p = 1 ∣ G ∣ ∑ s ∈ S η ( s ) = 1 ∣ G ∣ ∑ π ∈ G ψ ( π ) p=\frac{1}{|G|}\sum_{s\in S}\eta(s)=\frac{1}{|G|}\sum_{\pi\in G}\psi(\pi) p=G1sSη(s)=G1πGψ(π)证毕!

这篇关于伯恩赛德定理(集合S的 置换群 诱导出来的等价关系 对集合S 划分 得到的 等价类个数)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/701038

相关文章

Java集合中的List超详细讲解

《Java集合中的List超详细讲解》本文详细介绍了Java集合框架中的List接口,包括其在集合中的位置、继承体系、常用操作和代码示例,以及不同实现类(如ArrayList、LinkedList和V... 目录一,List的继承体系二,List的常用操作及代码示例1,创建List实例2,增加元素3,访问元

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

电脑没有仿宋GB2312字体怎么办? 仿宋GB2312字体下载安装及调出来的教程

《电脑没有仿宋GB2312字体怎么办?仿宋GB2312字体下载安装及调出来的教程》仿宋字体gb2312作为一种经典且常用的字体,广泛应用于各种场合,如何在计算机中调出仿宋字体gb2312?本文将为您... 仿宋_GB2312是公文标准字体之一,仿China编程宋是字体名称,GB2312是字php符编码标准名称(简

基于Redis有序集合实现滑动窗口限流的步骤

《基于Redis有序集合实现滑动窗口限流的步骤》滑动窗口算法是一种基于时间窗口的限流算法,通过动态地滑动窗口,可以动态调整限流的速率,Redis有序集合可以用来实现滑动窗口限流,本文介绍基于Redis... 滑动窗口算法是一种基于时间窗口的限流算法,它将时间划分为若干个固定大小的窗口,每个窗口内记录了该时间

spoj705( 求不相同的子串个数)

题意:求串s的不同子串的个数 解题思路:任何子串都是某个后缀的前缀,对n个后缀排序,求某个后缀的前缀的个数,减去height[i](第i个后缀与第i-1 个后缀有相同的height[i]个前缀)。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<cstrin

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1233 n个硬币连续m个正面个数(dp)

题面: Coins Problem Description: Duoxida buys a bottle of MaiDong from a vending machine and the machine give her n coins back. She places them in a line randomly showing head face or tail face o

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al