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种珠子能串成的项链有多少种.如果一个项 ...
随机推荐
- 【转载】Unity3D研究院之IOS触摸屏手势控制镜头旋转与缩放
前几篇文章介绍了很多Unity3D引擎自身的一些问题, 今天我们在回到IOS设备上讨论一些触摸屏幕手势,本章的目标是通过触摸iPhone屏幕手势 实现模型左右的旋转,与模型的缩放. 大家想一想模型的旋 ...
- 孤荷凌寒自学python第十天序列之字符串的常用方法
孤荷凌寒自学python第十天序列之字符串的常用方法 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python的字符串操作方法非常丰富,原生支持字符串的多种操作: 1 查找子字符串 str ...
- iterm2+vim使用
iterm2+vim 终端切换为iterm2+zsh+oh my zsh,确实好用. I term2常用快捷键记录 新建标签:cmd+t 关闭标签:cmd+w 切换标签:cmd+数字, 切换全屏:cm ...
- Scrapy 学习笔记(一)数据提取
Scrapy 中常用的数据提取方式有三种:Css 选择器.XPath.正则表达式. Css 选择器 Web 中的 Css 选择器,本来是用于实现在特定 DOM 元素上应用花括号内的样式这样一个功能的. ...
- 蓝桥杯_风险度量_dfs_无向图两节点间的所有路径
标题:风险度量 X星系的的防卫体系包含 n 个空间站.这 n 个空间站间有 m 条通信链路,构成通信网.两个空间站间可能直接通信,也可能通过其它空间站中转. 对于两个站点x和y (x != y), 如 ...
- javascript replace 替换全部字符
$("#pageNote").html($("#note3").val().replace(/ /g, "").replace(/<b ...
- ConfigurationManager.ConnectionStrings 类库 取不到值 报错 初始化错误
是因为我把 config 文件写在了 类库中,(擦,很久之前就处理过好多次,总是忘记 写个文章记录下来) 其实应该放在 主目录底下的 web.comfig 里 就是网站项目的 配置文件里,类库找的 是 ...
- [AtCoder AGC27A]Candy Distribution Again
题目大意:把$x$个糖果分给$n$个人,必须分完,如果第$i$个人拿到$a_i$个糖果,就会开心,输出最多多少人开心 题解:从小到大排序,判断是否可以让他开心,注意最后判断是否要少一个人(没分完) 卡 ...
- [codeforces] 25E Test || hash
原题 给你三个字符串,找一个字符串(它的子串含有以上三个字符串),输出此字符串的长度. 先暴力判断是否有包含,消减需要匹配的串的数量.因为只有三个字符串,所以暴力枚举三个串的位置关系,对三个串跑好哈希 ...
- POJ 2074 | 线段相交
#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #defi ...