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种珠子能串成的项链有多少种.如果一个项 ...
随机推荐
- 1、python 循环控制
案例1: lucky_num = 19 input_num = int(input("Input the guess number:")) if input_num == luc ...
- operator、explicit与implicit
说这个之前先说下什么叫隐式转换和显示转换 1.所谓隐式转换,就是系统默认的转换,其本质是小存储容量数据类型自动转换为大存储容量数据类型. 例如:float f = 1.0: double d=f:这样 ...
- 孤荷凌寒自学python第三十二天python的代码块中的异常的捕获
孤荷凌寒自学python第三十二天python的代码块中的异常的捕获 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天简单了解了Python的错误陷阱,了解到其与过去学过的其它语言非常类似 ...
- PCA学习笔记
主成分分析(Principal Component Analysis,简称PCA)是最常用过的一种降维方法 在引入PCA之前先提到了如何使用一个超平面对所有的样本进行恰当的表达? 即若存在这样的超平面 ...
- 系统编程--文件IO
1.文件描述符 文件描述符是一个非负整数,当打开一个现有文件或创建一个新文件时候,内核向进程返回一个文件描述符,新打开文件返回文件描述符表中未使用的最小文件描述符.Unix系统shell使用文件描述符 ...
- ZOJ 3544 / HDU 4056 Draw a Mess( 并查集好题 )
方法参见:http://blog.acmol.com/?p=751 从最后一个线段开始倒着处理(因为之后的线段不会被它之前的线段覆盖),把这条线段所覆盖的所有线段编号合并到一个集合里,并以最左边线段编 ...
- 使用puTTY或Xshell连接阿里云TimeOut超时
根据网上很多主流的说法,我依次检查了 ssh: service sshd status 防火墙:service iptables stop (CentOS 7好像已经没有这个iptable了) 都没有 ...
- 【Android】实验7 BindService模拟通信 截止提交日期2016.5.3
实验7 BindService模拟通信 [目的] 实现启动端和BindService之间的双向通信 [要求] 1) 实现从启动端传递一个数据至BindService端: 2) 实现使用Bind ...
- Spring bean 创建过程源码解析
在上一篇文件 Spring 中 bean 注册的源码解析 中分析了 Spring 中 bean 的注册过程,就是把配置文件中配置的 bean 的信息加载到内存中,以 BeanDefinition 对象 ...
- 转: listview异步图片加载之优化篇(android)
Listview异步加载之优化篇 关于listview的异步加载,网上其实很多示例了,总体思想差不多,不过很多版本或是有bug,或是有性能问题有待优化.有鉴于此,本人在网上找了个相对理想的版本并在此基 ...