置换群、Burnside引理与等价类计数问题

标签: 置换群 Burnside引理


置换

说说我对置换的理解,其实就是把一个排列变成另外一个排列。简单来说就是一一映射。而置换群就是置换的集合。

比如\[ \left(\begin{array}1
1 & 2 & 3 & 4 & 5 \\
5 & 3 & 4 & 2 & 1
\end{array}\right) \]是一个置换。也可以把置换看做定义域和值域都为{1,2,......,n}的函数,我们通常把置换写成形如{\(a_1,a_2,a_3,......,a_n\)}的形式,代表置换\[ \left(\begin{array}1 1 & 2 & 3 & ...... & n \\ a_1 & a_2 & a_3 & ...... & a_n\end{array}\right)\]

置换之间可以进行乘法。如置换f={3,1,4,2},g={2,3,4,1},那么fg={4,2,1,3}。而且置换乘法满足结合律,不过置换乘法并不满足交换律。如上面的例子,gf={1,4,2,3}。

为了方便我们处理置换,我们还经常把置换表示成循环的乘积。循环是什么呢?\(\left(\begin{array}1 1 & 2 & 3\end{array}\right)\)相当于置换\(\left(\begin{array}1 1 & 2 & 3\\2 & 3 & 1\end{array}\right)\)。一个循环就像一个环,其中每一个元素向下一个元素连边。由于每个点的出度与入度都为1,任意置换都能被分解为若干个循环。我们称一个置换中循环的个数为循环节,对于不相交的循环相乘是满足交换律的。

等价类计数问题

在这种题目中,题目会定义一种等价关系。满足等价关系的两种元素被看成同一种元素。这样就可以把这些元素分为很多个等价类,等价类中的元素相互等价。通常题目会让你求出等价类的个数。怎么来解决这种类型的问题呢?接下来我们引入Burnside引理。

Burnside引理

设置换群G为等价关系集合,且对于任意\(f,g\in G,都有fg\in G\) 。
记C(f)为经置换f作用后不动点的个数。则等价类个数L满足\[L=\frac{ \sum_{f \in G} {C(f)} }{|G|}\]

证明:
设\(Z_k\)为使k为不动点的置换集合,\(E_k\)为元素k所在的等价类。
\[ \sum_{f \in G} C(f) = \sum_{i=1}^n Z_i \]
而\[ \sum_{i=1}^n Z_i =\sum_{i=1}^L |E_i||Z_i| \]
又\[\because |Ei||Zi|=|G|\]
\[\therefore \sum_{i=1}^L |E_i||Z_i|=L|G|\]

我的理解是:
每一个置换的不动点个数之和就是使每一个元素不动的置换个数之和,所以\[ \sum_{f \in G} C(f) = \sum_{i=1}^n Z_i \]
而同一个等价类中使一个元素不动的置换个数相等,所以\[ \sum_{i=1}^n Z_i =\sum_{i=1}^L |E_i||Z_i| \]

又由轨道-稳定集定理,即“轨道大小×稳定化子数=变换个数”,(具体证明可以参照 《组合数学》(第5版)P181 定理4-11),所以\[ \sum_{i=1}^L |E_i||Z_i|=L|G|\]

至于Polya定理的证明很容易用Burnside引理解决,这里不再赘述。

置换群、Burnside引理与等价类计数问题的更多相关文章

  1. 置换群 Burnside引理 Pólya定理(Polya)

    置换群 设\(N\)表示组合方案集合.如用两种颜色染四个格子,则\(N=\{\{0,0,0,0\},\{0,0,0,1\},\{0,0,1,0\},...,\{1,1,1,1\}\}\),\(|N|= ...

  2. [bzoj1004][HNOI2008][Cards] (置换群+Burnside引理+动态规划)

    Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张红 ...

  3. BZOJ 1004: [HNOI2008]Cards( 置换群 + burnside引理 + 背包dp + 乘法逆元 )

    题意保证了是一个置换群. 根据burnside引理, 答案为Σc(f) / (M+1). c(f)表示置换f的不动点数, 而题目限制了颜色的数量, 所以还得满足题目, 用背包dp来计算.dp(x,i, ...

  4. 等价类计数(Polya定理/Burnside引理)学习笔记

    参考:刘汝佳<算法竞赛入门经典训练指南> 感觉是非常远古的东西了,几乎从来没有看到过需要用这个的题,还是学一发以防翻车. 置换:排列的一一映射.置换乘法相当于函数复合.满足结合律,不满足交 ...

  5. Burnside引理与polay定理

    #Burnside引理与polay定理 引入概念 1.置换 简单来说就是最元素进行重排列 是所有元素的异议映射,即\([1,n]\)映射到\([1,n]\) \[ \begin{pmatrix} 1& ...

  6. jzoj5988. 【WC2019模拟2019.1.4】珂学计树题 (burnside引理)

    传送门 题面 liu_runda曾经是个喜欢切数数题的OIer,往往看到数数题他就开始刚数数题.于是liu_runda出了一个数树题.听说OI圈子珂学盛行,他就在题目名字里加了珂学二字.一开始liu_ ...

  7. 等价类计数问题(Polya定理和burnside引理)

    零.约定: (置换等名词会在前置知识中有解释) \(1.\)在本文中,题目要求的染色方案等统称为"元素". \(2.\)两个元素严格相等我们记做"\(=\)", ...

  8. 等价类计数:Burnside引理 & Polya定理

    提示: 本文并非严谨的数学分析,有很多地方是自己瞎口胡的,仅供参考.有错误请不吝指出 :p 1. 群 1.1 群的概念 群 \((S,\circ)\) 是一个元素集合 \(S\) 和一种二元运算 $ ...

  9. 置换群和Burnside引理,Polya定理

    定义简化版: 置换,就是一个1~n的排列,是一个1~n排列对1~n的映射 置换群,所有的置换的集合. 经常会遇到求本质不同的构造,如旋转不同构,翻转交换不同构等. 不动点:一个置换中,置换后和置换前没 ...

随机推荐

  1. channelartlist|频道文档:

    http://help.dedecms.com/v53/archives/tag/global/channelartlist/ {/dede:channelartlist} 参数说明: typeid ...

  2. 数据库复习总结(16)-case关键字(数据透视)

    case语法: 练习1:将性别的0.1显示为男.女 select * from StudentInfo --case:对结果集中的列进行判断 --例1:显示学生信息,性别以"男女" ...

  3. 借助 Vue 来构建单页面应用

    原文: https://github.com/MeCKodo/vue-tutorial 主题 Vue.js (1/2)Vue构建单页应用最佳实战 前言 我们将会选择使用一些vue周边的库 1.使用no ...

  4. shopnc验证码显示不了

    data/config文件编码问题,要utf-8无bom

  5. bash中声明变量方法

    bash提供了declare命令来声明变量,该命令的基本语法如下: declare attribute variable      其中,attribute表示变量的属性,常用的属性有如下所述.   ...

  6. 什么是bgp线路

    https://www.douban.com/note/319956581/ BGP(边界网关协议)主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由.中国 ...

  7. python正则表达式re模块详细介绍

    转自:http://www.jb51.net/article/50511.htm 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这 ...

  8. 流API--初体验

    在JDK8新增的许多功能中,有2个功能最重要,一个是Lambda表达式,一个是流API.Lambda表达式前面我已经整理过了,现在开始整理流API.首先应该如何定义流API中的"流" ...

  9. 自己用的一套reset.css,打算整理一下方便以后用,持续更新中,各位大神,不喜勿喷

    *{margin: 0; padding: 0;border:none;}img{vertical-align: top;width: 100%;border: none;}ul,li{list-st ...

  10. PHP 运行 php-fpm 报错

      报错如下: [27-Aug-2017 18:34:23] WARNING: Nothing matches the include pattern '/usr/local/php/etc/php- ...