2.5 十二重计数法The twelvefold way
本页为译文 + 高中讲解合一:黑色正文为忠实翻译;彩色框(目标 / 例 / 分步推演)与配图为面向高中生的详解,逐步推演、举例、画图,不用比喻。
在本节中,我们将回顾前两章学到的计数技巧如何给出 12 个计数问题的解。这 12 个问题表述起来彼此相似、都很容易描述。在每一个问题中,我们都是把 \(n\) 个球放进 \(k\) 个盒子。使这些问题互不相同的,是以下几点:球是否全都相同、还是全都可区分(例如用不同的数字标号);盒子是否全都相同、还是全都可区分;以及对放球方式的限制条件——这些条件有时要求每个盒子里至多放一个球,有时要求至少放一个球。
Gian-Carlo Rota 把这一组问题命名为十二重计数法(the twelvefold way)。在下文中,我们将逐一讨论这 12 个问题。到此为止,读者已经掌握了解决这些问题所需的全部工具,因此读者完全可以在阅读我们的论证之前,先尝试自己给出一个解答。
① 球是否可区分(identical / distinguishable);
② 盒子是否可区分;
③ 放法限制:无限制 / 每盒至少 \(1\) 个 / 每盒至多 \(1\) 个。
解决这 12 个问题,就把前面学过的整数拆分、集合拆分、组合、弱合成、第二类 Stirling 数等工具全部串了起来。
第一组:球相同、盒子相同
在前三个问题中,我们假设 \(n\) 个球全都相同,且 \(k\) 个盒子也全都相同。
- 把 \(n\) 个相同的球放进 \(k\) 个相同的盒子,有多少种方法?
- 若要求每个盒子至少得到一个球,又有多少种方法?
- 若要求每个盒子至多得到一个球,又有多少种方法?
(a) 由于盒子和球都相同,唯一要紧的就是各个盒子里分别放了多少个球。换言之,我们在这里处理的是整数 \(n\) 的拆分(partition)。既然盒子都相同,我们不妨按盒子所含球数不增的顺序排列它们。因此,所有可能性的个数为 \(p_k(n)\),因为实际装有球的盒子至多有 \(k\) 个。
(b) 因为不允许出现非空盒子少于 \(k\) 个的分配,所以可能性的个数为 \(p_k(n)-p_{k-1}(n)\)。当 \(n (c) 当 \(n>k\) 时这个数为 \(0\),当 \(n\le k\) 时为 \(1\),因为每个盒子得到 \(0\) 个或 \(1\) 个球。由于盒子都相同,哪些盒子得到 \(0\)、哪些得到 \(1\) 并无区别。♦
- (b) 每盒至少 1 个:要求恰好用满 \(3\) 个非空盒子,即 \(5\) 拆成恰好 \(3\) 个正部分。从 (a) 的清单里只保留有 \(3\) 行的:\(3{+}1{+}1\) 与 \(2{+}2{+}1\),共 \(2\) 个。用公式 \(p_3(5)-p_2(5)=5-3=2\)(\(p_2(5)\) 计 \(5,4{+}1,3{+}2\) 共 \(3\) 个),一致。
- (c) 每盒至多 1 个:因为 \(n=5>k=3\),五个球无法在“每盒最多 1 个”下放进 3 个盒子,故答案为 \(0\)。
第二组:球可区分、盒子相同
在接下来的三个问题中,盒子仍然相同,但球变为可区分。
- 把 \(n\) 个可区分的球放进 \(k\) 个相同的盒子,有多少种方法?
- 若要求每个盒子至少得到一个球,有多少种方法?
- 若要求每个盒子至多得到一个球,有多少种方法?
(a) 既然球各不相同,我们可以用 \([n]\) 的元素给它们标号。于是这些球被放进相同的盒子里,我们处理的便是集合 \([n]\) 的拆分(set partition)。如果没有其他限制,我们可以使用不超过 \(k\) 个的任意数目的盒子,因此由加法原理,答案为 \(\sum_{i=1}^{k}S(n,i)\)。
(b) 这种情形必须恰好使用 \(k\) 个盒子,所以答案为 \(S(n,k)\)。
(c) 若 \(n>k\),答案为 \(0\)。否则答案为 \(1\),因为每个非空盒子里恰好放一个球,而由于盒子都相同,哪个盒子装哪个球并无区别。请注意它与上一问题 (c) 的相似之处。♦
- (b) 恰好用满 2 个非空盒子:即 \(S(3,2)\)。把 \(\{1,2,3\}\) 分成 2 个非空无序块:\(\{1\}\{2,3\}\)、\(\{2\}\{1,3\}\)、\(\{3\}\{1,2\}\),共 \(S(3,2)=3\) 种。
- (a) 无限制(最多用 2 个盒子):\(\sum_{i=1}^{2}S(3,i)=S(3,1)+S(3,2)=1+3=4\)。其中 \(S(3,1)=1\) 是“三球全进一个盒子”。
- (c) 每盒至多 1 个:\(n=3>k=2\),放不下,答案 \(0\)。
第三组:球相同、盒子可区分
在接下来的三个问题中,我们把条件反过来:盒子可区分,但球相同。
- 把 \(n\) 个相同的球放进 \(k\) 个可区分的盒子,有多少种方法?
- 若要求每个盒子至少得到一个球,有多少种方法?
- 若要求每个盒子至多得到一个球,有多少种方法?
(a) 由于球都相同,唯一要紧的是每个盒子里放了多少个球。然而盒子可区分,所以它们的顺序是有意义的。换言之,我们处理的是把 \(n\) 写成 \(k\) 个部分的弱合成(weak composition)。因此答案为 \(\binom{n+k-1}{k-1}\)。
(b) 因为没有盒子能为空,所以我们处理的是把 \(n\) 写成 \(k\) 个部分的合成(composition),故答案为 \(\binom{n-1}{k-1}\)。
(c) 若 \(n>k\),答案为 \(0\)。否则,我们只需选出那 \(n\) 个各装一个球的盒子,这可以用 \(\binom{k}{n}\) 种方法完成。♦
- 一共有 \(4+2=6\) 个位置,球和隔板共 \(6\) 个符号。
- 只需在 \(6\) 个位置里挑出 \(2\) 个放隔板,其余放球:\(\binom{6}{2}=\binom{4+3-1}{3-1}=15\) 种。
- 例如 \(\bigstar\bigstar\,|\,\bigstar\,|\,\bigstar\) 表示 \((2,1,1)\);\(|\,\bigstar\bigstar\bigstar\bigstar\,|\) 表示 \((0,4,0)\)。
- (b) 每盒至少 1 个,\(n=4,k=3\):先给每盒各放 1 个,剩 \(4-3=1\) 个球再自由分给 3 个盒子;或直接用公式 \(\binom{n-1}{k-1}=\binom{3}{2}=3\)。具体为 \((2,1,1),(1,2,1),(1,1,2)\)。
- (c) 每盒至多 1 个,\(n=4,k=3\):因 \(n=4>k=3\),答案 \(0\)。若改成 \(n=2,k=3\):在 3 个可区分盒子中选 2 个各放 1 球,\(\binom{3}{2}=3\) 种。
第四组:球可区分、盒子可区分
在最后三个问题中,盒子和球都可区分。
- 把 \(n\) 个可区分的球放进 \(k\) 个可区分的盒子,有多少种方法?
- 若要求每个盒子至少得到一个球,有多少种方法?
- 若要求每个盒子至多得到一个球,有多少种方法?
(a) 由于任何一个球都可以放进任何一个盒子,可能性的个数为 \(k^n\)。
(b) 这类似于把 \([n]\) 拆成 \(k\) 个块,但现在块的顺序是有意义的,所以答案为 \(S(n,k)\,k!\)。
(c) 同样地,若 \(n>k\),答案为 \(0\)。否则,第一个球有 \(k\) 种选择,第二个球有 \(k-1\) 种选择,依此类推,所以答案为 \((k)_n\)。♦
- (a) 无限制:每个球独立选 2 个盒子之一,\(2^3=8\) 种。
- (b) 每盒至少 1 个:\(S(3,2)\cdot 2!=3\times2=6\)。直观上:先把 3 个球分成 2 个非空无序块(\(S(3,2)=3\) 种),再把这 2 个块按顺序塞进 2 个可区分盒子(\(2!=2\) 种)。也等于 \(2^3-2=6\)(减去“全进盒1”和“全进盒2”这两种使某盒为空的放法)。
- (c) 每盒至多 1 个:\(n=3>k=2\),答案 \(0\)。若改成 \(n=2,k=3\):\((3)_2=3\times2=6\)。
十二个答案汇总
| 球 \ 盒 | 无限制 (a) | 每盒 ≥ 1 (b) | 每盒 ≤ 1 (c) |
|---|---|---|---|
| 相同球 / 相同盒 | \(p_k(n)\) | \(p_k(n)-p_{k-1}(n)\) | \([n\le k]\) |
| 可区分球 / 相同盒 | \(\sum_{i=1}^{k}S(n,i)\) | \(S(n,k)\) | \([n\le k]\) |
| 相同球 / 可区分盒 | \(\binom{n+k-1}{k-1}\) | \(\binom{n-1}{k-1}\) | \(\binom{k}{n}\) |
| 可区分球 / 可区分盒 | \(k^{n}\) | \(S(n,k)\,k!\) | \((k)_{n}\) |
如果读者把这 12 个问题全都做了一遍,那么在尝试解决一个枚举问题时,她将会有几个有用的问题可问:我们所计数的对象是否互不相同?它们的顺序是否要紧?是否允许重复?这些问题恰好对应着上面三个开关——它们能帮助我们迅速判断手头的计数问题落在十二重计数法的哪一格。
- 用十二重计数法判断:把 \(4\) 个相同的球放进 \(3\) 个可区分盒子且允许空盒,有几种?(提示:用 \(\binom{n+k-1}{k-1}\)。)
- 把 \(4\) 个可区分球放进 \(2\) 个可区分盒子,要求每盒至少 1 个,有几种?分别用 \(2^4-2\) 和 \(S(4,2)\cdot2!\) 验证。
- 把 \(4\) 个可区分球放进 \(4\) 个相同盒子,每盒至多 1 个,有几种?把它与“\(4\) 个可区分球放进 \(4\) 个可区分盒子、每盒至多 1 个”的答案 \((4)_4=24\) 作对比,解释差别为何是 \(4!\) 倍。
返回 全书目录