置换群,Polya引理和burnside引理(等价类计数问题)

参考文章:
等价类计数问题
Burnside引理&Pólya定理
Burnside引理与Polya定理
置换群和Burnside引理,Polya定理

概念引入:

离散数学应该学过置换群的相关概念,置换本质就是映射,可以理解成一个正方形绕其中心逆时针旋转90度,就可以看作是正方形四个顶点的置换。
置换会形成一个环。且如果一个状态经过置换后跟原来相同,可以认为该状态为f的不动点。
有些题目中经常出现”本质不同的方案数“,一般是指等价类的数目,题目定义一个等价关系,满足等价关系的元素属于同一等价类。等价关系通常是一个置换集合F,如果一个置换能把其中一个方案映射到另一个方案中,就认为两者是等价的。

题目引入:

问题描述

一个由2*2方格组成的正方形,每个格子上可以涂色或不涂色,问共有多少种本质不同的涂色方案。
(若两种方案可通过旋转互相得到,称作本质相同的方案)

解法:

先看一共有多少方案,不考虑本质不同,一共16种

在这里插入图片描述
现在我们开始将本质相同的方案合并归类:
方案1:{1}
方案2:{2}
方案3:{3,4,5,6}
方案4:{7,8,9,10}
方案5:{11,12}
方案6:{13,14,15,16}
一共六种不同的方案
这里结合我们上面说的,旋转可以看作是置换,所有置换组成置换群。
如果x通过置换(旋转)得到y,说明x和y等价。
与x互相等价的一组元素组成一个集合,称为x的等价类。
不动元为旋转一定角度,图形不发生改变

在这个问题中,我们要求的就是有多少个等价类?
我们引入一个引理:burnside引理
burnside引理:
∣X/G∣=∣G∣−1⋅∑g∈G∣xg∣|X/G|=|G|^{−1}⋅∑_{g∈G}|x^g|X/G=G1gGxg
等价类的个数 = 每个置换中不动元的个数和 ➗置换群的大小
我们统计不动元的个数
不旋转(逆时针360度):不动元16个
逆时针90度,不动元2个{1,2}
逆时针180度,不动元4个{1,2,11,12}
逆时针270度,不动元2个{1,2}
置换群大小为4
∣X/G∣=16+2+4+24|X/G|=\frac{16+2+4+2}{4}X/G=416+2+4+2

Burnside’s引理:

∣X/G∣=∣G∣−1⋅∑g∈G∣xg∣|X/G|=|G|^{−1}⋅∑_{g∈G}|x^g|X/G=G1gGxg
等价类的个数 = 每个置换中不动元的个数和 ➗置换群的大小
等价类的个数=不动元个数的平均数
Burnside引理是一种计数方法,用来计算含有不等价类的数量
burnside算法的关键是找好“置换群”。
burnside引理首先就要列出所有nmn^mnm种可能的染色方案,然后找出每个置换下保持不变的方案数
如果当m或n很大的时候,这个方法就会非常繁琐,这时候就要用到Polya定理

Pólya引理:

Polya定理是Burnside引理的具体化,提供了计算不动点的具体方法
假设一个置换有k个循环,每个循环对应的所有位置颜色需要一致,而任意两个循环之间选色互不影响。因此,如果有m种可选颜色,则该置换对应的不动点个数为mkm^kmk,用其代替Burnside,就得到等价类数目为:
∣YXG∣=1∣G∣∑g∈G∣Y∣c(g)|\frac{Y^X}{G}|=\frac{1}{|G|}∑_{g∈G}|Y|^{c(g)}GYX=G1gGYc(g)
染色方案数(等价类个数)=1珠子数(总置换数)∑对于每种置换颜色数(映射数)循环节数染色方案数(等价类个数)=\frac{1}{珠子数(总置换数)}\sum_{对于每种置换}颜色数(映射数)^{循环节数}()=()1()
c(g)表示第i个置换包含的循环个数
此时需要考虑的图如下:
在这里插入图片描述

颜色情况={不染色,染色}
G={逆时针90度,逆时针180度,逆时针270度,不转}
不转:a1=(1)(2)(3)(4) ,四个循环节
逆时针90度:(1,4,3,2)
逆时针180度:(1,3)(4,2)
逆时针270度:(1,2,3,4)
这个(1,3)就相当于逆时针旋转180,1会到3,3会到1,而与(2,4)互不相关
由Polya定理得:24+21+22+214=6\frac{2^4+2^1+2^2+2^1}{4}=6424+21+22+21=6
为什么Burnside引理种循环节里面是1 ~ 16种,而到Ploya考虑就成1 ~ 4了?
Burnside是对正方形染色后状态的置换(16种状态即16个元素),而Ploya是四个方格的置换(因此是4个元素)。m的k次方的计算方法正来自每个循环内的方格可以遍历m种颜色,而一共有k个循环。如果循环内的方格颜色不同就不是不动点了

例题:

luogu 1446
luogu 4980
UVA11255
UVA10601

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

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

相关文章

时隔两年的重大更新,微软发布.NET Framework 4.8

微软发布了.NET Framework 4.8,这是两年来.NET 框架的第一个重大更新。新版本包含多个产品领域的改进,其中包括 Windows 窗体、WCF、WorkFlow 和 WPF。它还在基类库(BCL)和通用语言运行时(CLR)中有一些更新…

P1446 [HNOI2008]Cards

P1446 [HNOI2008]Cards 题意: 有n张牌,染三种颜色,每种颜色规定数目,给出m种不同的洗牌方法。两种染色方法相同当且仅当其中一种可以通过任意的洗牌法(即可以使用多种洗牌法,而每种方法可以使用多次&…

EventStore文件存储设计

背景ENode是一个CQRSEvent Sourcing架构的开发框架,Event Sourcing需要持久化事件,事件可以持久化在DB,但是DB由于面向的是CRUD场景,是针对数据会不断修改或删除的场景,所以内部实现会比较复杂,性能也相对比…

CF79D Password(P3943 星空)

CF79D Password(P3943 星空) 题意: 你有 n 个灯泡,一开始都未点亮。 同时你有 l 个长度,分别为 a1∼ala_1∼ a_la1​∼al​ 每次你可以选择一段连续的子序列,且长度为某个 aia_iai​,并将这些…

.NET Core 如何禁止.resx文件自动生成Designer.cs

点击上方蓝字关注“汪宇杰博客”在 Visual Studio 中,如果我们在一个 .NET Core 工程里加入了一个资源文件(.resx),那么你会发现有个对应的 .Designer.cs 文件被自动生成了,每次资源文件的内容有变化,这个设…

P1450 [HAOI2008]硬币购物

P1450 [HAOI2008]硬币购物 题意: 共有 4 种硬币。面值分别为c1,c2,c3,c4c_1,c_2,c_3,c_4c1​,c2​,c3​,c4​。 某人去商店买东西,去了 n 次,对于每次购买,他带了 did_idi​枚 i 种硬币,想购买 s 的价值的东西。请问…

.net core百万设备连接服务和硬件需求测试

随着物联网的普及,服务应用将面对大量物联设备处理;早期.NET在通讯上的处理能力一直给人的印像并不怎样,但net core经历过大量的优化后在各个模块的处理性能都有着比较出色的提升,针对网络方向的处理模块也有着显著的提升。以下主…

字符串匹配(多模式匹配篇)

字符串匹配(多模式匹配篇)摘要:问题的提出:众所周知,KMP算法在O(n)的时间中solve单模式串匹配问题。但怎样solve多模式串匹配问题呢?Solve:本文用简要记叙了使用trie树&a…

.net core编写转发服务

我有个小伙伴问我,他需要写一个转发服务的他有很多功能要通过他的服务转发~技术栈又不一定asp.net core,我就想起泥水老前辈的BeetleX.FastHttpApi中午午休,折腾了一会儿前辈,问清楚了FastHttpApi如何配置控制器依赖注入和控制器的…

Jumping Monkey(CCPC网络赛重赛)

Jumping Monkey(CCPC网络赛重赛) 题意: n个点的树,每个点有一个不同的值aia_iai​.现在一个猴子在树上,这个猴子从点u跳到点v当且仅当ava_vav​是u到v最短路径上的最大值。如果没有点能跳将停止。 对于k∈[1,n],计算猴子在点k开…

数据结构(终极线段树篇)

数据结构(终极线段树篇) 摘要: 问题的提出:如何解决多样化的区间操作问题? solve:线段树!!! 关键字: 线段树,可持久化线段树,权值线段…

.NET Core 3.0之深入源码理解Configuration(一)

微软在.NET Core里设计出了全新的配置体系,并以非常灵活、可扩展的方式实现。从其源码来看,其运行机制大致是,根据其Source,创建一个Builder实例,并会向其添加Provider,在我们使用配置信息的时候&#xff0…

摊还分析

摊还分析 1何为摊还分析? 摊还分析主要求解数据结构维护序列执行的所有操作的平均时间,来评价操作的代价,从而保证最坏情况下每个操作的平均性能。 2聚合分析 2.1何为聚合分析? 若长度为n的操作序列最坏情况下所花费时间为T(…

Bigraph Extension

Bigraph Extension 题意: 有2n个点,n为偶数,n个点属于集合A,n个点属于集合B。起初在途中有m个无向边,边的两侧端点分别在两个集合里,任何两个边都没有公共交点。 现在你可以执行任意次操作: 在…

微服务划分的姿势

我们知道微服务是一种理念,没有确切的定义和边界,好比设计原则,是属于抽象的概念。在定义不明确的情况下谈划分也是一种各说各话,具体问题需要具体分析,所以这篇文章谈到的划分也不是绝对标准,仅供参考。有…

点(树)分治

0.引言 对于树上问题&#xff0c;有许多特殊的求解方法&#xff0c;如&#xff1a;树链剖分。点分治算法也是其中之一&#xff0c;常用于解决树上路径问题。 1.0.问题的引入 给定一棵树&#xff0c;求这棵树的直径&#xff08;树上最长链长度&#xff0c;n<10^5&#xff…

CF1550E Stringforces

CF1550E Stringforces 题意&#xff1a; 设 s 是一个由前 k 个小写字母构成的字符串&#xff0c;v 是前 k 个小写字母中的某一个。定义MaxLen(s,v)\mathrm{MaxLen}(s,v)MaxLen(s,v) 表示 s 所有仅由字母 v 构成的连续子串的最长长度。 定义 s 的价值为所有 MaxLen(s,v)\mathr…

斜率优化Convex Hull Trick

斜率优化 一、简单DP 首先从一道简单题引入。 [IOI2002]任务安排 Description N个任务排成一个序列在一台机器上等待完成&#xff08;顺序不得改变&#xff09;&#xff0c;这N个任务被分成若干批&#xff0c;每批包含相邻的若干任务。从时刻0开始&#xff0c;这些任务被分…

分布式部署携程Apollo构建配置中心

一、开场白在系统设计里我们有很多配置希望独立于系统之外&#xff0c;而又能够被系统实时读取。但是在传统的系统设计里&#xff0c;配置信息通常是耦合在系统内的&#xff0c;比如.net里通常会放在App.config或者web.config里&#xff0c;.net core则是appsettings.json里&am…

CF1550F Jumping Around

CF1550F Jumping Around 题意&#xff1a; 数轴上顺次有 n 个点a1<a2<⋯<an。a_1 < a_2 < \cdots < a_n。a1​<a2​<⋯<an​。 有一只小青蛙&#xff0c;初始时在asa_sas​处。小青蛙有两个参数&#xff1a;步长 d 和灵活程度 k。其中&#xff0c…