1. 基本计数的母函数
现在来用母函数来求解基本计数问题,母函数既可以完成自动计数,还能表示计数本身,像Stirling数这种就只能用母函数表示。自动计数适用于可以分步的计数问题,并且目标值是每步值之和,这与多项式的运算性质有关。
1.1 组合数和分划数
直观上最符合这一特点的就是模型2,从个可区别对象中选出。限制第个对象被取的次数在集合中,它被选情况的母函数是,所有元素被选择的情况可以借助母函数(1)自动计数,共选取个元素的个数是的系数。特别地,不可重复组合数的母函数是,可重复组合数的母函数是(注意),满射的母函数是。
对于模型4的分拆数,考虑到型分拆要满足上篇式(14),它也可以用母函数自动计数。对长度为的分部使用,故长度为的分部的母函数是。所以的母函数便是式(2),由于等于最大分部为的分拆数,故它的母函数是式(3)。
值得一提的是,欧拉当初就是在研究分划数时发现母函数方法的。即使有式(2),的性质还是不清楚,我们注意到(2)的逆相对比较简单,值得讨论一下。有一个还算显然的组合意义,每一项系数的绝对值是分部互异的分划数,符号的意义则是分部数为奇数和偶数时分划数的差。利用这一组合意义辅助讨论(过程见教材),不难得到满足式(4)。继而可得到的递推关系式(5),它被称为欧拉公式。
• 利用母函数证明:分部都为奇数的分划数等于分部互异的分划数。
1.2 指数型母函数
对于模型1的排列数,简单的相加显然不再满足,考察上篇式(2),这就启发我们用代替(式(6))。对于数列,级数(6)被称为数列的指数型母函数,它对排列问题非常适用。同上面的分析,个互异元素中选个排列的母函数是式(7)。特别地,无重复排列数的母函数是,可重复排列数的母函数是(注意),满射排列数的母函数则是。
最后趁热看一下模型3中的Stirling数,由于就是模型1中的满射,利用满射排列数的母函数容易知的指数型母函数(式(8)),利用指数型母函数也可以得到上篇式(26)。为了得到的指数型母函数,从上篇式(27)右得到启发,先计算的母函数得到(过程略,二层母函数使用),展开的幂级数便得到的指数型母函数(9)。有了指数型母函数,Stirling数的性质就可以通过母函数研究,比如对母函数求导能得到递推关系式(10)(11)。
• 求每个元素取到偶数个的排列数。
2. Pólya计数定理
2.1 引言和环状字
基本计数问题中只涉及了两个最极端的拓扑结构,但在阐述的过程中,我们一直强调了同构类的思想。这里将推广这个思想,并将其用到更多的拓扑结构中。所谓同构,就是将拓扑结构中的元素置换,元素间的关系和置换后一致,它的代数意义就是我们熟悉的。我们这里就不再说元素可区分、不可区分了,每个元素单独看都无差别,它的差异性完全由其在拓扑结构中的位置决定。
比如图中的环状拓扑,直觉上说每个元素是“不可区分”的,但它们却不能随便置换。当把置换到时,为了保持的关系,只能置换到,所以这个拓扑中的同构就只能是整个图的旋转。再来看另一个环状拓扑,它除了旋转之外,延虚线的翻转也是同构置换。最后的立方体,其中包括更多同构置换,它们都与我们的直觉对应,就是变动后仍与以前一样。为了简单起见,以下我们只讨论原像是复杂拓扑,而像是可区分集的问题。它的等价模型就是给拓扑结构的元素染色,这时的同构当然还要求元素被置换到同样颜色的元素。

如果原像是左图的阶有向环形,用种颜色为其染色(或写入种字母),结果被称为元环状字,同构环状字的个数记作。先将环形固定并对其染色,将环状字进行旋转,得到的不同染色方案便是该染色同构的个数。如果颜色出现的最小周期为,易知共可以得到个不同的染色,则有,其中是最小周期为染色数(同构意义下)。利用反演公式可以得到,从而有环状字的计数公式(12)。
2.2 Pólya计数定理
现在对问题做一般性的讨论,先假设原像是可区分的,在其上进行染色,得到了染色方案集。还有对原像拓扑(不含颜色)进行同构置换的变换集,对任意,它都是一个变换。当对,当存在使得时,称是等价的,而我们的问题就是求等价类的个数。
容易证明对每个拓扑结构,其所有的同构置换在复合运算下是封闭的,从而构成一个群。又由于它是置换群的子集,故也称对称群。对的变换满足条件(13),该变换是在上的“作用”,你需要先回顾一下“群的作用”相关知识。从两个维度分别讨论,可以得到等价类的个数满足式(14)的Burnside定理,其中表示满足的的个数。如果对每个加权,并使得同一等价类中的元素权值相同,则有Burnside定理的加权版(式(15)),其中是第的等价类的代表元。
在染色问题中,我们比较关心一个染色方案使用的颜色组合,为了体现这个信息,给每个颜色赋上权值。而一个染色方案的权值则是,其中是颜色出现的次数,且有。式(15)包含了所有染色方案(同构意义下)的权值,其中我们可以得到每种颜色组合下染色方案的个数。当然式(15)的计算是通过右边的式子得到的,右边聚焦于每一个置换本身的性质,使得问题只与拓扑结构有关。
我们知道每个置换其实是一些轮换的组合,比较显然(也很关键),的充要条件是同一轮换中的颜色相同。这里借用母函数的思想来计算的权重,对长度为的轮换,所有可能的权重之和是。从而对型置换的,的权重如式(16)。为了表述方便,把式(17)称为的轮换指标(cycle index),显然当时便得到权重的完整表达式,它也被称为式样清单。特别地,取(即),便得到所有式样的个数(染色数),这些结论就是波利亚(Pálya)计数定理。
2.3 典型例子
波利亚定理采用了类似母函数的思想,能够准确地完成自动计数,但结论并没有给出最终计数值,所以它更多的在于其理论价值。下面以图中三种拓扑结构为例,阐述波利亚定理的应用,而问题的关键其实就是式(17)的计算。
首先是有向环,显然它的对称子群是一个阶循环群,其中是单步旋转。容易知道,是个阶轮换之积,其中是最大公约数的记号。反过来考虑,对任意,有个的轮换指标是。所以其轮换指标是式(18),进而得到环状字的个数式(19),它和式(12)其实是等价的()。
再来看无向环,一个典型问题就是用不同颜色的珍珠能串成多少个不同的项链。它和有向环不同的是还可以进行翻转,它的对称子群被称为二面体群。其中后个是翻转变换,当是奇数时是个对换,当为偶数时,一半是个对换,一半是个对换,翻转的轮换指标如式(20)。
最后来看立方体,立方体的对称群被称为立方体的旋转群,除了单位元外,还有以下三类旋转:(1)3*3=9个以对面中心为轴的旋转;(2)2*4=8个以过对顶点直线为轴的旋转;(4)1*6个以过对边中点直线为轴的旋转。这些变换可以分别作用在顶点、边和面上,其对应的轮换指标分别为如下三式所示。
• 讨论种颜色串成的项链种数,包括规定颜色数量的情况;
• 讨论种颜色涂色立方体点、边、面的种数,包括规定颜色数量的情况。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架