Pólya 计数
前置知识:置换和排列
引入
Pólya 计数原理通常通常用来解决一些涉及「本质不同」的计数问题。
本文可能涉及群论的相关内容
本文可能涉及到群论的相关内容。本文会对涉及到的群论概念做简单的解释,以便于不熟悉相关内容的读者理解和应用 Pólya 计数原理。关于群论的内容,严格的表述和讨论请参考 抽象代数基本概念、群论 等章节。
「空间对称群」、「对称群」与「置换群」
本文中将不可避免地同时使用这三类群的名字。尽管可能很容易造成混淆,但它们确实代指不同的概念。给定几何结构,它上面的对称操作指的是能够使它与它自身重合的几何变换,而空间对称群(symmetry group)就是这些对称操作的集合。对称群(symmetric group)是给定集合上的全体置换的集合。置换群(permutation group)则是对称群的子群,即一些(未必是全体)置换构成的群。后文会解释如何将给定几何结构的空间对称群表示成置换群的形式,并用于计数问题。
Burnside 引理
相关阅读:Burnside 引理
Pólya 计数原理是 Burnside 引理的应用和推广。在介绍 Pólya 计数原理之前,需要先简单地回顾 Burnside 引理的内容。
为了总结出一般的规律,首先考虑简单的例子。
项链染色
现在有一串共四个珠子的项链,每个珠子可以是红色或者蓝色,计算共有几种本质不同的珠子。(如果两种染色的结果可以通过旋转项链重合,就认为是相同的。)
解答和分析
这个问题足够简单,可以通过枚举的方式加以解答。珠子共计
从这个例子中可以看到,要计算本质不同的染色的种类数,关键其实是知道每种本质相同的染色对应几种不同的染色方案。也就是说,要搞清楚上图中每个分组的大小。
能够分到同一个组中的染色方案,就是指它们之间能够通过旋转操作互相转化的染色方案。总共有
分别表示旋转
首先看染色方案
四种染色方案互不相同,因此这个组就有
再看染色方案
此时,旋转两次的结果和不旋转的结果是一致的,旋转三次和旋转一次的结果是一致的。所以,这个组就有
如果看染色方案
如果用
设
这个例子中,因为只有旋转零次
在下面的叙述中,用
现在这个式子的形式并不便于应用。记
这里,
在这些讨论之后,现在可以将分组的个数写作
也就是说,分组的个数是各种旋转操作的不动点的平均个数。
作为这个结果的应用,再次计算项链染色的个数。这些旋转操作的不动点可以列举如下。
操作 | 不动点 |
---|---|
因而,分组的个数就等于
这样就得到了前面的结果。
从这个例子中,可以归纳出一般的结果,用于求解这类计数问题。为了方便讨论,本文考虑的情景是染色问题,当然也可以应用到别的情景上去,在文末会提供相应的例子。
染色问题是说,给定某个结构,在它的每个顶点上染色,会得到不同的染色方案。这个结构拥有某种对称性,使得看似不同的染色方案在经过一系列对称操作后能够互相转化。这些能互相转化的染色方案就称为本质相同的。问题是要求解本质不同的染色的数目。
根据例子中的分析,要求解这样的问题,首先要讨论给定的结构都有哪些对称操作。这些对称操作的集合
所有染色方案的集合记作
例子中的分析可以推广到一般的情形。
Burnside 引理
给定群
这里,
它的证明几乎就是照搬上面例子中的分析。但是,例子中用到了观察,即群
在应用的时候,只要能够列举出所有的对称操作,并且给出每个对称操作对应的不动点数目就可以解决对应的计数问题。下面是一个稍微复杂的应用。
立方体染色
用三种颜色给一个立方体染色,求本质不同的方案数(经过空间旋转后相同的两种方案视为同一种)。
解答
因为立方体有
接下来我们需要对
- 不动:即恒等变换,因为所有直接染色方案经过恒等变换都不变,因此它对应的
; - 以两个相对面的中心连线为轴的
旋转:相对面有 种选择,旋转的方向有 种选择,因此这类共有 个置换。假设选择了前、后两个面中心的连线为轴,则必须要满足上、下、左、右四个面的颜色一样,才能使旋转后不变。此时,有 个可以独立染色的区域,因此它对应的 ; - 以两个相对面的中心连线为轴的
旋转:相对面有 种选择,旋转方向的选择没有影响,因此这类共有 个置换。假设选择了前、后两个面中心的连线为轴,则必须要满足上、下两个面的颜色一样,左、右两个面的颜色一样,才能使旋转后不变。此时,有 个可以独立染色的区域,因此它对应的 ; - 以两条相对棱的中点连线为轴的
旋转:相对棱有 种选择,旋转方向对置换依然没有影响,因此这类共有 个置换。假设选择了前、上两个面的边界和下、后两个面的边界作为相对棱,则必须要满足前、上两个面的颜色一样,下、后两个面的颜色一样,左、右两个面的颜色一样,才能使旋转后不变。此时,有 个可以独立染色的区域,因此它对应的 ; - 以两个相对顶点的连线为轴的
旋转:相对顶点有 种选择,旋转的方向有 种选择,因此这类共有 个置换。假设选择了前面的右上角和后面的左下角作为相对顶点,则必须满足前、上、右三个面的颜色一样,后、下、左三个面的颜色一样,才能使旋转后不变。此时,有 个可以独立染色的区域,因此它对应的 。
因此,所有本质不同的染色方案数为
Pólya 计数原理
在 Burnside 引理的叙述中,并没有用到集合
相较于 Burnside 引理,Pólya 计数原理的改进就是提供了不动点集合大小
这一点从上面的立方体染色的例子可以直观地看出来。对于正方体的各种对称操作,它的不动点集合的大小都是
给某个结构选择一种染色方案,用数学语言表示,就是选择一个从这个结构的可以染色的对象(比如项链中的珠子、立方体的面等)的集合
现在分析不动点集合
由此,操作
Pólya 计数原理(无权重版本)
给定群
这里,
关于群 的含义
这里略微有些滥用记号。如果群
作为 Pólya 计数原理的简单应用,下面重新用 Pólya 计数原理计算前文的例子。
项链染色问题另解
将四个珠子标号
- 旋转零次
,共计 个轮换(注意省略的 ‑轮换); - 旋转一次
,共计 个轮换; - 旋转二次
,共计 个轮换; - 旋转三次
,共计 个轮换。
因此,本质不同染色的数目是
立方体染色问题另解
由于前文的分析实质上已经给出了各类置换的轮换表示,只是没有用数字符号显式地书写出来,这里不再重复前文的分析。仅仅考虑以相对棱的中点连线为轴的
带权重形式的推广
无权重版本的 Pólya 计数原理只能够给出所有的本质不同的染色问题的计数,但是在处理更为精细的问题时就无能为力了。比如说,如果在上述染色问题中,给定每种可以使用的颜色的数目,就不能套用上面的 Pólya 计数公式。在实际求解这类问题时,需要再次使用 Burnside 引理加以推导;而将这些结果总结为生成函数的形式,就是带权重版本的 Pólya 计数原理。
项链染色(带限制)
现在有一串共四个珠子的项链,每个珠子可以是红色或者蓝色,恰有两个红色珠子、两个蓝色珠子可以使用,计算共有几种本质不同的珠子。(如果两种染色的结果可以通过旋转项链重合,就认为是相同的。)
解答和分析
考虑使用 Burnside 引理。红色、蓝色珠子各两个,共计有
- 旋转零次
,全部 个染色方案都是不动点; - 旋转一次
,不动点要求所有珠子染同样的颜色,没有不动点; - 旋转两次
,有两个可独立染色的区域,大小都是 ,它们要分别染成红色和蓝色,则不动点集合的大小为 ; - 旋转三次
,与旋转一次的情形相同,没有不动点。
所以,根据 Burnside 引理,本质不同的染色数目为
从这个例子中可以总结出如下计算方法。对于限制不同颜色个数的问题,同样是要把空间对称群中各个置换的轮换分别染色,但是需要让染色用到的颜色数目恰好等于给定的颜色个数。这样的组合问题通常没有显式解,除了可以通过 排列组合方法 计算的特殊情形外,需要看做 背包问题 进行求解。
通过生成函数可以给出这类计数问题的答案。给定置换
中单项式
给定置换
展开这个式子,每个单项式的系数就给出了给定颜色组合下的本质不同染色的计数。
在上述过程中,对每个轮换进行染色的生成函数
置换群的轮换指标
给定置换群
其中,
Pólya 计数原理(带权重版本)
给定群
这里,
这里,如果单个位置的染色的生成函数是
定理的叙述用到了置换群的轮换指标的概念。它和具体的染色问题无关。它描述了置换群的结构。
带限制的项链染色问题另解
旋转对称群的轮换指标是
所求计数就是
应用
带权重版本的 Pólya 计数原理在组合计数问题中起到重要的作用。这里简单讨论它的应用,而更一般的讨论可以参考 组合问题的形式化方法。
钻石项链
现在有一串共四个相同珠子的项链,每个珠子上可以镶若干颗钻石。如果有四枚钻石,总共有多少本质不同的镶钻方式。(如果两种镶钻的结果可以通过旋转项链重合,就认为是相同的。)
解答和分析
项链的空间对称群仍与前文所述相同。不考虑钻石总数的限制,则单个位置的镶钻方案的生成函数是
应用带权重版本的 Pólya 计数原理可知,所有镶钻方案的生成函数为
故而,所求镶钻方案的数目就是
这里,每组四个数字分别表示每个珠子上的镶钻数目。
这个例子说明,带权重版本的 Pólya 计数原理能够解决的问题远比染色计数问题要广泛。它提供了一种将单点的计数扩展到整个结构上本质不同的计数的方法。染色问题只是这类问题的特例。
常见空间对称群
Pólya 计数相关问题的难点之一在于分析置换群的结构。这里,简单讨论常见的空间对称群的结构,并用它们的轮换指标加以描述。应当注意,对于同一个结构的空间对称群,如果考虑的作用对象的集合不同,相应的 群作用 也就不同,因而它们的置换表示也就不同。比如说,正方体的空间对称群对于它的顶点、棱、面的作用就分别对应着正方体的顶点置换群、棱置换群和面置换群,顶点、棱、面的个数互不相同,故而这些置换群以及对应的轮换指标当然也各不相同。所以,在具体问题的求解中,不能忽视群作用的对象的指定。
空间对称群和置换群的关系
虽然两者概念上十分相似,但是它们绝不是同一个对象。用群论的语言说,给定空间对称群
给定一个结构,它的空间对称群是所有能够将它变换到它自身的操作的集合。它必然满足如下条件:
- 对给定结构连续应用两个对称操作,可以视作应用另一个对称操作,即对称操作的集合对于复合是满足封闭性的;
- 对称操作的复合满足结合律;
- 存在恒等的对称操作,即给定结构保持不变本身也视作一个操作;
- 任何操作都存在它的逆操作,可以抵消给定操作的效果。
群 是对所有满足这些条件的概念的抽象。对于群的结构的讨论,就是 群论 的主要研究内容。这里的分析主要集中在空间对称群,对它的结构的讨论也主要应用几何观点。这里给出了常见的例子,读者应当从中获得分析这类问题的常见思路。
循环群
给定正
这里,
无论是考虑循环群对正
这里,
只计旋转操作,长度为
分析
设顶点的集合按照逆时针顺序记为
显然,
这意味着,任何顶点
二面体群
给定正
这里,
分析
群
当
当
根据这一分析,可以写出上面的轮换指标表达式。
对称群
给定
根据 置换与排列 一文的分析,它的轮换指标是
这里用到了型为
它满足递推关系
而递推起点是
给定
无向简单图计数
计算同构意义下有
解答
这相当于在有
- 恒等变换(
种):边也保持不动,故对应单项式为 ; - 交换两顶点(
种):假设交换 和 ,则边 和边 保持不动,同时,边 和边 对换,边 和边 对换,故对应单项式为 ; - 轮换三顶点(
种):假设轮换是 ,则它们之间的连边 也相应轮换,它们和第四点 的连边 也相应轮换,故对应单项式为 ; - 交换两对顶点(
种):假设点 和点 对换,点 和点 对换,则边 和边 保持不动,同时,边 和边 对换,边 和边 对换,故对应单项式为 ; - 轮换四顶点(
种):假设轮换是 ,则其中相邻顶点的连边 也相应轮换,相对顶点的连边 同时对换,故对应的单项式为 。
所以,边置换群的轮换指标是
根据 Pólya 计数原理,同构意义下有
多面体群
多面体群(polyhedral group)是正多面体的空间对称群。正多面体只有五种:正四面体、正方体、正八面体、正十二面体和正二十面体。如果保持点、棱、面之间的邻接关系,交换点和面,可以得到对偶的正多面体。其中,正四面体和它自身对偶,正方体和正八面体对偶,正十二面体和正二十面体对偶。利用对偶关系,可以简化它们的空间对称群的讨论。
只计三维空间中可以进行的旋转操作,它们的空间对称群只有三种。
四面体群(tetrahedral group),即正四面体的空间对称群:
- 恒等变换;
- 绕顶点和对面中心的连线旋转
和 ; - 绕对边的中点的连线旋转
。
共计
个对称操作。它对应的置换群的轮换指标如下。
- 顶点置换群和面置换群:
; - 棱置换群:
。
八面体群(octahedral group),即正方体(和正八面体)的空间对称群:
- 恒等变换;
- 绕相对顶点的连线旋转
和 ; - 绕相对的棱的中点的连线旋转
; - 绕相对的面的中心的连线旋转
, 和 。
共计
个对称操作。它对应的正方体的置换群的轮换指标如下。
- 顶点置换群:
; - 棱置换群:
; - 面置换群:
。
正八面体的置换群类似,只是要将顶点和面的角色对换。
二十面体群(icosahedral group),即正十二面体(和正二十面体)的空间对称群:
- 恒等变换;
- 绕相对顶点的连线旋转
和 ; - 绕相对的棱的中点的连线旋转
; - 绕相对的面的中心的连线旋转
, , 和 。
共计
个对称操作。它对应的正十二面体的置换群的轮换指标如下。
- 顶点置换群:
; - 棱置换群:
; - 面置换群:
。
正二十面体的置换群类似,只是要将顶点和面的角色对换。
这里给出的都是对顶点、棱、面等单独的对象作用的置换群的轮换指标。如果要对不同的对象同时染色,需要写出联合的轮换指标。
习题
染色问题
这些题目只需要分析置换群的结构,并应用 Pólya 计数原理。
- Luogu P4980【模板】Polya 定理
- Luogu P2561 [AHOI2002] 黑白瓷砖
- TRANSP - Transposing is Fun
- TRANSP2 - Transposing is Even More Fun
- Luogu P3307 [SDOI2013] 项链
当可以使用的颜色组合受到限制时,需要通过背包 DP 或者组合方法求解对轮换染色的方法数目。
图论计数
Pólya 计数原理可以用于 图论计数 问题,这类问题难点在于图的边置换群的枚举。
另一类可以应用 Pólya 计数原理的图论计数问题需要直接操纵生成函数。
参考文献与注释
本页面最近更新:2024/10/25 01:03:52,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:c-forrest, Early0v0, Enter-tainer, Great-designer, iamtwz, Ir1d, MegaOwIer, mgt, StudyingFather, Tiphereth-A, Wajov, warzone-oier, Xeonacid
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用