1 简介
在概率算法中人的有目的选择作为主观行为,通常计为概率1。本文探讨了概率算法在特定问题中的应用,即计算空乘就坐问题的变体:一系列人按照特定规则坐在椅子上的概率。
通过详细的分析和验证,文章得出了两种情况下所有人都坐在自己编号椅子上的概率。
2 问题的提出
有以下问题求解:
一个屋子里有5个椅子编号1到5,屋外有人5个编号也是1到5。
现在屋外的人依次进入屋子,比如1号人进入屋子随机选中一个椅子坐下之后。
问题1: 其他人依次进入屋子看自己对应编号是否被占用,如果没有占用则做自己编号的椅子否则随机选中一个坐,如此5个人都坐到自己编号椅子的概率是多少?
问题2:如果第二个人开始不是优先选中自己编号的椅子,而是随机选中椅子坐,那么5个人都坐到自己编号的椅子概览又是多少?
问题设定在一个有5把编号椅子的屋子里,屋外也有5个编号对应的人。

文章分析了两种情况:一是第一个人随机选择椅子后,后续人优先选择自己编号的椅子(若未被占用)的概率问题;二是从第二个人开始,所有人都完全随机选择椅子的概率问题。
3 问题解决过程
问题1: 优先选择自己编号的椅子
- 描述:
屋外有5个人,编号1到5;屋内有5把椅子,编号1到5。人们依次进入屋子:
1号人随机选择一个椅子坐下(完全随机,每个椅子概率相同)。
对于后续的人(2号到5号):
首先检查自己编号的椅子是否空闲。
如果空闲,就坐在自己的椅子上。
如果不空闲,就随机选择一个当前空闲的椅子坐下。
问:最终所有人都坐在自己编号的椅子上的概率是多少?
- 过程:
首先,我们需要明确"所有人都坐在自己编号的椅子上"意味着什么。这意味着:
erlang
1号人坐在1号椅子,
2号人坐在2号椅子,
...
5号人坐在5号椅子。
但是根据规则,1号人是随机选择的,所以1号人坐在1号椅子的概率是1/5。如果1号人没有坐在1号椅子上,那么后续的人会优先选择自己的椅子,这可能会影响其他人的选择。
然而,关键在于"所有人都坐在自己的椅子上"这一事件发生的唯一可能性是:1号人一开始就选择了1号椅子。为什么?
因为:
如果1号人没有选择1号椅子(比如选择了k号椅子,k ≠ 1),那么当k号人进入时:
如果k号人之前的2到k-1号人都坐在自己的椅子上(即2号人坐2号,..., k-1号人坐k-1号),那么k号人会发现自己的椅子被1号人占了,因此会随机选择一个空闲的椅子。
这意味着k号人有可能选择1号椅子(如果1号椅子还空闲),这将导致1号人无法坐在自己的椅子上。
更一般地,任何一个人如果被迫随机选择,都有可能选择1号椅子,从而阻止1号人坐在自己的椅子上。
因此,唯一能让所有人都坐在自己椅子上的情况是:1号人一开始就选择了1号椅子,这样后续的每个人都会发现自己的椅子空闲,从而坐在自己的椅子上。
所以,概率就是1号人选择1号椅子的概率,即1/5。
- 验证:
让我们用更小的例子验证一下。假设只有2个人和2把椅子:
1号人选择1号椅子(概率1/2):
然后2号人进来,发现2号椅子空闲,坐2号椅子。
所有人都坐在自己的椅子上。
1号人选择2号椅子(概率1/2):
2号人进来,发现2号椅子被占,只能随机选择剩下的1号椅子。
结果是:1号人在2号椅子,2号人在1号椅子。
没有人坐在自己的椅子上。
因此,对于n=2,概率是1/2,与我们的结论一致。
再试n=3:
1号人选择1号椅子(概率1/3):
2号人坐2号,3号人坐3号。
所有人都坐在自己的椅子上。
1号人选择2号椅子(概率1/3):
2号人进来,发现2号被占,随机选择剩下的1号或3号。
选择1号:
3号人进来,发现3号空闲,坐3号。
结果是:1号在2号,2号在1号,3号在3号。
只有3号人坐在自己的椅子上。
选择3号:
3号人进来,发现3号被占,只能选择剩下的1号。
结果是:1号在2号,2号在3号,3号在1号。
没有人坐在自己的椅子上。
因此,1号人选择2号椅子时,无法所有人都坐在自己的椅子上。
1号人选择3号椅子(概率1/3):
类似于选择2号椅子的情况,对称。
无法所有人都坐在自己的椅子上。
因此,对于n=3,概率也是1/3。
看起来我们的结论是正确的:对于n个人,概率是1/n。这里n=5,所以概率是1/5。
- 结论:
第一个问题的答案是:1/5。
4 解决问题二:从第二个人开始完全随机选择椅子
- 现在规则改变:
1号人随机选择一个椅子坐下。
对于后续的人(2号到5号):
无论自己的编号椅子是否空闲,都完全随机选择一个当前空闲的椅子坐下。
问:最终所有人都坐在自己编号的椅子上的概率是多少?
- 解决过程:
现在,每个人(包括第一个人)都是完全随机选择一个空闲的椅子坐下。我们需要计算的是,最终每个人恰好坐在自己编号的椅子上的概率。
这实际上等价于:5个人随机排列(即随机坐在椅子上),形成一个排列,且这个排列是恒等排列(即每个人坐在自己的椅子上)。
对于n个元素的随机排列,恒等排列的概率是1/n!。因为总共有n!种可能的排列,其中只有一种是恒等的。
对于n=5,概率是1/5! = 1/120。
- 验证:
让我们用n=2验证:
可能的排列:
markdown
1号人坐1号,2号人坐2号。
1号人坐2号,2号人坐1号。
每个人都随机选择:
markdown
1号人有1/2选择1号或2号。
如果选1号:
2号人只能选2号。
结果是恒等排列。
如果选2号:
2号人只能选1号。
结果是非恒等排列。
所以概率是1/2,而2! = 2,所以1/2! = 1/2,一致。
n=3:
总排列数:3! = 6。
恒等排列的概率应为1/6。
计算:
1号人有1/3选择1, 2, 或3。
选1(概率1/3):
2号人有1/2选择2或3。
选2:
3号人必须选3。
恒等排列。
选3:
3号人必须选2。
非恒等。
所以选1时,恒等概率1/2。
选2或3:
无法形成恒等排列。
总概率:1/3 * 1/2 = 1/6。
一致。
因此,对于n=5,概率是1/5! = 1/120。
- 结论:
第二个问题的答案是:1/120
5 小结
概率算法在解决特定随机选择问题时具有重要作用。本文通过分析两种不同规则下人们坐在椅子上的概率问题,展示了概率算法的应用。
在第一种情况下,由于第一个人随机选择椅子,只有当第一个人选择自己编号的椅子时,后续人才能都坐在自己编号的椅子上,因此概率为1/n(n为人数)。
在第二种情况下,由于所有人都完全随机选择椅子,形成恒等排列(即每个人都坐在自己编号的椅子上)的概率则为1/n!。这些结论不仅解决了特定问题,也为类似随机选择问题的概率计算提供了参考,