看板FATE_GO
2022/12/10 11:32 更新:已排除了溢位問題,抽數設定無限大應該都可以正常運行
----------------------寫在前面----------------------
1. 本文含有大量數學算式,範圍涵蓋
條件機率、二項式定理等數學觀念。
若對數學有強烈過敏或排斥反應,建議
直接END看結論或是左轉離開。
2. 本文不含任何統計學觀念,完全只有機率。
3. 本文不考慮任何因抽卡玄學帶來的機率變動影響,也一概不討論玄學對機率之影響。
4. 文末提供之工作表在使用上很簡單,完全不知道這篇在講什麼也可以快樂(?)使用。
5. 本文忽略保底影響。
6. 本文為了計算方便,會將抽卡行為理想化,請自行斟酌下修實際機率。
----------------------------------------------------
大家好,無聊的數學家又來荼毒......分享一些有趣東西給大家了
這件事情本來是一個單純想法
「單抽中PU五星的機率是0.008,那是否1000抽就可期望抽中8隻PU五星?」
「實際上,
1000抽中8隻以上PU五星的機率有多少?」
對於一個無課/福袋課玩家而言,石頭是有限的。
一年從營運收到的免費石,可能是幾百~一千多抽的程度。
那麼無課玩家就會想知道:
以下問題將會一一解答,並提供計算機,大家可以自己算。
(不想看數學的可以END了)
----------------------------------------------------
一切問題從簡單的範例開始。
假如我們用一個紅白球箱子來模擬卡池。
箱子內有4個
紅球,1個
白球。
抽中紅球算中獎(真容易中獎),抽完球放回箱中。
那麼
抽中紅球機率=4/5=0.8,
抽中白球機率=1/5=0.2。
假如只抽1次,抽中紅球機率自然就是
0.8。
抽2次的話就開始有趣了,根據結果,會有四種情形:
P(
紅紅) =
0.8*
0.8 = 0.64
P(
紅白) =
0.8*
0.2 = 0.16
P(
白紅) =
0.2*
0.8 = 0.16
P(
白白) =
0.2*
0.2 = 0.04
當然 0.64 + 0.16 + 0.16 + 0.04 = 1。
抽中兩紅的機率,是P(
紅紅) = 0.64。
抽中兩白的機率,是P(
白白) = 0.04。
一紅一白的機率,是P(
紅白)+P(
白紅)=0.16+0.16=0.32。
由於抽中順序不影響其最終機率,所以通常會合併看待。
----------------------------------------------------
讓我們用另一種觀點來看待此事。
下面是一個簡單的算式:
(0.8+0.2)^2
我們當然知道這個答案是1,因為0.8+0.2=1,
且1不管自乘幾次,答案都是1。
但是我們假如直接展開算式,就可以發現與上面的紅白球機率對應:
(
0.8+
0.2)^2
=
0.8*
0.8 +
0.8*
0.2 +
0.2*
0.8 +
0.2*
0.2 = 1。
而(
0.8+
0.2)^3的機率,也正好與抽樣三次的情況對應:
(
0.8+
0.2)^3
=
0.8*
0.8*
0.8 +
0.8*
0.8*
0.2 +
0.8*
0.2*
0.8 +
0.8*
0.2*
0.2
+
0.2*
0.8*
0.8 +
0.2*
0.8*
0.2 +
0.2*
0.2*
0.8 +
0.2*
0.2*
0.2
= P(
紅紅紅) + P(
紅紅白) + P(
紅白紅) + P(
紅白白)
+ P(
白紅紅) + P(
白紅白) + P(
白白紅) + P(
白白白)
= 1。
於此可以類推,抽
1000次的機率分布可以由
(
0.8+
0.2)^
1000
展開得出。
可是單純展開仍然無法減少我們的工作,
所以到了本文另一主角:
二項式定理出場。
----------------------------------------------------
二項式定理
礙於數學公式不好在批踢踢上打出來,直接引用wiki截圖:
https://i.imgur.com/zmirw96.png
Ref: Wiki二項式定理條目
https://reurl.cc/10keeG
簡單用上面的例子類推
(
0.8+
0.2)^3
= *(
0.8)^3*(
0.2)^0
+ *(
0.8)^2*(
0.2)^1
+ *(
0.8)^1*(
0.2)^2
+ *(
0.8)^0*(
0.2)^3
= *(
0.8)^3
+ *(
0.8)^2*(
0.2)
+ *(
0.8)*(
0.2)^2
+ *(
0.2)^3
= *
P(三紅) + *
P(兩紅) + *
P(一紅) + *
P(無紅)
= 1。
那麼我們把中獎機率換成代數,當抽1000次時,就會變成
(不中+中)^1000
= *
P(不中) +
*
P(中一個) +
*
P(中兩個) +
*
P(中三個) +
... +
*
P(全中)
至此,準備工作完成。
----------------------------------------------------
回到原本問題
1000抽中8隻以上PU五星的機率有多少?
此機率可以看成
P(
1000抽中8隻以上PU五星)
= 1 - P(
1000抽中0~7隻PU五星)
= 1 - [ *
P(不中) +
*
P(中一個) +
*
P(中兩個) +
... +
*
P(中七個)]
至於 *
P(中N個) 怎麼算?
假如1000抽中1個,表示另外999次都不中
機率就是 *(
抽中)^1*(
不中)^999
中二就是 *(
抽中)^2*(
不中)^998
中三就是 *(
抽中)^3*(
不中)^997
...
以此類推。
完整算式列一下
P(
1000抽中8隻以上PU五星)
= 1 - P(
1000抽中0~7隻PU五星)
= 1 - [ *
P(不中) +
*
P(中一個) +
*
P(中兩個) +
*
P(中三個) +
*
P(中四個) +
*
P(中五個) +
*
P(中六個) +
*
P(中七個)]
= 1 - [ *(
抽中)^0*(
不中)^1000 +
*(
抽中)^1*(
不中)^999 +
*(
抽中)^2*(
不中)^998 +
*(
抽中)^3*(
不中)^997 +
*(
抽中)^4*(
不中)^996 +
*(
抽中)^5*(
不中)^995 +
*(
抽中)^6*(
不中)^994 +
*(
抽中)^7*(
不中)^993]
再把實際機率:
抽中=0.008,
不中=0.992 代入算式中
大功告成了,算式裡面已經沒有任何未知數了。
於是我們可以把以上過程編進Google工作表中,
然後填上中獎機率與抽數,得出想要的結果。
---------------END請回到這裡看結論---------------
於是乎,經由工作表的努力,得出的結果如下圖
https://i.imgur.com/8yQUp4g.png
查表可以得知 P(
1000抽中8隻以上PU五星) =
54.76%。
也就是說如果你的運氣是排名前54.76%的玩家,
你在任何卡池加總丟1000抽,可以得到8隻以上的PU五星。
(一半以上的玩家可以期待,1000抽中8隻以上PU五星呢)
如果連抽歪五星也想計入呢?把中獎率從0.008調成0.01即可。
另外這個表格也可以計算單個卡池的期望值
假如你想抽奧伯龍池,準備了200抽,
想知道這樣抽中寶1~5的機率有多少
把機率設為0.008,抽數設為200即可。
工作表如下,請自行另存副本/下載取用。
https://reurl.cc/7jbRk9
另外我的公式有寫活,如果覺得中10隻太少想計算更多隻,
選取最後一行往右拖拉即可。
----------------------寫在最後----------------------
1. 此表格有理想化的地方,
在於一年內玩家能領的石頭不是一開始就能領到,而是依時間增加的。
所以途中抽到一半沒石頭的情況,本表無法顧及。
但是判斷單個卡池的期望值不受此影響,可以放心使用。
2. 此表格可套用於其他遊戲卡池,如果該卡池的機率公正的話。
--
咳咳,放假心情不錯那來回應一下好了,怕真的有人相信
在討論機率的時候,我們是
不討論抽樣方式的
因為不同的抽樣方式會導致不同的機率結果
擅自想像賭場的出貨規則,也是許多賭徒賠得血本無歸的主要原因
沒有人會在絕望的情況下還加注,大輸特輸
賭徒會大輸特輸的原因,往往是因為他自以為掌握了賭場的潛規則
福本伸行的<賭博墮天錄>有很傳神的描述,推薦大家看看
(就是那個給開司一瓶啤酒的漫畫續篇啦,不清楚有沒有真人版)
所以上面那個說法除非拿拆包程式碼證據出來,不然我就當在雲了
----
而且這個說法如果為真,那就恐怖了
因為這邏輯等價於
抽後不放回的機率模型
每一抽的機率都在跳動,絕對不是表定的0.8%
(基本上如果有程式這樣寫,可以試著告告看遊戲公司XD)
然後取後不放回的卡池程式碼寫起來,比取後放回還麻煩
取後放回其實就直接套個多層亂數就好了,一條式子解決
取後不放回要構建一個鴿籠卡池,還要一段時間洗掉重建一個鴿籠卡池
大量的資料更迭也會造成系統多餘負擔,真的有工程師這樣寫,我倒想看看
----
另外一點是,就算此說法屬實,玩家也沒有較佳策略
因為營運仍然有許多方式可以解決此問題
首先你要保證,卡池的時間區段,是很現實可以操作的大小
如果時間區段1毫秒,那時間內玩家抽卡次數太少,
就算卡池是鴿籠,帶來的機率波動也小
1000個裡面有8個中獎但只有一個人抽,正好跟機率一樣
如果時間區段1個月,那所有人都在同一區段內抽卡
營運如果做個巨大鴿籠,比如1000億裡面有8億中獎
那就算1個月過去了有10萬個人中獎,對鴿籠的機率影響也是微乎其微
(8億-10萬)/(1000億-10萬) ~ 0.8% 一樣沒問題
所以假如營運調低換池時間週期,或是調高池的總量
都可以解決問題
用二十一點的說法,第一種就是玩一把就換一副牌,第二種就是用一百副牌的卡堆
都能有效的遏止玩家算牌,<決戰二十一點>也是老電影了啊
----
最後用個小小機率問題,說明何謂抽樣方法影響機率,來做個結論吧
這是一題經典題:
在一個圓內任意選一條弦,
這條弦的弦長,大於這個圓的內接等邊三角形的邊長的機率是多少?
這個問題根據不同的取樣方法,至少有三種以上的答案:
1. 在圓周上隨機選兩點,此兩點連成弦,機率是1/3。
2. 在圓內畫一條直徑,在直徑上選一個點畫垂直於直徑的線為弦,機率是1/2。
3. 在圓內選一點,畫出此點與圓心連線的垂直線為弦,機率是1/4。
這是著名的<伯特蘭悖論>,可以參見Wiki:
https://reurl.cc/6Lb4y6
如果看過葛登能(Martin Gardner)的著作,就會知道好玩的數學其實也是很多的
※ 批踢踢實業坊(ptt.cc), 來自: 49.216.235.245 (臺灣)※ 文章網址: https://www.ptt.cc/bbs/FATE_GO/M.1670523358.A.9D1.html
推 mindscold: 推一個認真研究數學 12/09 08:16
推 eret: 推 12/09 08:38
推 naideath: 推 12/09 09:35
推 howerd11: 反正還是會有傻X 說300抽保底不重要 12/09 09:35
→ howerd11: 根本用不到的蠢話 12/09 09:35
→ howerd11: 300抽沒有抽到當期五星 超級難巴拉巴拉 12/09 09:36
→ wcp59478: 我只抽3~20連 300保是啥 能吃嗎 12/09 10:21
推 dderfken: 傻的是你 他們只是知道自己的魔力不足 12/09 10:24
推 eric567: 昨天看某實況主各種歪,還是有保底比較好 12/09 11:16
推 noddle: 推 12/09 11:21
推 Fates: 推 不過歐洲人不在意這個的啦 他們比較cares玄學 12/09 11:21
推 allbs: 昨晚不就好狐 12/09 11:54
推 roy047: 推專業文 12/09 12:21
推 Luciel: 推推,我也是這麼想的 12/09 12:25
推 Brownsugar16: 推推 數學好文 12/09 12:35
推 tsining: 快推免得人家以為我看不懂(指考數甲9.5分報到 12/09 12:37
推 simrays: 自從看到巖窟王21單後,認清期望值終結是期望 12/09 13:08
推 jeffguoft: 手遊抽卡的機率是一段時間內出貨量/總量,外加函式調整 12/09 14:32
→ jeffguoft: 固定時間間隔去抽,或許才能得到你的結論 12/09 14:33
推 Mark40304: 樓上那個jeff是外掛仔 發言一直都怪怪的 12/09 21:21
推 Katoru: 可惡,快推!!不然會被人發現我統計學被當(x) 12/09 21:21
推 zipigi: 抱歉我就是400抽0五星的非洲人,保底對我來說還是需要的. 12/10 15:45
→ zipigi: .. 12/10 15:45
推 SSIKLO: 推一個,簡單易懂 12/11 10:40