魷魚遊戲的生存分析:用統計來破解過墊腳石橋

魷魚遊戲封面照 來源:網路
警告:本篇文章為了說明情境原理與規則,會有一些劇透的成分,可以看完魷魚遊戲之後再來看這篇文會更有感覺,也比較不會破壞觀影體驗。

緣起:隨機性太強會不會不公平?

魷魚遊戲劇照 來源:網路

最近NETFLIX的影劇「魷魚遊戲」非常火紅,故事圍繞著一個由六個子遊戲組成的競賽:456名背景各異但一樣債台高築的玩家,為了贏得456億韓元的獎金參加一系列兒童遊戲,但如果輸了就會有致命的後果。

我自己在上週用吃飯的時間看完了XD 其中有場遊戲是「過墊腳石橋」。看到一半的時候就覺得「ㄟ對普通人來說這個也太沒技術性了吧」,但轉念一想這其實就是一個經典的二項分配問題,隨機性(運氣)非常強烈。如果了解了這個運作過程,說不定就能夠增加玩家的生存機率,因此我們好奇的是:

  • 理論上這個遊戲可以存活下多少人?
  • 什麼狀況下可以偵測有「玻璃工人」的玩家存在隊伍之中?
  • 身為玩家應該如何活下來?

當然這個過程也有其他運用,舉例來說這個模式跟消費者的購買決策是類似的,我們可以模擬每一次的消費決策(買/不買),假設需求是強烈的(不是買自家產品就是買替代品),那麼就可以知道給定存量市場情況下不同進店順序對購買產品的影響,從而估計產品替代情況(假設買了其他產品(踩錯玻璃板)的人會告訴你不要買那個產品或者因爲拿掉替代品而讓你無法購買替代品(試錯), 後面的人就會傾向購買自家產品(踩對))。好比立頓推出新口味奶茶時可以藉此得知要把產品定位縮小到什麼Scope 並傳達產品特色,才會確實增加銷量。

什麼是過墊腳石橋?

在商業分析時我們必須先瞭解領域知識,因此先來複習一下「規則」。

來源:網路

在還沒有知道遊戲前,參加者要穿上自己選擇的順序衣服,遊戲進行時前方會有兩種選擇:「強化玻璃與普通玻璃」,選中強化玻璃就可以繼續前進,踩上普通玻璃便會跌下橋而淘汰。而衣服上的號碼就是過橋的次序。換言之,選到越後面的號碼就越幸運,因為前方參加者已試錯、選到對的路作為墊腳石,只要在時間內跳過去就能成功。

在墊腳石橋中, 這其實是一場博弈,玩家很難透過技術取勝(除了玻璃工人,這個在作弊者偵測的環節可以分析),因此在這個遊戲中選擇號碼就非常重要。

我們來填上遊戲規則的數字以建構機率模型

所有玩家選擇1到16之間的數字,然後他們將在限定時間內按照這個順序過橋。橋一共是18對玻璃組成,玩家需要從每排中挑選左邊或右邊的玻璃。如果他們選對了就可以往下走,否則就會摔下去成為輸家,因此要模擬這個過程的話,我們就需要瞭解以下的三件事情來建構數學模型:

每一次選擇都是隨機的
  1. 遊戲開始時,固定下每次前進的正確答案(一組隨機序列)
  2. 除了前一個玩家成為墊腳石的情況(成功試錯),每個玩家只能用猜測、摸索的方式前進,因此猜中一次的機率為0.5(左邊或者右邊),且單人在面臨不確定的玻璃板時,每次猜測(往前跳)互為獨立事件
  3. 前一個玩家的出錯結果會保證下一個人的成功(因為不是左邊就是右邊)

當然我們必須對遊戲做出一些假設,即使影劇中有人性因子使得以下假設不成立,但為了我們的模擬有必要讓模型保持以下三個前提:

  • 後一個人不會忘記前一個人正確的玻璃板,也就是說只要有人在前面試過這是正確的玻璃,那麼後面的人也會跟著踩正確的玻璃(但影劇中因為有人快速踩了好幾個玻璃片,讓後面的人忘記他踩的順序)
  • 除了遊戲規則隱含的相依性(試錯成為墊腳石),每個玩家的互動為獨立不相關的(但影劇中有人推人、不想走的狀況發生)
  • 每個玩家都可以在遊戲時間內跳完(但影劇中的時間壓造成了緊張感與人推人的狀況)

理論上這個遊戲可以存活下多少人?

接下來我們就要模擬「如果長期來看,把每一屆的魷魚遊戲結果統整起來,結果會接近什麼樣的狀況」來分析玩家生存的結果。

下圖為模擬兩屆魷魚遊戲的結果。在程式中我的設計是每一位玩家的出場都保證一定可以拿掉一塊玻璃版,因為任何人的出錯就會成為下一位玩家成功的「墊腳石」,因此我們在這個模擬問題中只要關注「猜對」的情況,每個玩家的每次移動都是新一輪選擇,所以會出現連續兩個編號的玩家總猜對次數為0的情況。

模擬兩次遊戲的結果,第一次有九個玩家生存下來,第二次只有七位

我們把遊戲模擬100000次,理論上來說這場比賽的結果是常態分佈的,而且會有約7個人可以存活下來,從分佈也可以看到這確保了兩種情況,讓遊戲可以達到篩選效果又不至於被迫中斷遊戲:

  • 不可能都存活(機率為0)
  • 不太可能完全沒有人過不了這一關(機率為0.001)
玩家生存分佈圖

接著我們可以分析不同玩家的順序與生存機率的關係,可以看到可怕的是前五名玩家的生存機率基本上不超過5%,但是12號後面的玩家基本上可以玩得很舒服,他們存活的機率都超過95%。還有一點是雖然大家常態性會選擇平均數,但這種情況下我們可以發現8號的生存機率是不到50%的,這相當於比前面彈珠遊戲(公平競爭的勝率為50%)勝率還要低,因此還是靠後一點的號碼會比較合適。

遊玩順序對生存率的影響

作弊者偵測

作弊者條件:了解整個遊戲的運作

倘若前一關吳一男存活下來並且參加了這個墊腳石橋遊戲,又或者玻璃工人自願告訴大家每一片玻璃的正確與否,我們在什麼情況下可以確立「這個人的遊玩方式是作弊呢?」

由於在遊戲中有456人有2人相當於符合作弊條件(吳一男與玻璃工人),因此我們將作弊的機率設定為2/456。如此一來可以用先驗知識(作弊理論上機率)與實際結果來分析當實際結果為什麼情況時他是作弊者。

轉化為數學式就是:假設他猜對N次,那麼作弊的機率為多少?

模擬情況

我們可以看到如果一個玩家猜對了11次,那麼我們有接近九成的把握他是作弊的人。

透過貝氏定理估計作弊機率

如何增加玩家的生存機率?

所以依照實際情況,主要有兩種策略可以增加玩家的生存機率:

  1. 進場前:選擇後面的號碼。如果能夠提前從牆壁上得知會玩的遊戲以及遊戲規則,就必須選擇後面的號碼,尤其是十二號開始的號碼,基本上這個時間點就確保了這場遊戲的勝利
  2. 進場後:說服其他玩家退出遊戲。假設在進入比賽場之後才知道遊戲玩法,作為前八號玩家的人可以去說服大家終止遊戲(按照遊戲規則,十六人中有過半同意支持即可),理論上從十六名玩家中得到八票支持是必然的,因為前八個號碼的玩家生存機率都不超過50%,但是對他們來說他們要付出的代價是扎扎實實的每一輪50%勝率,這顯然是不對稱的風險與報酬,就要看第九位玩家的賭徒性格是否強烈,是否願意相信6成勝率也能夠帶領他通過遊戲來決定

那麼以上,就是這次對魷魚遊戲的資料科學淺談,我們了解到如何運用統計玩好這種隨機性強的遊戲,並可以搭配其他規則與人性來更好掌握遊戲。

歡迎想學習Python資料科學、商業分析、金融知識的人一起交流!本部落格的內容全部都是基於「分享」的實作、理論兼顧文章,希望能夠幫助到所有對資料科學領域有興趣的人們,長期關注可按左手邊的Follow!若喜歡我在 Medium 的內容,可以拍個手(Claps)這邊想做個實驗,好讓我知道你/妳喜不喜歡這篇文章:
拍 10 下:簽個到,表示支持(謝謝鼓勵!)
拍 20 下:想要我多寫「商管相關」
拍 30 下:想要我多寫「資科相關」
拍 50 下:我有你這讀者寫這篇也心滿意足了!

敬請期待下一篇!或是您也可以逛逛我的其他資料科學文章,到我的主頁置頂文章獲得良好的目錄體驗。

Python資料科學系列:

如果想跟著我實作資料科學,開始寫程式必知必會基礎系列:

--

--

戴士翔 | Dennis Dai
Finformation當資料科學遇上財務金融

外商分析顧問,Ex- Apple Data Scientist,曾在FMCG巨頭/日商管顧/MBB管顧/高成長電商從事商業分析與數位轉型,專注分享管顧、商業、數據分析的思考。分析/演講/合作歡迎來信:dennis.dai.1011@gmail.com