疯子坐飞机问题

Posted jun10ng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了疯子坐飞机问题相关的知识,希望对你有一定的参考价值。

题目

100人坐飞机,每个人按照编号入座,但第一个人在座位中随便选一个坐下,第100人正确坐到自己坐位的概率是?

他们分别拿到了从1号到100号的座位,这些乘客会按号码顺序登机并应当对号入座

如果他们发现对应号座位被别人坐了,就会在剩下空的座位随便挑一个坐.

现在假设1号乘客疯了(其他人没疯),他会在100个座位中随便选一个座位坐下,问:第100人正确坐到自己坐位的概率是多少?(也可推广到n名乘客n个座位的情况)

解析

无法理解的,可以看下这个博文:https://blog.csdn.net/JKdd123456/article/details/99714714,内有推到
n=1,p(1)=1,
n=2,p(2)=1/2+0=1/2;
n=3,p(3)=1/3+p(2)*1/3=1/2; 发现没有,是一个规模逐渐变大的疯子问题,所以n=多少时都是1/2

1.疯子坐对了

问题结束,所有人都可以坐对位置。

2.疯子坐错了,但并没有占据最后一个人的位置

假设疯子坐在了 k 号位置(1<k<n),那么从 2到 k-1 号都可以坐对位置,这个时候 k 号乘客进来了。他看到自己的位置被占了,于是重新选择一个位置就座。

注意!

也就是说,在这种情况下,除了 n 变小了,这个问题依然是一个疯子问题!只是 n 变成了 n-k+1 ,而这个第 k 号乘客就是新的「疯子」;而对于每一个疯子,他坐对的位置都是第一个疯子的那个位置。

3.疯子坐错了,而且坐在了最后一个人的位置上

问题结束,最后一个人不能坐在自己的位置上。

所以,第二个选项是无效的,它只是把问题中的n变小了,实质上等于没有做任何选择;且这个过程要么结束,要么会变成 n=2 的情况,这个情况下没有选项 2。

而只有 1 和 3 两个等概率的选项决定了最终结果,它们的概率分别为二分之一。

因此答案是二分之一。

其实这个问题还可以更简单。注意到在中间,如果任何一个随机选座位的人坐到了第一个疯子的位置,那么后边的所有人——当然包括最后一个人——就可以坐对。

因此最后一个人的位置只有两种可能:第一个疯子的,他自己的。

这两个位置又没有什么区别,也就是说在各种情况下都是对称的,所以它们的概率相等。

如果还是有问题,下边这个模型你一定能明白。

考虑一枚硬币,正面向上的概率为 1/n ,反面也是,立起来的概率为 (n-2)/n 。我们规定硬币立起来重新抛,但重新抛时,n会至少减小1。求结果为反面的概率。

这样很显然结果为 1/2 。而「正面向上」对应的是下一个疯子坐最后一个人的座位(选项 I);「反面向上」对应下一个疯子坐对的情况(选项 III );「立起来」则对应坐在中间的情况(选项 II)。

以上是关于疯子坐飞机问题的主要内容,如果未能解决你的问题,请参考以下文章

sql 大多数疯子都在IPL中击败

疯子的算法总结(四)贪心算法

做一个疯子,抑或傻子

若非疯子怎会选择创业

天才在左疯子在右

疯子的算法总结 矩阵乘法 (矩阵快速幂)