三门问题(Monty Hall problem)亦称为蒙提霍尔问题蒙特霍问题或蒙提霍尔悖论,也叫车羊问题,因为2008年的好莱坞电影《决胜21点》再次引发关注。
这个问题出自美国的电视游戏节目Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。
如果你已经知道答案,可以直接跳转到下面新思路部分。
游戏规则
- 参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车算是成功,另外两扇门后面则各藏有一只山羊,选中了得山羊算是失败。
- 当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊(主持人当然知道哪一扇门后面有汽车)。
- 主持人其后会问参赛者要不要换另一扇仍然关上的门。
问题是:换另一扇门会否增加参赛者赢得汽车的机率?
我们先空几行,大家认真思考一下,换,还是不换?换有没有意义?
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
如果是我,肯定会换,不是因为我知道换有什么好处,而是直觉告诉我,换没什么坏处,不是吗?——但这不是答案。
据说当时一位数学博士指出选择换将让获得汽车的概率翻倍,并洋洋洒洒写了4个专栏试图解释清这个事情。但他的解答遭到了公众的强烈反对,公众认为博士的解答完全违反了常识,是完全错误的。
——所以,如果你也认为换不换无所谓,那么也不用有任何心理压力。
概率论
概率的基本定义就是:
胜率=获胜的可能数/全部可能数
从这个出发,我们只要对比一下不换和换两种情况的胜率就可以知道结果了。
如果不换,那么就是随机三选一问题,每个门后面是汽车的可能性都是1/3。
如果换,那么就复杂一点:
- 开始选车门,主持人开了羊门A,选择换,得到羊门B。失败。
- 开始选羊门A,主持人开了羊门B,选择换,得到车门。成功。
- 开始选羊门B,主持人开了羊门A,选择换,得到车门。成功。
所以选择换的成功率是2/3,是不换(也就是第1个情况,1/3)的两倍。
你可以通过百度,在很多地方找到这个经典的解答方法。
但你有没有怀疑过它?
为什么没有第4种情况:
- 开始选车门,主持人开了羊门B,选择换,得到羊门A。失败。
如果这样,那么选择换的获胜可能就变成了1/2,要低于上面的2/3。
情况4其实是第一种情况的变体。但情况3也明显是2的变体啊,为什么就要计算?
事情并没有结束,为什么我们只考虑【车门-羊门A-羊门B】这个情况,而似乎没有考虑其他顺序,比如【羊门A-车门-羊门B】的情况?
这是三个门的问题,情况也不多,我们可以直接罗列一下,数数就知道概率。如果是5门8门256门怎么办?
这些问题大概都要好好学习概率论才能弄明白了。我学的不太好,至今没有完全想清楚,希望大家可以在下面留言一起讨论。
新思路
大家一定是来找答案的,而且要找到清晰简单透彻的答案,至少要比上面的经典解答要好的东西。
三门问题实际是一个会变化的概率的计算方法。概率的变化是整个世界运作的最基本表象。
我们先看极简的概率变化例子:
孩子把双手握着拳头藏在背后,让你猜唯一的糖果在左手还是右手里面。
我们都知道左手握着糖果的的概率是50%,右手也是50%,相加是100%。
不管你是否猜对甚至根本就没猜,这时候孩子把左手伸出来张开,是空的。那么请问,此时孩子右手握着糖果的概率是多少?
100%!
什么?你没感到惊讶吗?
刚才右手的概率还是50%,怎么突然变成100%了?难道还不够神奇吗?
如果你没感觉到神奇,那么你来解释一下为什么概率会突然增加了。
概率迁移
我不知道这个问题在概率论里面应该怎么描述或者求解。——因为我概率论确实学的不好,也正是因为这个,恰好让我可以用更普通的思路来谈论它。
我的观点是,在概率的定义范围内,各个对象或情况之间的概率是会迁移的。概率的迁移就是世界的未知和已知的转换过程。
比如上面的猜手里糖果的问题,概率的定义范围是两只手,每只50%概率,一旦其中一只空着的手打开,那么它就从未知变为已知,原本表示它不确定性的概率就会向其他未知对象迁移。我们可以从下面的公式看明白这个过程:
左手(已经张开,空)的概率减少50%,变为0%。
右手(还没张开,未知)的概率增加50%,变为100%。
双手相加仍然是100%,符合概率定义的范围内所有可能相加是100%的公理。
我们把问题推进那么一点点,比如说孩子有三只手(...就算是个基因突变的孩子吧),同样只有一颗糖握在其中一只手里面。我们猜中的概率就变为1/3。如果孩子三只手其中的一只张开,是空的,那么这只手原本的1/3概率将平均转移到另外两只手,每只有糖的概率就是1/2。
手A(张开,空)的概率减少1/3;
手B(未知)概率增加1/3的一半,即1/3+1/6=1/2;
手C(未知)概率增加1/3的一半,即1/3+1/6=1/2;
当我们把概率定义范围当做一个系统来考虑的时候,情况就清晰了。
三门问题的新解答
我们用概率迁移来思考这个三门问题就简单了。
开始选择之后,三个门都没有打开,所以有车的胜率都是1/3。
然后主持人在剩下的两个门中选择一个羊门打开,就仿佛孩子把藏在身后的两只手打开那个空着的手一样,被打开的门的概率会完全迁移到另外一个未知的门上,那个门的胜率一下子飙升到2/3。
可能还会有另外一个疑问,为什么打开的羊门的概率只会向另外一个未选的未知门迁移,而不是平均迁移给其他两个门(已选门+未选未知门)?
这个就是概率的定义范围问题了,因为主持人是从剩下的两个门中选择打开一个,这个定义范围并不包含已经被我们选择的那个,所以当然不会迁移过去。
两个未选的门的总概率是1/3+1/3=2/3;
我们把2/3当做一个整体来考虑,无论如何处理,这个2/3都不会变。
实际上,当主持人打开一个羊门(孩子张开一个空拳头)的时候,这个羊门的概率2/3x50%就会完全转移到另外一个未选未知门上,得到2/3x50%+2/3x50%=2/3这样的大概率。
换而言之,如果主持人是从三个门(包含你选的那个门)中选择一个羊门打开,那么问你剩下两个门选哪个交换,那么这时候不管选哪个门交换,你的胜率肯定是50%。这种情况,打开的羊门会把自身的1/3概率平均转移到两个未开门上。——实际这个玩法和直接给你一个羊门一个车门来猜是一毛一样的。
同样,我们也可以用这个思路去解决更加复杂的5门8门128门甚至选8次开9次等等问题。
三个囚犯问题
和三门问题相似的一个问题是三个囚犯问题:
1 有ABC三个死囚要被处决,但是其中有一个人会被赦免。
1 处决前A囚犯来问狱警,谁会被处死。
1 狱警说,我不可以透露关于你生死的事情,但是我可以告诉你BC中,B会被处死。
1 问题是,这时候A被赦免的概率有多大?C被赦免的概率又有多大。
这个问题的关键在于狱警并没有谈论到A的生死,所以,最后A的赦免概率不会变仍然是1/3,但B是死定了,赦免概率是0,那么按照整体系统概率是1的算法,C被赦免的概率是1-1/3=2/3。
但是矛盾分歧就在于狱警透露的信息是否真的无关A的生死呢?
有人认为A询问得知B被处死时候,A的赦免概率会增长为1/2,但这是不可能的,因为BC一定有一个被处死(也可能两个都死),换句话说,A问或者不问,狱警都可以从BC中说一个会处死,这是100%概率。
那么就是说,A问或者不问,根本对A自己的不确定性概率不产生影响,狱警讲话也可以完全不考虑A是否发问,因为狱警只关注BC,从里面选一个死的说出来。
——就是说,A这个门一开始就被狱警排除了,狱警只是在BC两个门中打开一个死门给A看。A是局外人。
而对于局内人C来说就不同,因为BC这个占2/3存活概率的系统中有50%变为已知(B死定),概率发生转移,C的存活概率直接提高到2/3x(50%+50%)=2/3。
当然,这个听起来有点不合常理,其实只是我们不习惯把BC当做一个子系统考虑。如果狱警只是随机从ABC中说出一个死的B,那么概率就会平均转移到AC,每人各1/2。这种玩法比较难操作:
- A要求狱警在三个纸条上写好每个人名字及生死,然后狱警把要处死的两个拿出来。
- 闭上眼两个选一个打开给A看。
- A看到纸条上写着:B处死。
- 这时候A的存活概率是1/2,C也是1/2。
注意到了吗,这个玩法A在不在场完全没有关系啊,狱警自己玩就够了。把三个纸条拿出一个死掉的,然后自己猜另外两个纸条的每个存活率。
认知建模
有同学问我,人是怎么学习的。我想可以这样讲,任何学习都是建模过程。
我们不停地试图对现实中遇到的各种情况建立因果模型,然后不断地用已经建立的因果模型来预测新的情况,然后再不断修正完善这个因果模型。
人类有个特殊的能力就是推理,简单说就是用模型建造模型的能力。比如说用数条数学公理推导出一大堆各式各样的数学定理。根据这个我把模型分为两类:
基础模型:基于现实的、基础的,公理性的、常识性的,无法用其他模型推导出的那些模型。
高级模型:无需现实参照就可以被基础模型直接推导出来的那些模型。
最简单的建模是建造图式(Pattern,翻译过来是模式、图案),比如我们的机器学习识别人脸,就是计算机试图把所有人脸图片统一成一个抽象的图案,用来指导“人脸”这个抽象概念的对应实体信息。
对于人类来说,好的模型就是易于理解的,也就是易于用基础模型推导证明的,当然最好就是用大家都知道的公理来推导的,因为公理是人类认知的最基础最根本的模型。
而不友好的模型则是推导过程复杂,或者使用大量高级模型来推导的,如果你还没知道其中的某个高级模型环节,那么这个推导就无法理解。
比如要搞机器学习,就要学一大堆的算法、定理、公式,什么贝叶斯,马尔科夫,blablabla...这些就是不够友好的模型,学起来比较乱比较难,需要好好梳理分类,拆分成比较简单一些的模型来学习。
相对来说,深度学习就好一些,因为它试图用神经网络解决几乎所有问题,而且神经网络自身的算法也几乎都是基于常识性的数学建立的。当然,神经网络也延伸出更多的高级模型CNN,RNN等等,要学好也是极难的。
薛定谔猫
可以百度到薛定谔猫的具体描述。
简单说,就是有个箱子,放了一只猫和一个足以杀死猫的厉害武器(核武器?),这个武器由一个量子来控制是否触发,由于量子的不确定性,所以可能触发了也可能没触发,也就是说箱子里的猫一直处于50%死亡50%存活的状态。
虽死犹生猫。
这种猫是不能存在的,我们常识认为盒子里的猫一定处于某种唯一的状态,要么死要么活。但量子力学认为这种不确定性的半死半活猫本身就是一种合理的状态,是世界的本质状态。
听起来就比较扯。但这是事实。
我们上面提到的概率迁移,也适合各种情况之间的转移(打开一瞬,存活状况概率消失,完全转移到死亡情况了)。但也只是解决开箱之后的情况,并不能干涉开箱之前。就仿佛在孩子张开一只手之前,我们脑海中的认知就是每只手都是50%有糖50%无糖的状态。
我相信,概率的变化是个很麻烦的事情,也是整个世界运作的根本,是个很值得玩味研究的有趣东西。
致力于让一切变得简单
如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~
END