zoukankan      html  css  js  c++  java
  • 疯子坐飞机问题

    题目

    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)。

    个人小站:http://jun10ng.work/ 拥抱变化,时刻斗争,走出舒适圈。
  • 相关阅读:
    Django-01
    tkinter模块常用参数(python3)
    Python3 数据可视化之matplotlib、Pygal、requests
    python面试题(二)
    python 面试题(一)
    Python 用Redis简单实现分布式爬虫
    用python的正则表达式实现简单的计算器功能
    Python操作 RabbitMQ、Redis、Memcache
    自定义线程池
    21天学通Python课后实验题4.6
  • 原文地址:https://www.cnblogs.com/Jun10ng/p/12348247.html
Copyright © 2011-2022 走看看