汽車和山羊問題
題目的背景介紹:
現有三扇門,其中一扇門后是一輛車,另外兩扇門后是一頭山羊。
選手從1,2,3號三扇門中選出一扇(僅標記,不打開),接着主持人再從未標記的兩扇門中選出一扇打開。
主持人知道每扇門后放的是什么,所以每次主持人都選擇后面是羊的那扇門打開。
選手有一次改變自己選擇的機會。
最后,打開選手最終選中的那扇門,以選手最終選擇的是車為獲勝。
請問選手是否需要改變選擇?
汽車和山羊問題求解
一、對該問題的枚舉分析
| 是否更換 | 選擇幾號門 | 如果車在一號門后 | 如果車在二號門后 | 如果車在三號門后 |
|---|---|---|---|---|
| # 不換 | 一號 | \(√\) | \(×\) | \(×\) |
| 二號 | \(×\) | \(√\) | \(×\) | |
| 三號 | \(×\) | \(×\) | \(√\) | |
| # 換 | 一號 | \(×\) | \(√\) | \(√\) |
| 二號 | \(√\) | \(×\) | \(√\) | |
| 三號 | \(√\) | \(√\) | \(×\) |
令更換選擇且成功為事件A,不更換選擇且成功為事件B,那么顯然我們可以得出二者的概率為:
\[P(A)=\frac{1}{3}\quad\quad\quad P(B)=\frac{2}{3} \]
二、對該問題的條件概率概率分析
令更換選擇為事件A,不更換選擇為事件B,顯然
\[P(A)=P(B)=\frac{1}{2} \]
1. 如果沒有更換選擇
車在一、二、三號門后分別為事件a、b、c,則
\[P(a)=P(b)=P(c)=\frac{1}{3} \]
令選擇一、二、三號門分別為事件1,2,3,則
\[P(1)=P(2)=P(3)=\frac{1}{3} \]
那么顯然沒有更換選擇且成功的概率設為\(P(\alpha)\)就是
\[P(\alpha)=P(1\cap a)+P(2\cap b)+P(3\cap c)=1/9+1/9+1/9=1/3 \]
故\(P(\alpha)=1/3\)
2. 如果更換了選擇
顯然我們可知如果更換選擇,那么如果剛開始選的是對的則最后是錯的,剛開始選的是錯的則最后是對的
車在一、二、三號門后分別仍設為事件a、b、c,則
\[P(a)=P(b)=P(c)=\frac{1}{3} \]
令選擇一、二、三號門也分別為事件1,2,3,則
\[P(1)=P(2)=P(3)=\frac{1}{3} \]
那么顯然更換選擇且成功的概率設為\(P(\beta)\)就是
\[P(\beta)=P(2\cap a)+P(3\cap a)+P(1\cap b)+P(3\cap b)+P(1\cap c)+P(2\cap c)\\ =1/9+1/9+1/9+1/9+1/9+1/9=2/3 \]
故\(P(\beta)=2/3\)
三、基於\(MATLAB\)的模擬實驗
先用\(Python\)做了模擬實驗
from random import*
TIMES = 10000
nochange=0 #初始化不改選擇的次數
change=0 #初始化更改選擇的次數
for i in range(TIMES):
Door=randint(0,2) #汽車在哪個門
guess=randint(0,2) #我的選擇是哪個門
if Door==guess: #猜對了
nochange+=1 #不改選擇的次數+1
else:
change+=1 #更改選擇的次數+1
print("不改選擇:{}".format(nochange/TIMES))
print("更改選擇:{}".format(change/TIMES))
# 以下為測試數據
# 不改選擇:0.332 更改選擇:0.668
# 不改選擇:0.3283 更改選擇:0.6717
# 不改選擇:0.331 更改選擇:0.669
# 不改選擇:0.3308 更改選擇:0.6692
# 不改選擇:0.3369 更改選擇:0.6631
可以看到模擬實驗的頻率都穩定在上述分析得出的理論概率附近
另用\(MATLAB\)也做了模擬
n = 100000; %%n代表隨機次數
nochange = 0; %%不改變選擇
change = 0; %%改變選擇
for i= 1 : n %%車在哪個門后
x = randi([1,3],1);
y = randi([1,3],1); %%我的選擇哪個門
if x == y %%選對了
nochange = nochange + 1; %%不改選擇的次數+1
end
if x ~= y %%選錯了
change = change + 1; %%更改選擇的次數+1
end
end
disp(nochange/n); %%輸出不改變選擇時的獲獎概率
disp(change/n); %%輸出改變選擇時的獲獎概率
%%以下為測試數據
%%不改變0.3342 改變0.6658
%%不改變0.3286 改變0.6714
%%不改變0.3351 改變0.6649
