座位问题
设想, 一个房间中有 10 把椅子, 现在有 6 个人准备随机地在房间中选择一把椅子落座. 已知有 4 把椅子在前排, 有多大的概率前排的椅子被坐满?
一种思路可以将这个问题看成是一个排列问题, 即考虑每个人落座的顺序. 那么样本空间就是:
$$ {}_{10}P_{6} $$下面只要计算在所有这些情况中, 有多少种满足 前面的 4 把椅子被坐满 这一条件即可.
可以认为有 3 个步骤:
从 6 个人中随机抽取 4 个人, 有 \(\binom{6}{4}\) 种可能
将这 4 个人安排到前排的 4 把椅子上, 共有 \(4!\) 种排列.
待这 4 个人选定之后, 剩下的 2 个人从剩下的 6 把椅子中随机选择 2 个落座, 共有 \({}_{6}P_{2}\) 种排列.
根据乘法原理, 共有:
$$ \binom{6}{4}\times 4!\times {}_{6}P_{2}={}_{6}P_{4}\times {}_{6}P_{2} $$种排列. 概率为两者相除:
$$ \frac{{}_{6}P_{4}\times {}_{6}P_{2}}{{}_{10}P_{6}}=\frac{\frac{6!}{2}\times\frac{6!}{4!}}{\frac{10!}{4!}}=\frac{6\times 5\times 4\times 3}{10\times 9\times 8\times 7}=\frac{1}{14} $$从另一个视角来看, 还有更简单的办法. 不管怎么选, 总之结果都是要从 10 把椅子中选出 6 把, 因此总的样本空间为 \(\binom{10}{6}\). 那么这其中有多少情况包括了前排的 4 把椅子呢?既然前面的 4 把椅子必然被选出, 那么只需要从剩下的 6 把中再选出 \(2\) 把即可, 也就是 \(\binom{6}{2}\), 概率为: \(\binom{6}{2} / \binom{10}{6}\). 由于在选择样本空间时, 就没有考虑顺序问题, 因此也无需考虑落座时的顺序问题.
使用 Python 验证两次计算是否一致:
Show/Hide the code
| |
方法一: 0.07142857142857142
方法二: 0.07142857142857142
分组问题
设想, 现在要将 4 个人平均地分为 {A, B} 两组. 共有多少种分法?
由于是分组, 所以小组内部的顺序不重要. 也就是说, 假如 4 个人是: a, b, c, d. 那么分组方式 {A, B} = {{a, b}, {c, d}} 和以下 3 种分组方式是同一种: {{a, b}, {d, c}}, {{b, a},{c, d}}, {{b, a},{d, c}}. 但是, 小组之间的顺序是重要的, 因为我们明确区分了 A 和 B 两组. 因此 {{a, b}, {c, d}} 和 {{c, d}, {a, b}} 是不同的分组方式. 从 4 个人中随机抽取 2 人分到第 1 组, 那么剩下的人自然就组成了第 2 组, 共有 \(\binom{4}{2}\) 种分法.
那么如果不区分小组呢? 也就是说现在是无标签地分组, 那么 {{a, b}, {c, d}} 和 {{c, d}, {a, b}} 是相同的分组方式. 此时分组数量显然会减少, 因为现在认为 {A, B} 和 {B, A} 相同, 导致了重复. 就像排列数和组合数的关系一样, 当不考虑顺序时, 数量会减少 \(k!\) 倍, 其中 \(k\) 为需要排列的个体的数量. 在分组问题中, 需要排列的个体数量也就是分组的数量, 在本例中是 2. 因此最终结果为:
另一种思路是先计算所有人全排列有多少种可能的情况, 再逐渐加入限制. 可以这样理解: 先看成每个人各成一组, 然后再将多个人合并到一组中. 例如, 假如将 {a, b} 合并到一组, 那么所有 {{a, b}, ...} 和 {{b, a}, ...} 就应该视为一种情况, 因此分组数量将减少 \(2!\) 倍, 如果将 3 个人分到一组, 那么分组数量将减少 \(3!\) 倍, 依此类推. 在本例中, 4 个人分为 4 组共有 \(4!\) 种分法, 先将两个人合并为一组, 分法减少 \(2!\) 倍; 再将另外两个人分为一组, 分法再减少 \(2!\) 倍; 如果是无标签分组, 还要再考虑去除小组之间的顺序, 即再减少 \(2!\) 倍. 最终结果为:
验证两种方法的结果:
Show/Hide the code
| |
方法一: 3.0
方法二: 3.0
如果是不平均分组, 就无需考虑小组之间的排序问题了. 例如, 将 5 个人无标签地分为 3 组, 人数为 {2, 2, 1}. 可以视为: 先将 5 个人分为 {4, 1}, 也就是从 5 个人中取 1 人: \(\binom{5}{1}\), 这个事件是没有重复的. 再将 4 个人分为 {2, 2}, 这里就有重复了: \(binom{4}{2} / 2!\) 最终将 2 个步骤相乘:
Show/Hide the code
| |
15.0