作者wwfc (月老工讀生)
看板Math
標題Re: [機統] 面試被問到的機率問題
時間Fri Oct 24 15:56:28 2014
上文恕刪
"剛好"在第45下時打死魔王,
^^^^^^^^^^^^^^^^^^^^^^^^^
這句話相當於在第44下時要把魔王打得只剩下血皮,
第45下讓它趴在地上吃泥土,翻身看星星。
令 X_i 為每次攻擊時,魔王所減少的血量
已知 X_i ~ U(150,250)
n
定義 S_n =Σ X_i 即第n次攻擊時,魔王少掉的總血量
i=1
Pr{第n下剛好打死魔王} = Pr{S_n >= 10000, S_n-1 <10000}
上面這個機率式相當於考慮所有在第n下時魔王被打死的可能下,
扣掉勇者像常威一樣天生神力,
第n-1下甚至更早就打死來福…呃,我是說魔王,
所以需要扣掉Pr{第n-1下魔王已死}這種情形
Pr{第n-1下魔王已死} = Pr{S_n-1 >= 10000}
附帶一提,上面這個機率已經包含所有未到第n下就打死魔王的狀況
∴ Pr{S_n >= 10000, S_n-1 <10000}
= Pr{S_n >= 10000} - Pr{S_n-1 >= 10000}
用CLT,過程就不贅述了,算出來的機率是 1.207*10^(-7)
另外yh大提出來的那個比較複雜的式子,
小弟狗尾續貂補充一下,
Pr{S_n-1 < 10000 <= S_n} =
Pr{S_n-1 < 10000 <= S_n-1 + X_n} =
ΣPr{S_n-1 < 10000 <= S_n-1 + X_n | S_n-1}*Pr{S_n-1} =
ΣPr{ y < 10000 <= y + X_n | S_n-1 = y}*Pr{S_n-1 = y} =
ΣPr{ 0 < 10000 - y <= X_n | S_n-1 = y}*Pr{S_n-1 = y} =
ΣPr{ X_n >= 10000 - y | S_n-1 = y}*Pr{S_n-1 = y} =
又 X_n 與 S_n-1 獨立
ΣPr{ X_n >= 10000 - y }*Pr{S_n-1 = y} =
令S_n-1的pdf為h(y)
9850 250-(10000-y) 9999
∫ -------------*h(y)dy + ∫ 1*h(y)dy
9750 250 - 150 9851
^^^^^^^^^^^^^
後面這塊應該是yh大不小心漏掉了,
第n-1下時把魔王扁到剩1滴血,依舊滿足事件。
而且只要魔王第n-1下時剩餘血量小於等於150,
第n下基本上就是穩死的,所以條件機率為1。
會發現這塊是因為用R跑數值解的時候,
這兩個式子隨著n變大差距會越來越大,
附上數值1.1829*10^(-7)
最後,做個小模擬來驗證一下機率值,
只是大家也看到了,發生機率非常小,
至少要跑10000000次才有可能出現一次,
我的小筆電沒辦法這樣玩,
所以我把n改大一點,經過我實驗的結果,
n到48時,事件發生機率約2%,
這樣就不用做大次數的模擬,
設定模擬次數在1000000次,
method 1 : Pr{第48下剛好打死魔王} = 0.02153
method 2 : Pr{第48下剛好打死魔王} = 0.02136
simulation: Pr{第48下剛好打死魔王} = 0.02148
附上R code
https://dl.dropboxusercontent.com/u/12819044/R%20code/U45.R
有興趣的版眾可以下載看看,
說不定小弟有什麼地方程式寫錯了
請不吝指教,謝謝。
PS. 這邊跟wo大說聲抱歉,我誤解了你的意思,已修改內文,再次跟你道歉。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.73.54
※ 文章網址: http://www.ptt.cc/bbs/Math/M.1414137391.A.698.html
→ wohtp : 我不是說模擬啊,是暴力求精確值,小筆電應該也夠了 10/24 16:12
→ wwfc : 暴力求精確值,這個小弟就不知道了,懇請wo大賜教 10/24 16:14
※ 編輯: wwfc (114.35.73.54), 10/24/2014 16:24:38
→ wohtp : 其實本來還想說,用了連續變數近似以後,暴力法可能 10/24 17:02
→ wohtp : 可以用手做呢 XD 10/24 17:03