python汽车仿真_汽车山羊问题的分析以及Python和MATLAB仿真实验
汽車和山羊問題
題目的背景介紹:
現有三扇門,其中一扇門后是一輛車,另外兩扇門后是一頭山羊。
選手從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
總結
以上是生活随笔為你收集整理的python汽车仿真_汽车山羊问题的分析以及Python和MATLAB仿真实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java微信群自动回复_Java故事之路
- 下一篇: bitnamigitlab_100%可用