组合数学之Pólya计数理论
1 群
群$(G, cdot)$: 闭合, 结合律, 幺元, 逆
1.1 置换群
置换为双射$pi:[n]to [n]$, 置换之间的操作符 $cdot$ 定义为函数的复合, 即$(pi cdot sigma)(i)=pi(sigma(i))$
对称群$S_n$
$S_n$表示$[n]$的所有置换的集合. 容易验证$S_n$和函数复合操作 $cdot$ 构成一个群, 称为$n$元对称群.
$S_n$的子群称为置换群.
循环群$C_n$
定义特殊的置换$sigma$满足$forall i, ~sigma(i)=(i+1)mod n$, $C_n={sigma^t|tge 0}$, $C_n$称为$n$阶循环群, 生成元为$sigma$, 是$n$边正多边形的旋转对称.
Dihedral群$D_n$
定义特殊置换$rho$满足$forall iin [n], ~rho(i)=n-i-1$. 把$rho$加入$C_n$则得到Dihedral群$D_n$. 为正$n$边形翻转和旋转操作的对称群
Cycle decomposition
将置换等价表示为cycle的复合
1.2 群操作

例子: 项链上色
问题: $n$个珠子的项链, 珠子每个是$m$种颜色之一. 形式化的为$x:[n]to[m]$, 即把$m$个颜色分配给$n$个位置. $X={x:[n]to[m]}$为这样的分配的集合.
考虑两种对称操作:
- 旋转: 循环群$C_n$
- 旋转和翻转: dihedral群$D_n$
项链的操作被描述为$X$上的群操作. 对于置换群$G$, 任意$pi in G$和$xin X$, 群操作$picirc x$定义为$(pi circ x)(i)=x(pi(i))$
2 Burnside’s Lemma
2.1 轨道(Orbits)
定义和性质如下:

可以把轨道理解为一个等价类, 同一等价类中的元素可以通过$G$中的操作相互转换.
2.2 invariant set and stabilizer
$G$: 作用于集合$X$上的置换群. $piin G$, $xin X$.
- $pi$的invariant set: $X_pi ={xin X|picirc x=x}$
- $x$的stabilizer: $G_x={piin G|pi circ x=x}$
引理:
证明:
$Gx={x_1,x_2,cdots, x_t}$, $P={pi_1,pi_2,cdots, pi_t}$, 其中$pi_icirc x=x_i, ~ i = 1,2,cdots, t$
构造一个$G$和$Ptimes G_x$的双射:
- 对于任意$piin G$, 对于某个$x_i$有$picirc x=x_i$
- 因为$pi_icirc x=x_i$, 所以$pi_icirc x=picirc x$, 故$(pi_i^{-1}cdot pi)circ x=x$
- 记$sigma=pi_i^{-1}pi$, 则$pi_icdot sigma =pi$, $sigma circ x=x$, 即$sigma in G_x$.
- 因此每个$piin 大专栏 组合数学之Pólya计数理论G$对应一个不同的pair$(pi_i, sigma)in Ptimes G_x$
- 对于每个$pi_iin P$和$sigmain G_x$, 有$pi=pi_icdot sigmain G$
对于$pi_isigma=pi_jtau$, 有$(pi_icdot sigma)circ x=x_i$, $(pi_jcdot tau)circ x=x_j$, 所以$x_i=x_j$, $pi_i=pi_j$, $tau =sigma$
因此是双射, 得证.
2.3 轨道计数
Burnside’s Lemma: 轨道的个数(记做$|X/G|$) 为
证明:
记$A(pi, x)=begin{cases}1 & picirc x=x,\0& ~ otherwise. end{cases}$
$sum_{piin G}|X_pi|=sum_{piin G}sum_{xin X}A(pi, x)=sum_{xin X}sum_{piin G}A(pi, x)=sum_{xin X}|G_x|$.
定义轨道为$X_1,cdots, X_{|X/G|}, 则$
使用上面的引理, 有
3 Pólya’s Theory of Counting
3.1 The cycle index
对于某种上色$x$, 如果$x$在$piin G$下是不变的, 那么在$pi$的每个circle中的所有位置必须有相同颜色. 即如果$pi$被分解为$k$个circle, 那么$|X_pi|=m^k$.
定义一个置换群$G$中的cycle index:
对任意$piin G$, 如果$pi$是$k$个cycle的乘积, 且第$i$个cycle的长度为$l_i$,令
$G$的cycle index为
3.2 Pólya’s enumeration formula
对于任意tuple $v=(n_1,n_2,cdots, n_m)$满足$n_1+n_2+cdots+n_m=n$和$n_ige 0, ~ 1le ile m$, 表示第$i$个颜色的珠子有$n_i$个.
pattern inventory:
$a_v$的多元生成函数
Pólya’s enumeration formula:
非等价的$n$个物体的$m$色上色的pattern inventory为
证明思路如下:
$X^v={x:[n]to[m]|forall iin [m], x^{-1}(i)=n_i}$表示第$i$个颜色出现$n_i$的着色方案集合(所有都算, 对称的也算)
$X_pi^v={xin X^v|picirc x=x}$
先(用Burnside’s lemma)证明
再证明
考虑中间值$(y_1^{l_1}+y_2^{l_1}+cdots,y_m^{l_1})y_1^{l_2}+y_2^{l_2}+cdots,y_m^{l_2})cdots (y_1^{l_m}+y_2^{l_m}+cdots,y_m^{l_m})$, 和等式左右都相等.
合起来即证毕.
组合数学之Pólya计数理论的更多相关文章
- 组合数学(Pólya计数原理):UvaOJ 10601 Cubes
Cubes You are given 12 rods of equal length. Each of them is colored in certain color. Your task is ...
- 【等价的穿越】Burnside引理&Pólya计数法
Problem 起源: SGU 294 He's Circle 遗憾的是,被吃了. Poj有道类似的: Mission 一个长度为n(1≤n≤24)的环由0,1,2组成,求有多少本质不同的环. 实际上 ...
- 《程序设计中的组合数学》——polya计数
我们在高中的组合数学中常常会碰到有关涂色的问题,例如:用红蓝两种颜色给正方形的四个顶点涂色,会有几种不同的方案.在当时,我们下意识的认为,正方形的四个顶点是各不相同的,即正方形是固定的.而实际上我们知 ...
- Pólya计数定理
我日啊..被cls的计数题虐得欲仙欲死...根本不会计数QAQ... 不懂数学啊... 前置技能 群 群是二元组\((G,*)\),满足 \(*:(G,G)\rightarrow G\) \(\exi ...
- 组合数学起步-排列计数[ZJOI2010][BZOJ2111]
<题面> 数据范围:$1 \leq N \leq 10^6, P \leq 10^9 $ 这个题…… 以为是排列,其实是组合 题目中说是从所有排列中找到Magic的,就是 $p_{i/2} ...
- UVa 10294 (Pólya计数) Arif in Dhaka (First Love Part 2)
Burnside定理:若一个着色方案s经过置换f后不变,称s为f的不动点,将置换f的不动点的数目记作C(f).等价类的数目等于所有C(f)的平均值. 一个项链,一个手镯,区别在于一个能翻转一个不能,用 ...
- 组合数学之Polya计数 TOJ1116 Let it Bead
1116: Let it Bead Time Limit(Common/Java):1000MS/10000MS Memory Limit:65536KByteTotal Submit: 7 ...
- 组合数学--Polya 原理及典型应用
Redfield-Polya (Pólya enumeration theorem,简称PET)定理是组合数学理论中最重要的定理之一.自从 1927 年 Redfield 首次运用 group red ...
- bzoj 1004 Cards 组合计数
这道题考察的是组合计数(用Burnside,当然也可以认为是Polya的变形,毕竟Polya是Burnside推导出来的). 这一类问题的本质是计算置换群(A,P)中不动点个数!(所谓不动点,是一个二 ...
随机推荐
- classification.py
# -*- coding: utf-8 -*-"""View more, visit my tutorial page: https://morvanzhou.githu ...
- MySQL笔记(二)——查询数据
数据库管理系统的一个最重要的功能就是数据查询,数据查询不应只是简单的查询数据库中存储的数据,还应该是根据需要对数据进行筛选,以及确定数据以什么样的格式显示.本篇笔记主要介绍单表查询,子查询,连接查询. ...
- 注册服务和发现服务 Eureka
来自蚂蚁课堂: 注册服务和发现服务 1.原理如图: 注册中心负载均衡: 实践 注册中心 集群:
- Python笔记_第二篇_面向过程_第二部分_5.第三方模块的使用和自定模块(以Pillow模块为例)
1. 安装第三方模块: 打开黑屏终端: cmd: pip -verson pip - V C:\windows\system32>pip -V pip from c:\python37\lib\ ...
- 八、Shell脚本高级编程实战第八部
一.使用for循环在/oldboy目录下创建10个文件名为oldboy-x的文件 #!/bin/sh[ ! -d /oldboy ] && mkdir -p /oldbfor i in ...
- 吴裕雄--天生自然TensorFlow高层封装:使用TFLearn处理MNIST数据集实现LeNet-5模型
# 1. 通过TFLearn的API定义卷机神经网络. import tflearn import tflearn.datasets.mnist as mnist from tflearn.layer ...
- Educational Codeforces Round 80 (Rated for Div. 2)D E
D枚举子集 题:https://codeforces.com/contest/1288/problem/D题意:给定n个序列,每个序列m个数,求第i个和第j个序列组成b序列,b序列=max(a[i][ ...
- Java注解基础
0.背景 Java注解--Annotation产生于JDK5.作为code的特殊“标记”,注解可以在编译.类加载.运行时被读取,并执行处理. 开发利用注解在源码中嵌入补充信息,工具(代码分析.开发.部 ...
- 897B. Chtholly's request#长度为偶数的回文数(模拟)
题目出处:http://codeforces.com/problemset/problem/897/B 题目大意:构造一个题意要求的zcy数之后取模 #include<iostream> ...
- HEX 文件格式
例 FDFFF885C3 :每行开头 第一个字节:表示本行的数据长度, 第二个,第三个字节表示本行数据的起始地址. 第四字节表示数据类型,数据类型有:0x00.0x01.0x02.0x03.0x04. ...