2-17组合数学笔记
引入———十二重法
考虑对 \(n\) 元集到 \(m\) 元集的映射进行计数,根据一些不同的限制,引申出十二个基本的组合问题,被称为十二重法。
- 单射/不受限/满射
- \(n\) 元集中的元素是可区分还是不可区分
- \(m\) 元集中的元素是可区分还是不可区分
一共 \(3\times 2\times 2=12\) 种限制。每种限制下是一个不同的组合问题。
用自然语言描述的话,就相当于把 \(n\) 个球扔到 \(m\) 个箱子里。如果第 \(i\) 个球扔到了第 \(j\) 个箱子里,就称相当于一个集合的元素 \(i\) 映射到第二个集合中的元素 \(j\)。
于是对于第一种限制,单射就对应了每个盒子最多一个球;满射就对应了每个箱子都必须有球;不受限就是任意扔球。
如果小球可区分,那么就相当于球表了 \(1\sim n\) 号;如果不能区分,就相当于只有红球这样的。箱子同理。
对于“可区分”和“不可区分”的严格定义:定义映射和映射之间的等价关系,如果两种映射可以通过一种限制转换成另外一种映射,就划分等价类,看为同一种映射。

这十二种问题难易程度各有不同。如果球和箱子都有区分,是非常简单的组合问题;如果球没有区分了,就会有一定难度;箱子没有区分,难度就会更高;都没有区分,难度就非常恐怖了。
具体求解
\([m]\) 表示一个 \(m\) 元集(即 \(\{1,2,\cdots,m\}\))。
首先有一个显然的原则,双射原则。
- 双射原则:两个集合形成双射,则两个集合大小相等。\(S\leftrightarrow T\Rightarrow |S|=|T|\)
\([m]\times [m]\) 表示笛卡尔积,例如 \(\{1,2,3\}\times\{1,2,3\}=\{(1,1),(1,2),(1,3),(2,1),\cdots,(3,2),(3,3)\}\)。
由此,可以发现 \([m]^n\) 相当于所有值域在 \(1\sim m\) 的 \(n\) 元组集合。观察可知,\(|[m]^n|=m^n\)。这可以由集合上的乘法原则得出:
- 乘法原则:两个集合的笛卡尔积的大小,等于两个集合大小的乘积。\(|S\times T|=|S|\times|T|\)。
接下来,考虑最基础的没有限制的,可区分的映射计数。容易发现,\(f:[n]\to [m]\) 可以等价于一个 \(n\) 元组,值域在 \(1\sim m\) 内,恰好对应了我们的 \(|[m]^n|=m^n\)。
于是,我们运用乘法原则完成了第一个问题的答案了。
接下来,我们加一些限制,考虑第二个问题:求 \(n\) 元集到 \(m\) 元集的单射个数。
容易发现,这可以转化成 \(m\) 个元素的 \(n\) 排列的个数,即 \(A_m^n=m(m-1)(m-2)\cdots(m-n+1)=\frac{m!}{(m-n)!}\)。
组合数本质上表示的是一个集合的子集。如果要表示一个集合的所有子集,一般用 \(2^{[n]}\),表示所有“子集”的集合。这个集合的大小显然是 \(2^n\),证明:
-
组合证明。把自己表示成 \(n\) 元组,每个元素为 \(0/1\),表示有没有这个元素(即二进制表示集合)。于是,子集与 \(0\sim 2^n-1\) 的二进制数形成了一一对应的双射。接下来,运用乘法原则即可得到 \(n\) 元组的数量为 \(2^n\)。
-
不组合的证明。把 \(2^{[n]}\) 的大小记为 \(f(n)\),我们会发现 \(f(n)=2f(n-1)\),这用到我们的下一条原则———加法原则。
- 加法原则:两个不相交的集合的并,大小等于两个集合大小之和。\(S\cap T=\varnothing\Rightarrow|S\cup T|=|S|+|T|\)。
有了加法原则,我们可以将 \(2^{[n]}\) 中的元素分为两类,一类是没有元素 \(n\),则这一类与 \(2^{[n-1]}\) 相等,所以大小为 \(f(n-1)\);另一类有元素 \(n\),则与 \(2^{[n-1]}\) 可以形成一一对应(双射),所以大小也为 \(f(n-1)\)。显然这两类不相交,所以根据加法原则,\(f(n)=2f(n-1)\)。
到此为止,我们所有推论都可以通过三个原则推出来,除了一个例外:排列数 \(m(m-1)(m-2)\cdots(m-n+1)\)。排列数并不是笛卡尔积,因为前面选了哪些元素对后面产生了影响,并不是两个集合直接笛卡尔积并起来。这并不是乘法原则,而是“链式法则”。
总结三条原则:
- \(S\leftrightarrow T\Rightarrow |S|=|T|\)
- \(|S\times T|=|S|\times|T|\)
- \(S\cap T=\varnothing\Rightarrow|S\cup T|=|S|+|T|\)
二项式系数
二项式系数 \(\binom{n}{k}\) 的扩展 \(\binom{[n]}{k}\) 表示 \(n\) 元集合中的 \(k\) 元子集组成的集合。即 \(|\binom{[n]}{k}|=\binom{n}{k}\)。
当 \(k=2\) 时,相当于一个完全图。当 \(k\) 更高的时候,我们称之为 “\(k\)-完全超图”,其中每个“超边”不再连向两个点,而是连向 \(k\) 个点。
总结
通过十二重法介绍的集合映射来理解组合,有助于我们将一些感性理解的组合问题形式化地描述出来并归类,且能根据三条原则严谨地解决。
以前接触到的加法原理和乘法原理与加法、乘法原则类似,但这里的原则通过对集合操作的描述,能够更加严谨地解决问题。这里主要讲的组合问题难度都不高,但这节课让我们看到了更深刻的理解。

浙公网安备 33010602011771号