Burnside引理与polay定理
#Burnside引理与polay定理
引入概念
1.置换
简单来说就是最元素进行重排列
是所有元素的异议映射,即\([1,n]\)映射到\([1,n]\)
\[ \begin{pmatrix} 1&2&i \ldots n \\ a_{1} & a_{2}&a_{i} \ldots a_{n} \end{pmatrix}\]
比如,把正方体绕中心旋转90度,可以看做四个顶点的一个置换
(1)置换可以构成换:对于元素连一条有向边,连到置换中映射的元素,会构成n个环,(循环)
(2)如果一个状态\(S\)经过置换后与原来相同,即\[S[1]=S[a_1],S[2]=S[a_2] \ldots S[n]=S[a_n]\]
那么称这个状态\(S\)为不动点
(3)本质不同的方案数一般指方案类的种数,等价关系通常是一个置换集合,如果一个置换能把其中一个方案映射到另一个方案那么他么是等价的。置换构成的置换群就是交换排列顺序而已。
(4)多个置换构成置换群
2Brunside
对于一个置换群\(G\),\(G\)是目标集[1,n]上的置换群,若一个染色方案\(S\)经过置换后不变,称\(S\)为G的不动点。将不动点的数目记为\(C(G)\)则等价类\(l\)的数目为\(C(G)\)的平均值
\[l=\dfrac {1}{\left| G\right| }[c_1(a_1)+c1(a_2)+ \ldots +c_1(a_g)]\]
证明
明的话,泥萌还是去看抽象数学吧QAQ
百度百科给了证明
证明1:\(g\in G\),记\(X_g(x)=1\)表示\(g(x)=x\)否则\(X_g(x)=0\)。考虑以下和式:
对于上式最右边我们有:
所以:
例子
一个正方形分成4格,着上两种颜色,有多少种方案?其中经过转动相同图像的算一种方案
根据计数原理,每个格子都有两种颜色可选
所以,一共有16种图像
对于图中图像的置换可分为以下四种
不动:
\[a_1=(1)(2)\ldots (16)\]
逆时针旋转90度
\[a_2=(1)(2)(3\ 4\ 5 6)(7\ 8\ 9\ 10) (11\ 12)(13\ 14\ 15\ 16)\]
顺时针旋转90度
\[a_3=(1)(2)(6\ 5\ 4\ 3)(10\ 9\ 8\ 7)(11\ 12)(16\ 15\ 14\ 13)\]
旋转180度
\[a_4=(1)(2)(3\ 5)(4\ 6)(7\ 9)(8\ 10)(11)(12) (13\ 15)(14\ 16)\]
那么有Burnside引理可知
第一种情况不动点种类为16(全)种
第二种情况不动点种类为$(1) (2)\(2种 第三种情况与第二种情况相同 第四种情况为\)(1) (2) (11) (12)$4种
那么有Burnside引理可知
等价类的种类为(16+2+2+4)/4=6种
例题:
POJ 2154
3Polya定理
利用Burnside引理要首先列出所有\(n^m\)种可能的染色方案
然后找出在每个置换下保持不变的方案数,显然当m或n很大的时候,复杂度会炸,这时就需要用到polya定理。
Polya定理实际上是Burnside引理的具体化,提供了计算不动点的具体方法。
假设一个置换有\(\sigma_k\)个循环,就是轮换
易知每个循环对应的所有位置颜色需一致,而任意两个循环之间选什么颜色互不影响。因此,如果有m种可选颜色,则该置换对应的不动点个数为\(m^{\sigma_k}\)。
用其替换Burnside引理中的\(C(G)\),即\(C(G)=m^k\)。得到等价类数目为:
\[M=\dfrac {1}{\left| G\right| }\sum ^{|G|}_{k=1}m^{\sigma _{k}}\]
\(|G|\)表示置换的数目\(\sigma _k\)表示第k个置换包含的循环数目
例子
仍然是一个正方形分成4格,着上两种颜色
那么对于一种定点而言
当
不动:\(a_1=(1)(2)(3)(4)\) //单个
旋转90度 :\(a_2=(1\ 2\ 3\ 4)\) //全涂
旋转180度 :\(a_3=(1\ 3)(2\ 4)\) //单排
旋转270度:\(a_4=(1\ 4\ 3\ 2)\) //对角线
那么\(M=\dfrac {1}{4} * (2^4+2^1+2^2+2^1)=6\)
例题
POJ1286
完
Burnside引理与polay定理的更多相关文章
- 置换群和Burnside引理,Polya定理
定义简化版: 置换,就是一个1~n的排列,是一个1~n排列对1~n的映射 置换群,所有的置换的集合. 经常会遇到求本质不同的构造,如旋转不同构,翻转交换不同构等. 不动点:一个置换中,置换后和置换前没 ...
- @总结 - 12@ burnside引理与pólya定理
目录 @0 - 参考资料@ @1 - 问题引入@ @2 - burnside引理@ @3 - pólya定理@ @4 - pólya定理的生成函数形式@ @0 - 参考资料@ 博客1 @1 - 问题引 ...
- Burnside引理与Polya定理
感觉这两个东西好鬼畜= = ,考场上出了肯定不会qwq.不过还是学一下吧用来装逼也是极好的 群的定义 与下文知识无关.. 给出一个集合$G = \{a, b, c, \dots \}$和集合上的二元运 ...
- Burnside引理与Polya定理 学习笔记
原文链接www.cnblogs.com/zhouzhendong/p/Burnside-Polya.html 问题模型 有一个长度为 $n$ 的序列,序列中的每一个元素有 $m$ 种取值. 如果两个序 ...
- 数学:Burnside引理与Pólya定理
这个计数定理在考虑对称的计数中非常有用 先给出这个定理的描述,虽然看不太懂: 在一个置换群G={a1,a2,a3……ak}中,把每个置换都写成不相交循环的乘积. 设C1(ak)是在置换ak的作用下不动 ...
- Burnside 引理与 Pólya 定理
群 群的定义 在数学中,群是由一种集合以及一个二元运算所组成的,符合"群公理"的代数结构. 一个群是一个集合 \(G\) 加上对 \(G\) 的二元运算.二元运算用 \(\cdot ...
- 【uva 10294】 Arif in Dhaka (First Love Part 2) (置换,burnside引理|polya定理)
题目来源:UVa 10294 Arif in Dhaka (First Love Part 2) 题意:n颗珠子t种颜色 求有多少种项链和手镯 项链不可以翻转 手镯可以翻转 [分析] 要开始学置换了. ...
- Burnside引理和Polya定理之间的联系
最近,研究了两天的Burnside引理和Polya定理之间的联系,百思不得其解,然后直到遇到下面的问题: 对颜色限制的染色 例:对正五边形的三个顶点着红色,对其余的两个顶点着蓝色,问有多少种非等价的着 ...
- 【POJ2888】Magic Bracelet Burnside引理+欧拉函数+矩阵乘法
[POJ2888]Magic Bracelet 题意:一个长度为n的项链,有m种颜色的珠子,有k个限制(a,b)表示颜色为a的珠子和颜色为b的珠子不能相邻,求用m种珠子能串成的项链有多少种.如果一个项 ...
随机推荐
- SPOJ 364 Pocket Money 简单DP
跟矩阵链乘同类型的题…… 输出用%llu不是%I64u…… 几组数据: 141+2*4+3*4+5*00*5*6+7*3+23+0+6+7+0+44*5+7*1*1+12*0+3*4*0+5*6+7+ ...
- npm & npm config
npm command show npm config https://docs.npmjs.com/cli/config https://docs.npmjs.com/cli/ls https:// ...
- git 上传项目到仓库
git 上传项目到仓库 第一步:建立仓库! 1.create new repository! 创建时最好选择 init (Initialize this repository with a READM ...
- nio的reactor模式
转自:http://blog.csdn.net/it_man/article/details/38417761 线程状态转换图 就是非阻塞IO 采用多路分发方式举个例子吧,你服务器做一个聊天室,按照以 ...
- cf 834 E. Ever-Hungry Krakozyabra
cf 834 E. Ever-Hungry Krakozyabra(爆搜+数位dp) 题意: 定义一种inedible tail为一个数把每一位数字按不降的顺序排列后,去掉前导0组成的序列 比如570 ...
- [经验分享]NuGet发布自己的Dll(类库包)
什么是Nuget Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中 ...
- WIN8下笔记本共享热点的设置
C:\windows\system32>netsh wlan start hostednetwork 无法启动承载网络. 组或资源的状态不是执行请求操作的正确状态. 解决方法: http://j ...
- ios 改变图片大小缩放方法
http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html http://bbs.csdn.net/topics/39089858 ...
- C程序编译过程浅析【转】
转自:http://blog.csdn.net/koudaidai/article/details/8092647 前几天看了<程序员的自我修养——链接.装载与库>中的第二章“编译和链接” ...
- [Oracle] Setup DataGuard
Oracle一步步搭建DataGuard DataGuard环境: OS: SuSe 10 Primary DB: IP address:1.1.1.1 user:root passwd:****** ...