15. 基数法则与组合数学初步
本节我们将聚焦计算各种有限集的基数,即集合内的元素数目。做到这一事情的底层思想是,依据 双射法则,我们希望能够建立集合到集合的双射,或是集合到序列的双射,从而将对一个集合元素的计数转移到其它更加容易统计的元素的计数。
再搭配上一系列十分简单明了到我们一直就在自发使用它们的计数法则,就能够对许多常见的集合进行计数。例如:
加法法则:设
为一系列 不相交 集合,则
乘法法则:设
为任意集合列,则 式中的“乘法”为笛卡尔积。
乘法法则可以借助双射法则在序列上重新阐述:
广义乘法法则:设
是许多长度为 的序列构成的集合,且对这些序列满足
- 序列第一项有
种选择; - 对每一个第一项,第二项有
种选择;
......
以此类推,则
广义乘法法则坚定了我们一个进行集合基数的方法:将集合计数映射到序列计数上。
我们称集合
我们继续介绍另一个十分重要的计数法则:
除法法则:设
是一个 的 全函数,若 是 对一的,则
除法法则在我们使用映射将对
例如,考虑下面的问题:我们要将
还有一个基本问题:一个
子集法则:一个
元素集合的不同的 元素子集的数量为 我们称其为 组合数,又称 二项式系数,记为
,又可记作 。
了解了许多计数规则,我们来尝试应用一下吧!
给定一副标准的扑克牌(不含大小王),任意抽出五张,有多少种符合“两对”[1]牌型的手牌?
考虑构造一个六个元素的序列,分别代表第一个对子的点数、花色;第二个对子的点数、花色;单张的点数、花色。显然:
- 第一个对子的点数有
种选择; - 第一个对子的花色有
种选择; - 第二个对子的点数有
种选择; - 第二个对子的花色有
种选择; - 单张的点数有
种选择; - 单张的花色有
种选择。
故答案为
但这个答案不对,它错在哪里?
考虑如下两个序列:
有两个好办法可以避免上面的例题中可能会犯的重复计数错误:
- 对建立的映射多留点心眼,回头检查一下建立的映射是否真的是双射,如果不是,应用除法法则修正一下重复计数的问题。
- 用不同的方法再解决一边问题,只要两个方法都是正确的,那么结果也应该相同。
我们回顾一下组合数的引入过程,选出一个子集事实上是将集合分割为了两部分,因此我们自然会考虑将子集作多次分割共有多少种方案。形式化地,我们设
的一个
一个
元素集合的 分割数目为 其中
称作 多项式系数。
前面提到的排列计数都建立在元素各异的情况下。接下来我们考虑存在相同元素时排列的总数:给定元素序列
我们使用子集分割的思想,考虑一个位置集合
多重集和的排列:给定元素序列
,每个元素需在排列中出现次数的序列 ,其对应的排列个数为
这种组合的思想容易联想到代数中加法对乘法的分配律,因此我们来考虑一下代数与组合数学中至关重要的定理:
二项式定理:对任意
与
这个公式的来源可以简单说明如下:我们不妨考虑
通过应用上面提到过的 多重集合的排列,我们很容易将二项式定理推广到多项式定理:
多项式定理:对任意
与
鸽巢原理 同样是一个十分显然以至于我们一直在无意使用的计数原理案例:
鸽巢原理:如果鸽子的数量比鸽巢的数量多,则把所有鸽子放进鸽巢后必然有至少两只鸽子在一个巢中。形式化地来说,设
是一个 的 全函数,若 ,则 中至少有两个元素映射到 中同一个元素上。 鸽巢原理的逆否命题同样成立,其内容为,若
,则不存在 的 满射。
鸽巢原理可以自然推广:
广义鸽巢原理:若将
只鸽子放进 个鸽巢中,则必有一个鸽巢内至少有 个鸽子。 形式化地来说,若 是一个 的 全函数,则 中至少有 个元素映射到 中同一个元素上。
应用鸽巢原理可以用于判定某些计数问题的下限。应用鸽巢原理时,务必搞清 鸽子、鸽巢 分别对应哪个集合,以及将鸽子分配到鸽巢的方法。
加法法则 使用的条件是各集合两两不交,对于存在并集的集合,我们可以使用 容斥原理 来处理。容斥原理是加法法则的直接推广,其内容为:
两个集合的容斥原理:对任意有限集
对该公式的直观理解是,为了计算
基于两个集合的容斥原理,可以自然推广到三个集合的情况:
三个集合的容斥原理:对任意有限集
对该公式的理解可以画出三个集合的 Venn 图后按照与两个集合的容斥原理类似的方式进行。或者令
一路推广下去,我们可以得到对任意数量集合的容斥原理:
容斥原理:对
个任意有限集 直观解释就是,
个集合交集的大小等于:
- 单个集合的基数之和
- 减去所有两个集合的并集的基数之和
- 加上所有三个集合的并集的基数之和
- 减去所有四个集合的并集的基数之和
......
应用容斥原理,我们就可以给出关于 欧拉函数展开式 的另一种证明:
我们设
设
对该式子应用容斥原理即可。在此之前我们先考虑如何求出容斥原理需要的多个
接着应用容斥原理
代入
我们前面提到过 可以用多种思路解决同一道计数问题。由于不同思路给出的式子通常不同,我们可以进一步利用来导出一系列十分有用的式子,例如:
-
帕斯卡三角恒等式*:$${n \choose k} = {n-1 \choose k-1} + {n-1 \choose k}$$
-
考虑经典的
- 若
在选定的子集中,则选剩余 个元素的方案是 。 - 若
不在选定的子集中,则选剩余 个元素的方案是 。
两种方案显然互斥,依据加法原理,可以得到上面的结论。
这种依据计数原理得到代数事实的方法称作 组合证明,其能够在不基于繁琐代数运算的情况下给出对某些式子的证明,其基本框架为:
- 定义一个集合
; - 通过一种计数方式给出
; - 通过另一种计数方式给出
; - 得出结论:
。
构建组合证明的关键为选择合适的
两对是满足五张牌中有两对相同点数的牌的牌型。 ↩︎