正在为您加载破荒时刻...

插画

贝叶斯、1000次模拟:彻底搞懂三门问题

DeepSeek AI 摘要

这是个很出名的问题:

假设你正在参加一个游戏节目,你被要求在三扇门中选择一扇:其中一扇后面有一辆车;其余两扇后面则是山羊。你选择了一道门,假设是一号门,然后知道门后面有什么的主持人,开启了另一扇后面有山羊的门,假设是三号门。他然后问你:“你想选择二号门吗?”转换你的选择对你来说是一种优势吗?

从直觉上来看,几乎所有人都会觉得最后都是1/2的概率,没有区别,实则不然。

正好我们数学学到全概率和贝叶斯那块的时候,我们数学老师出的这个问题,用全概率和贝叶斯来解答。

用概率解决问题

1.设事件A=汽车在1号门,事件B=汽车在2号门,事件C=汽车在3号门,则P(A)=P(B)=P(C)=1/3。

2.设事件D=主持人打开了2号门

3.事件D的全概率

$$P(D) = P(D|A)P(A) + P(D|B)P(B) + P(D|C)P(C) = \frac{1}{2} \cdot \frac{1}{3} + 0 + \frac{1}{3} = \frac{1}{2}$$

4.贝叶斯

$$P(A|D) = \frac{P(D|A)P(A)}{P(D)} = \frac{1}{3}$$$$P(C|D) = \frac{P(D|C)P(C)}{P(D)} = \frac{2}{3}$$

5.结论:不换:1/3概率;换:2/3概率。

用频率估计概率

虽然用全概率和贝叶斯推导出了换的概率更大,但感觉还是有些反常识,那接下来模拟1000次来看一下实际情况,用频率来估计概率。

用Python编写一个小程序:

第一步:定义dictionary, value=[0, 0, 1] 第二步:随机在dictionary中选择1个元素标记为Q 第三步:在dictionary中找到没有标记为Q的元素,然后找出value=0的元素标记为N,剩余那个容器标记为V 第四步:记录Q和V的赋值情况 第五步:进行重复化操作,重复1000次,然后算Q的赋值总和及V的赋值总和。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import random

q_results = []
v_results = []

for i in range(1000):
    # 定义dictionary, value=[0, 0, 1]
    values = [0, 0, 1]
    random.shuffle(values)
    containers = {"A": values[0], "B": values[1], "C": values[2]}

    # 随机在dictionary中选择1个元素标记为Q
    Q_name = random.choice(["A", "B", "C"])
    Q_value = containers[Q_name]

    # 在dictionary中找剩余元素
    remaining = {}
    for name, val in containers.items():
        if name != Q_name:
            remaining[name] = val

    remaining_names = list(remaining.keys())

    # 找出value=0的元素,标记为N
    zero_containers = []
    for name in remaining_names:
        if remaining[name] == 0:
            zero_containers.append(name)

    N_name = random.choice(zero_containers)

    # 剩余那个标记为V
    for name in remaining_names:
        if name != N_name:
            V_value = remaining[name] 

    # 记录
    q_results.append(Q_value)
    v_results.append(V_value)

# 统计
Q_total = sum(q_results)
V_total = sum(v_results)

# 输出

print(f"Q赢了 {Q_total} 次,V赢了 {V_total} 次")

输出结果:

选择策略 命中概率 (理论值) 模拟命中次数 (n=1000) 实际概率
坚持初始选择 (Q) $1/3 \approx 33.3$ % 317 31.7 %
转换选择 (V) $2/3 \approx 66.7$ % 683 68.3 %

为什么会有直觉上的错误

我们主要忽视了一点:主持人并非随机开门,而是带着上帝视角排除干扰项。

当你选定一扇门后,1/3的概率在你手里,2/3的概率在剩下的两扇门里。

主持人帮你剔除掉剩下的门中那个错误的,相当于把你原本无法选择的2/3概率全部转移到了剩下的那一扇门上。

所以,换门本质上是用你手里的1/3换取了对面剩下的全部2/3。

这个其实很不好理解,大部分网上博主也是这种讲述方法,莫不如用贝叶斯好好算。


翻车现场

这个问题毕竟只是概率,当你模拟次数少的时候,有时很难体现。

我们数学老师还做了一个现场版的演示,它有事先准备的三个小盒子,里面分别装着1毛硬币,1毛硬币,5毛硬币,然后我们选的时候,换了,结果没换反而中了……


为啥这周更新这么勤:这周三(太阳节:金日成诞辰),我们学校接待朝鲜方面访问,所以不上课,改为周日上周三课,然后这周三实在太累了,就没更新,把两周更新内容都堆到这周了。

万物合鸣·独守一荒
共 35.55k 字 · 共 29 篇文章
本站已稳定运行 00 小时 00
载入旅行者一号距离信息...
AI Summary DeepSeek GitHub Hugo License Stack 萌ICP备 雾备 备案号 Umami Cloudflare Vercel Twikoo
not by ai boyouquan blogsclub blogsclub