背景
最近,我和十岁的女儿玩经典的三枚贝壳游戏时,想到了蒙提霍尔问题。如果你需要复习一下,蒙提霍尔问题本质上就是三枚贝壳游戏,只不过略有不同:一个物体被放置在三个贝壳中的一个下方,玩家看不到它,然后玩家选择其中一个贝壳,希望它出现在其中。玩家做出选择后,会移除一个贝壳,该贝壳 a) 不是玩家选择的,并且 b) 也没有该物体。然后,玩家可以选择是坚持最初的选择,还是改为选择剩下的另一个贝壳。
这是一个引人入胜的思维实验,我们一起玩了一会儿,玩得很开心。幸运的是,我记不清改变选择是否是“正确”的做法,还是应该坚持最初的选择。我女儿以前没看过这个游戏,所以我们俩至少都还算比较客观。
玩了几轮之后,我们俩决定“科学一点”,看看能不能找到更常赢的方法。我们决定分别追踪坚持初始选择(10局中有4局获胜)和改变选择(10局中有6局获胜)的情况。然后,事情变得非常有趣,我们走到电脑前,打开JMP软件,做了一个模拟。我女儿知道我在JMP工作,但除此之外,她不太了解我的工作内容。
建立模型
我觉得这可能是一个让她学习使用 JMP 解决问题的好机会,所以我们一起创建了一个数据表来模拟游戏的每个步骤。我们一开始只用了 10 行数据表,为每个步骤创建了公式列。我们用面前的杯子测试(并改进)公式,期间经历了一些反复试验。看到女儿学习公式的速度如此之快,也让我感到很有趣。她甚至问我什么时候才能“在学校学习这类东西”,以及下一次“带孩子上班日”是什么时候。
我们设计的表格(如下图所示,并附在本条目中)相当简单。游戏过程中的每个步骤都反映在一个公式列中。前几列是简单的公式,随机选择物品所在的壳以及玩家选择的壳。

有些列的公式更复杂。例如,“删除哪个选项”列的公式更像是一个脚本,包含多个步骤才能得出结果。

最后两列反映根据坚持原始猜测或改变猜测而赢得游戏(1)或输掉游戏(0)。
模拟与学习
既然我们有了一个可以预测少数实验结果的模型,我们想运行大量实验来预测总体结果。这通常被称为蒙特卡洛方法。为了模拟许多不同实验的结果,我们只需在数据表中添加许多行即可。将表的行数改为 10,000 行后,我们很快在标题图中发现,切换是更好的策略。我们通过“分布”平台证实了这一点。

然而,切换策略的成功率竟然高达 66%,这着实让我大吃一惊。我的直觉告诉我,切换策略的成功率应该是 50%,而坚持第一个选择的成功率只有 33%。通常情况下,使用 Graph Builder 将问题可视化,有助于我更好地理解。最初的选择有 33% 的正确概率,而剩余两个壳的正确概率加起来为 66%。移除其中一个壳并不会改变这 66% 的概率,但它会将这 66% 的概率限制在一个壳上。

结论
总而言之,这既是一个有趣的机会,让我可以向女儿介绍一个有趣的话题,同时也满足了我的好奇心。我一直觉得 JMP 可以用来调查和解决问题的方式有很多种,这很有趣。你也有类似的有趣经历吗?如果有,请在评论区分享。
你没有提到蒙提霍尔问题和你的模型的一个关键假设。当一个贝壳被移除时,a) 它不是玩家选择的贝壳,b) 它里面也没有奖品,这些信息不足以解释66%的更换成功率。另一个关键因素是贝壳是如何被移除的。如果游戏主持人知道奖品在哪里,并且永远不会揭晓奖品,那么你的模型是正确的。但是,如果游戏主持人不知道奖品在哪里,只是随意猜测,结果却取出了一个空贝壳,那么剩下的两个贝壳各有50%的成功率,更换贝壳没有任何意义。需要注意的是,如果主持人不知道奖品在哪里,只是随意猜测,那么有33%的概率他会意外地、不幸地揭晓奖品。
蒙蒂·霍尔并非一个无知的游戏节目主持人,这是众所周知的。
感谢你的澄清, @stat_tom !我之前以为主持人应该很清楚奖品在哪里,以便移除没有奖品的 shell,但我明白这可能会让人感到困惑/不清楚。