场景

有100个犯死罪的囚徒,现在有一个机会可以免除他们的死刑:有一个放着100个箱子的房间。每个箱子都按顺序编号1−1001-1001−100,箱子中放着随机打乱顺序的囚犯铭牌1−1001-1001−100。每个囚徒可以打开50个箱子,寻找自己的铭牌。如果每个囚徒都成功地找到自己的铭牌,那么这100个囚徒都会被免除死刑。囚徒可以实现商量好任何的策略,但在游戏开始后不可以继续交流,也不可以在箱子上做记号。

思路

看似囚徒赢得游戏的概仅为0.51000.5^{100}0.5100,实际上概率远远比这大得多。

因为随机打乱顺序的箱子,实际上对于这100个囚徒来说并不是独立随机的。策略如下:每个囚徒(比如3号)进入房间后,打开自己的号码所对应的箱子(3号箱),然后根据箱子中存放的铭牌(比如11号铭牌),打开对应的箱子(11号箱),直到找到自己的铭牌(3号铭牌),或者用尽50次尝试。

上述过程就是一个链表,特别地它是一个有限循环链表:假设链表无限长,那么与 ”箱子数和铭牌数都是有限的“ 矛盾;不同号码的箱子和铭牌是一一的,因此链表的每个节点都必然是单输入且单输出的;假设它不是循环链表,那么链表尾部的指针将不会指向之前的链表节点,于是链表长度无限增加,与 “链表有限长” 矛盾。

那么,由于囚徒选择的链表是一个有限循环链表,并且囚徒的第一选择是自己号码(3号)对应的箱子(3号箱子),那么自己的铭牌(3号铭牌)一定就在这个箱子的父节点中!

确切地说,一旦箱子顺序固定下来,囚徒的生死已然确定:只要这个链表的长度不大于50(比如长度为34),那么囚徒一定会成功找到自己的铭牌,并且同一个链条上的囚徒也都可以找到自己的铭牌(他们都在第34次尝试时,成功地找到自己的铭牌)。为了赢得游戏,只需要不出现长度超过50的链表即可,概率为:
Pr=1−∑i=51100i!i⋅i!≈0.31Pr = 1 - \sum_{i=51}^{100} \dfrac{i!}{i \cdot i!} \approx 0.31 Pr=1−i=51∑100​i⋅i!i!​≈0.31
容易证明,当囚徒数量nnn趋于无限时,
Pr=1−∫n2n1xdx=1−ln⁡2≈0.3069Pr = 1 - \int_n^{2n} \dfrac{1}{x} \,d x = 1-\ln 2 \approx 0.3069 Pr=1−∫n2n​x1​dx=1−ln2≈0.3069

结论

在同一个链条上的囚徒,要么一起赢,要么一起输。他们各自的输赢概率依旧是50%50 \%50%,但是不再独立。因此,所有囚徒都成功找到自己的铭牌的概率远远高于0.51000.5^{100}0.5100

其实,如果将游戏弱化为只有0,10,10,1两个箱子和两个铭牌,所有囚徒都只有一次选择机会,如果他们都选择到000号铭牌那么赢得游戏。那么最佳策略就是:所有囚徒都选择同一个盒子,成功率为0.50.50.5,而非0.51000.5^{100}0.5100

巧思3 - 囚徒自救相关推荐

  1. 跳不出的整改循环,闲鱼、58的囚徒困境

    来源|新熵 编辑|于松叶 今年春节是一众二手交易平台注定不好过的一个春节.最近两个月来,接二连三袭来的重拳,让二手平台们战战兢兢. 1月14日,江苏省消保委通报了闲鱼.58同城等12家二手交易平台,存 ...

  2. 暴风影音公开道歉 中国客户端软件面临囚徒困境

    原文出处:[url=http://stock.sohu.com/20110817/n316519727.shtml]http://stock.sohu.com/20110817/n316519727. ...

  3. 华为正式宣布养猪,网友沸腾:支持华为自救!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源:程序员新鲜事(ID:CoderNews) 任正非接受媒体采访时 ...

  4. 博弈论-囚徒困境与重复囚徒困境的启示

    博弈论-囚徒困境与重复囚徒困境的启示 "囚徒困境" 囚徒困境(prisoner's dilemma):讨论的是两个被捕的囚徒之间的一种博弈,它阐明了为什么"在合作对双方都 ...

  5. 七、发生交通事故后的自救、急救等基本知识,以及常见危险化学品等知识

    from: http://zhangqihai.bokee.com/viewdiary.28693370.html 七.发生交通事故后的自救.急救等基本知识,以及常见危险化学品等知识 一.伤员自救.急 ...

  6. 人质困境:多个人的囚徒困境(博弈论的诡计)

    囚犯困境作为博弈论中的一个基本的模型,可以解释很多与此类似的杜会现象,如寡头竞争.军备竞赛等.但是社会中的博弈往往并不止有两个参与者,这时的博弈还会出现囚徒困境吗? 答案是肯定的,在多个参与者之间形成 ...

  7. 博弈论笔记1:囚徒困境与纳什均衡

    1 个体最优与社会最优 1.1 社会基本问题 社会:个体之间有互动行为&相互依赖的群体 羊群效应:大家做什么,我就跟着做什么,不管对错和原因 协调问题:两人迎面走来,谁左谁右?(核心:人们如何 ...

  8. 十万腾讯人,自救1000天

    作者 |  蓝字,来源  |  蓝字计划 "在腾讯就没有生活,真的是理应如此?" 5月29日凌晨1点39分,一条发布在腾讯内部论坛KM的帖子,犹如沸水泼油,炸出了三万多只鹅. 这位 ...

  9. 在线旅游的2020:洗牌重组、直播自救、跨界面敌

    文 | 易不二 来源 | 螳螂财经(ID:TanglangFin) 受疫情影响,2020年上半年,人们对诗与远方的向往,都被囿于客厅与厨房,使得整个OTA行业遭受订单锐减的重创. 从下半年开始,在国内 ...

最新文章

  1. ITK:使用FFT与输入图像的掩码图像进行归一化相关
  2. java扫描包下类_实现获取扫描指定包路径下的jar文件或class文件JarPojoHandler类示例代码...
  3. python识别虚假新闻的分类器_使用NLP检测和对抗AI生成的假新闻
  4. Java:前程似锦的 NIO 2.0
  5. java中session源码_Spring Session原理及源码分析
  6. 初级Web前端工程师是什么?初级Web前端工程师的技术体系有哪些?
  7. 使用GSON解析JSON数据
  8. Unity粒子特效系列-毒液喷射预制体做好了,unitypackage包直接用 -下
  9. 解决NVIDIA官网打开速度过慢的 CUDA下载界面打开过慢
  10. OptiX OSN3500
  11. 关于pr(premier)2020不能使用beat edit的解决方法
  12. ppt(office365)之表格使用说明
  13. 16进制颜色代码#FF000000 (css颜色值)
  14. 出租车收费管理系统(MyEclipse+Java)
  15. 小丁带你走进git世界一-git简单配置
  16. 用户正确使用趋势跟随的交易系统的方法
  17. 无线渗透----kismet工具使用
  18. 如何在群里引流?如何通过别人的群引流?建一个群怎么快速裂变引流
  19. 【英语系列】——2017年7月
  20. git常用命令-zqh

热门文章

  1. 如何在vc6,vc7,vc8下编译x264
  2. 魅族手机安装apk失败问题
  3. linux中字符串截取的八种方法
  4. 节日H5游戏案例赏析
  5. android 判断 手机 是否 打开 允许模拟位置 选项
  6. 杭漂两年,深漂两年,宇宙的尽头到底在哪儿
  7. RGB-D Salient Object Detection with Cross-Modality Modulation and Selection
  8. 有i标签i/i不能对齐
  9. Ant design pro常用(7):导出数据excel
  10. WLS2Linux 子系统(二)