《魷魚游戲》中【過玻璃橋】游戲的概率問題


 

這周在B站上看MIT的CS6.0001(作為一條計算機基礎菜狗,上這課真是大補。老師講的真得超好,強烈安利第六講,第十講到第十二講)。

今天還剩最后一講,狠狠獎勵自己(快樂地摸了摸魚),點開了《魷魚游戲》,開始回味第七集【過墊腳石橋】。

 

為了方便沒有看過該劇的讀者理解,在這里描述下游戲規則:

 

有16位選手要過一條玻璃橋。

玻璃橋由18組玻璃構成。每組玻璃由兩塊玻璃平行組成,1塊是鋼化玻璃,1塊是普通玻璃。

鋼化玻璃能承重,如果選手踩到鋼化玻璃可以繼續前行;但如果踩到普通玻璃,玻璃會碎掉,選手死亡。

選手按號碼依次前行,通過18組玻璃后算作存活。

 

玻璃橋直觀圖片:

 選手們如何過橋(放張沒那么血腥的):

 

比較有意思的是,劇里面的3號選手(是一個數學老師)發現前面還有15組玻璃時,絕望地說過橋的概率只有1/(2^15),因此不顧一切地飛奔(按照概率預想的gg了)。

 

由此我想到了一些相關問題:

【問題1】16位選手,在排除其他因素的情況下,期望能夠有多少人可以存活?

【問題2】每個人的期望生存概率是多少咧?

【問題3】直觀上感覺16號成奇勛(主角)肯定能活,是對的嗎?

 

作為一條菜狗,我當然沒有想到蒙特卡洛解法(為什么這么理直氣壯),老師說先從小問題算起,那就來個最基礎的problem吧。

 

墊腳石橋嘛,前面一個人幫后面的人探路。

最好情況,1號win the lottery,戰勝了1/(2^18)概率,帶領16個人全通關了。

最壞情況,前面的人都是倒霉蛋,全踩到普通玻璃做了墊腳石,因此16號奇勛同志前面還有3組玻璃,那么他有1/(2^3)【12.5%】的概率可以存活(運氣背起來也太背了……)。

 

下面考慮一種直觀情況。假設每個玩家都能通過一組玻璃,然后在第二組玻璃的時候領便當。

這種情況下每個人踩了別人之后,生存的概率是均等的,近似於生存的平均情況。

 

上個圖【取了劇中的配色,對比色能搭成這樣真得很好看!深粉色:#E54D91;深綠色:#004A46;淺粉色(excel自帶):#FFCCFF】

在這種情況下,有7個人可以到達橋對岸。

但我咋證明它確實是平均情況咧????

 

面向搜索引擎編程,啟動!

 

計算思維的本質是自動化+抽象。

看到概率問題,為什么不用蒙特卡洛算法呢?

看到概率問題,為什么不用蒙特卡洛算法呢?

看到概率問題,為什么不用蒙特卡洛算法呢?

模擬下真實情況就好了呀!!!(下面為大家播送大佬們的兩個帖子,寫得很詳細清晰)

 

計算最有可能通過的人數(java):https://www.cnblogs.com/bryan31/p/15420470.html

大佬模擬了1億次,得出存活7人的可能性最高。

 

計算每個人的生存概率(python):https://www.cnblogs.com/dingdangsunny/p/15435513.html

大佬模擬了100萬次,得到如下結論(圖源自上述地址):

 一般而言,16號奇勛同志真是穩贏啊!

 

所以今天真的有狠狠get到計算思維的魅力哈哈。

那么這個問題就這樣收尾啦(好草率的收尾),感覺這個問題很適合作為教學案例呢。

E54D91


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM