作者andypb (A.D.)
看板PlayStation
標題[閒聊] 巴哈姆特PS5第三階數量推測
時間Fri Dec 4 23:16:17 2020
我猜光碟版150台,數位板70台。
官方似乎沒有公布總共多少人抽幾台購買資格,
但因為有公布機率和張數,在有資料點的情況下,也許有機會推測出來才對。
官方沒有說公布的機率是怎麼算出來的,
但想了一下之後有兩種可能,其中一種是真實機率,
抽到A之後,把A的總抽數扣掉再抽下一位,
抽到B之後,把B的總抽數扣掉再抽下一位,以此類推,直到抽完為止。
但感覺式子有夠複雜,所以我猜大概不會是這種算法,
另一種算法就簡單多了,就是用假設每一抽都是獨立事件,有點像是轉蛋機率的算法。
假設池子裡總共有 X 張抽獎卷,而你手中擁有360張,總共抽 n 台PS5,
那用獨立事件的機率來算,你360張都抽不到的機率p為:
X - 360 n
p = (---------)
X
因此360張內有可能被抽到的機率就會是 1 - p = 0.1714(官方數據)。
另外附註說明一下,這邊只是在討論官方的「公布機率」算法,不是真正的抽法。
絕對不是實際的機率。
接下來代入網友分享的張數與機率後,
你可以得到N個式子:
X - 360 n
0.1714 = 1 - (----------)
X
X - 160 n
0.0801 = 1 - (----------)
X
以此類推,然後就可以開始解聯立,求出總抽獎卷張數 X 和 n 台PS5 。
不過我數學底子不夠,所以看到次方就掛了,式子移來移去就卡住。
但沒關係,我可以用窮舉法把X 和 n 找出來,而且至少我還會寫點程式,
用 python 2 隨意把想法寫下來讓它跑
------------------------------------------------
error = 100
segment = 10.0
is_disk = True
score = {}
for i in range(1, 30000):
for j in range(1, 100):
total = i * segment
if (is_disk):
a = abs(0.8286 - ((total- 360.0) / total) ** j)
b = abs(0.9199 - ((total - 160.0) / total) ** j)
c = abs(0.9541 - ((total - 90.0) / total) ** j)
d = abs(0.973 - ((total - 40.0) / total) ** j)
e = abs(0.9896 - ((total - 20.0) / total) ** j)
else:
a = abs(0.7442 - ((total- 360.0) / total) ** j)
b = abs(0.8771 - ((total - 160.0) / total) ** j)
c = abs(0.9289 - ((total - 90.0) / total) ** j)
d = abs(0.9678 - ((total - 40.0) / total) ** j)
e = abs(0.9837 - ((total - 20.0) / total) ** j)
avg = (a+b+c+d+e) / 5.0
score[avg] = [i,j,avg,a,b,c,d]
if (avg < error):
error = avg
print(i,j,avg,a,b,c,d)
all_score = score.keys()
all_score.sort()
print('\\\\\\\\\\\\\\\\\\\\\\\\')
for i in range(10):
X = score[all_score[i]][0] * segment
n = score[all_score[i]][1]
p1 = 1 - (((X - 360.0) / X) ** n)
p2 = 1 - (((X - 160.0) / X) ** n)
p3 = 1 - (((X - 90.0) / X) ** n)
p4 = 1 - (((X - 40.0) / X) ** n)
p5 = 1 - (((X - 20.0) / X) ** n)
print('X: %f, n %f, p1 = %.02f%%, p2 = %.02f%%, p3 = %.02f%%, p4 = %.02f%%,
p5 = %.02f%%' %(X, n, p1 * 100, p2* 100, p3* 100, p4* 100, p5* 100))
---------------------------------------------------
區間是假設總抽獎卷數是10張 ~ 300000張,每10張代入一次,
假設PS5有1 ~ 200台,每台代入一次。
總共代入 30000 * 200 = 600萬次。
每次用5種張數算出中獎機率(360張、160、90、40、20),
與公布機率相減取絕對值算平均得到平均誤差,
接著列出誤差前10低的資料點來分析。
-----------------------------------------------------------
光碟版結果:
(誤差由小到大前10名,機率p1 - p5 為360張, 160, 90, 40, 20的機率)
X: 296960.000000, n: 155.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 293130.000000, n: 153.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 289300.000000, n: 151.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 268240.000000, n: 140.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 272070.000000, n: 142.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 275900.000000, n: 144.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 264410.000000, n: 138.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 285470.000000, n: 149.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 279730.000000, n: 146.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
X: 283560.000000, n: 148.000000,
p1 = 17.14%, p2 = 8.01%, p3 = 4.59%, p4 = 2.07%, p5 = 1.04%
----------------------------------------------------------------
數位版結果:
(誤差由小到大前10名,機率p1 - p5 為360張, 160, 90, 40, 20的機率)
X: 81820.000000, n: 67.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 73290.000000, n: 60.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 80600.000000, n: 66.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 83040.000000, n: 68.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 74510.000000, n: 61.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 89130.000000, n: 73.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 90350.000000, n: 74.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 72070.000000, n: 59.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 79380.000000, n: 65.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
X: 84260.000000, n: 69.000000,
p1 = 25.58%, p2 = 12.29%, p3 = 7.11%, p4 = 3.22%, p5 = 1.62%
----------------------------------------------------
結論是光碟版150台,總抽獎劵數26萬-30萬張
數位板60-70台,總抽獎卷數8萬張。
實際操作完之後,本來想說應該很接近正確的數字,
但實際上計算精度其實存在一些問題,如果想要代入1000台ps5跑跑看有沒有更佳解,
程式會直接報錯,因為次方太高已經難以處理了。
想要真正算必須要想更精確的演算法......
而且網友提供的資料點只要有一點誤差,算出來的答案就會完全不一樣,
所以算出來的答案似乎正確性也存在著疑慮......
不過文章都寫到這裡了,現在才臉紅把文章自刪我可辦不到。
所以本人對於計算結果不負任何責任。
以上。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.120.55 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PlayStation/M.1607094979.A.16C.html
推 woei8904: 嗯 原來是這樣啊 跟我想的差不多 12/04 23:19
推 hipposman: 嗯 沒走錯 這裡數學版 12/04 23:20
推 superRKO: 我是來打遊戲的 不是來學如何當碼農的(誤 12/04 23:20
推 busters0: 好 12/04 23:20
推 vickyboy: 嗯 跟我想的差不多 12/04 23:22
推 horseorange: 看了一下自己在哪個板 12/04 23:23
推 hyde318: 目前ps5除了po IG炫耀以外還能幹嘛? 12/04 23:25
推 amordelcor: 就我有 你没有 12/04 23:25
推 william456: 天選之人的秘訣就在於中籤 12/04 23:26
→ ksng1092: 不過遊戲轉蛋應該沒有"某角色只有N位,被抽掉就沒了"XD 12/04 23:36
推 diskdie7045: 太複雜了,對我來說只有0跟100兩個數字 12/04 23:40
推 eric820602: 太複雜了 只有中或沒中所以機率是50% (X 12/04 23:41
→ OscarShih: 看不懂 但和我想的應該差不多 12/04 23:44
推 schenkopp: 嗯嗯XDDDD 12/04 23:51
→ aoe7250350: 嗯嗯 跟我算得差不多 我也覺得是這樣 12/04 23:59
推 tsukasaxx: 原來如此~ 12/05 00:01
→ OscarShih: 如果是抽掉會減少獎項的話很難算 12/05 00:01
→ OscarShih: 還要考慮時間軸 12/05 00:02
只是抽掉會減少獎項很簡單,就我式子寫的那樣。
難的是同一個人不能被重複抽到,抽到之後他的抽獎卷會從池子裡移走。
我認為巴哈公布的機率應該會用簡單的方式來算,而不是真正的機率。
因為用程式寫真正的抽獎程式比起算真正的機率還簡單很多。
※ 編輯: andypb (111.241.120.55 臺灣), 12/05/2020 00:05:02
推 abdgmnzc: 嗯 看來又瘋了一個 12/05 00:17
推 k1314520illy: 快推 12/05 00:22
推 newyellow: 有趣給推XD 看來也是想到就立刻寫程式的朋友呢 12/05 00:22
→ newyellow: 雖然這個資訊也不是很有用就是了 哈哈 12/05 00:22
→ ShenMue: 要不要換一個寫法看看? 12/05 00:34
→ ShenMue: 如果巴哈那個是期望值 而不是機率? 12/05 00:34
→ ShenMue: 期望值 np 12/05 00:34
→ ShenMue: np = 0.1714, p= 360/X 12/05 00:35
你這個算法不用程式,直接聯立就能解了,然後沒法解
0.1714 X = 360 * n
0.0801 X = 160 * n
0.0459 X = 90 * n
0.1836X = 0.1714X
X = 0
※ 編輯: andypb (111.241.120.55 臺灣), 12/05/2020 00:45:41
推 zhahu: 看無 12/05 00:45
推 Kamikiri: 想起一年多前靠網路自學寫巨集的日子 (笑 12/05 00:49
推 smallksc: 樓上文組 12/05 00:51
→ arl: 看到一半以為自己在看程式碼 =.=? 12/05 01:27
推 lycmse55: 抽不到還要算數學 QQ 12/05 01:43
推 kazuya281: 嗯~所以下一次有幾台算的出來嗎? 12/05 01:46
推 parappa: 沒關係,我聯考數學滿分也是看不懂 12/05 03:30
推 jueda: end看結論了 12/05 04:20
推 raypu: 文章中間的部分都是亂碼可以修改一下 12/05 04:41
推 ldt1025: 中籤最大的秘密就是抽中的人贏;沒中的人輸 12/05 06:48
推 b258963147: 沒人想看程式碼 給結論就好== 12/05 07:28
推 iuiuisme: 中獎最大的秘密 有中就贏沒中就輸 12/05 07:32
推 smu0205: 有懶人包嗎? 12/05 07:37
推 aindo: 沒抽中,對我來講就是0 12/05 07:53
推 louis152334: 國考版嗎哈哈哈哈 12/05 08:04
推 derrick0727: 還好我有中 12/05 08:47
推 john60111: 怕人家說我看不懂,先推 12/05 08:54
推 john52795: 好像有點味道 12/05 09:20
→ basala5417: 我就知道會這樣 12/05 09:45
推 ciplu: 機率是機率 運氣是運氣阿 要不然早就中樂透了 12/05 10:46
推 han7788: 恩 跟我算得差不多 12/05 11:39
推 moboo: 又瘋了一個XD 12/05 12:17
推 j10017476: 跟我算的一樣 12/05 12:45
→ tommycty84: 跟我想的一樣 12/05 13:17
推 tony055454: 買個主機有這麼困難.. 12/05 13:42
→ everdark: 如果你要做機率連乘的數值運算,最好取對數。 12/05 13:46
推 louisxxiii: 這次一定 12/05 15:21
推 Makaay: 我還以為這裡是數學版呢 12/05 16:02
推 red722: 我看到算式就懂了 end 12/05 16:07
推 blackway0226: 跟我算的一樣 12/05 16:11
推 toaperion: 嗯嗯? 數學版? 反正對我而言就是買不到啊!!... 12/05 16:47
→ alie1003: 會不會等我買得到的時候,pro差不多出了醬 12/05 19:28
推 smarmot: pro如果 12/05 19:30
→ smarmot: pro如果剛出一樣搶不到,剛好買原版 12/05 19:30
推 poi96300: 那看起來台灣今年大概就是配到4000左右 12/06 07:55
→ leonjapan: 數學版教學活動 12/06 10:01
→ windwater14: 我以為我進錯版 12/07 08:09
→ rickjd2001: 472p幣~ 12/09 17:11