看板 PCReDive 關於我們 聯絡資訊
※ 引述《phoenix286 (糰子大家族)》之銘言: : 本來也想算碎片抽的機率分布... : 但是獎勵碎片有五種結果(0,1,5,20,40) 就不是簡單的二項分布了 : 有人知道要怎麼算嗎? : : 推 smart0eddie: 不是啊 你可以算出每抽碎片期望值 這樣就能算抽數了? 03/26 00:32 : 這裡分兩種層面來看 : 1. 單純看碎片抽的期望抽數 : 簡單的估算是 期望抽數 = 145/每抽期望碎片 : 但是直接相除 好像還少考慮了什麼 你們的直覺其實是對的,真的要說少的話,只是少引了一個定理 Elementary renewal theorem https://en.wikipedia.org/wiki/Renewal_theory#Elementary_renewal_theorem 不過我想這個也不是我們感興趣的結果。 大家比較感興趣的是下面這個復刻池的期望抽數 : 2. 整個復刻池的期望抽數 : 這個需要結合兩個相依的機率分布 又更麻煩了 : → mathtsai: 回樓上 你要算上 抽or鍊成 這個要手算也太困難 03/26 00:35 現在的問題:如果我想把我老婆聖誕克莉絲從這次復刻池抽出來, 需要抽數的期望值是多少? 喔對了,這是個假設性問題。因為去年我婆卡池一開我就把她抽出來了 復刻池可以看成兩種獨立的池 (1) 抽人的池 (2) 抽碎片的池 抽人的池拿邊很簡單,跟一般PU池差不多,只是機率變成 p = 0.00175 碎片這邊比較複雜,先讓我們看有碎片的獎項: 獎項 碎片 機率 一等獎 40 p1 = 0.005 二等獎 20 p2 = 0.01 三等獎 5 p3 = 0.05 四等獎 1 p4 = 0.10 好,然後呢,讓我們定義兩個隨機變數 X,Y: X = 抽人的池,抽出克莉絲需要的抽數 Y = 抽碎片的池,抽到的碎片量達到145的抽數 最後呢,定義復刻池抽出克莉絲需要的抽數 Z: Z = min(X,Y) 反正就是哪個池先達到弄出一個克莉絲,就是我們需要的抽數 而上面那個問題其實就是在問 E[Z] 這邊呢,我跟大家介紹一個計算非負整數隨機變數期望值的公式 E[Z] = Σ P(Z > n) n=0 這個很方便喔 算這種抽抽問題也滿實用 然後呢: P(Z > n) = P(min(X,Y) > n) = P( X > n and Y > n) = P(X > n) P( Y > n ) (抽人池和抽碎片池是獨立池) X部分很好算,而且只有 n<300 的時候大於零 : P(X > n) = (1-p)^n n = 0~299 = 0 otherwise 所以: ∞ E[Z] = Σ P(Z > n) n=0 ∞ = Σ P(X > n) P(Y > n) n=0 299 <----- 不用算到無窮囉 耶! = Σ (1-p)^n P(Y > n) n=0 那 P(Y > n) 是多少呢? 我們定義四個隨機變數 N1(n),N2(n),N4(n),N4(n): N1(n): 抽碎片池的前n抽中,一等獎的個數 N2(n): 抽碎片池的前n抽中,二等獎的個數 N3(n): 抽碎片池的前n抽中,三等獎的個數 N4(n): 抽碎片池的前n抽中,四等獎的個數 P(Y>n) = P(碎片池前n抽碎片量不足以合成克莉絲) = P( 40*N1(n)+20*N2(n)+5*N3(n)+1*N4(n) ≦ 144 ) 我想板上佑樹普遍水準應該都不錯,下面這個自己應該算得出來 For any non-negative k1,k2,k3,k4 and k1+k2+k3+k4 <= n P( N1(n)=k1, N2(n)=k2, N3(n)=k3 , N4(n)=k4) = n!/(k1!k2!k3!k4!(n-k1-k2-k3-k4)!) * p1^k1 p2^k2 p3^k3 p4^k4 (1-p1-p2-p3-p4)^(n-k1-k2-k3-k4) 而 P( 40*N1(n)+20*N2(n)+10*N3(n)+1*N4(n) ≦ 144 ) = Σ P(N1(n)=k1, N2(n)=k2, N3(n)=k3 , N4(n)=k4) (k1,k2,k3,k4) in A(n) where A(n) = {(k1,k2,k3,k4) | k1,k2,k3,k4 >=0, k1+k2+k3+k4 <= n, 40*k1+20*k2+5*k3+1*k4 ≦ 144 } 所以這樣就可以算 E[Z] 了 我算出來是 E[Z] = 167.62 -- https://pbs.twimg.com/media/EwSsY_jVEAkCEgJ.jpg
角卷綿芽80萬訂閱紀念靠枕開始販賣! (開放購買至 4/19 下午 4:59) 購買連結: https://hololive.booth.pm/items/2808989 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 98.234.190.206 (美國) ※ 文章網址: https://www.ptt.cc/bbs/PCReDive/M.1616728289.A.3E2.html
c871111116: 恩恩 跟我想的差不多 就是這樣吧 03/26 11:12
fisheryu0514: 恩,我也這麼認為 03/26 11:14
JeffMnO4: 那就記168,公主連結一路發! 03/26 11:18
skbb2553: 不對啊 聖誕克總不能碎片合成 03/26 11:21
CorkiN: 嗯嗯跟我想的一樣 03/26 11:22
OscarShih: 我不是早就這樣子說了嗎 03/26 11:23
skbb2553: 不過Re0復刻角就可以這樣算了 03/26 11:24
frank79618: 我沒走錯版吧XD 03/26 11:44
passioncraig: 嗯嗯跟我想的一樣 03/26 11:47
v800982004: 我的答案跟小當家一樣 03/26 12:01
chun47: 嗯嗯 差不多就是這樣 03/26 12:03
pq5346929: 跟我想的一樣 03/26 12:04
gn005066: 恩恩 03/26 12:04
phoenix286: 三等獎是五片 應該是5×N3 03/26 12:10
你說得沒錯 我程式裡面寫對 上面打錯
smart0eddie: 嗯嗯跟我想的一樣 03/26 12:10
pearnidca: https://i.imgur.com/siFBtTD.jpg 03/26 12:12
sky79717: 嗯嗯嗯 就是這樣 03/26 12:12
g9591410: 大哥 我是文組 看無= = 03/26 12:15
phoenix286: P(min(X,Y) > n) P( X > n and Y > n) 03/26 12:21
phoenix286: 這行推導沒看懂 能解釋一下嗎? 03/26 12:21
phoenix286: P(min(X,Y) > n) = P( X > n and Y > n) 03/26 12:22
min(X,Y) 這個量就是取 X,Y 中比較小的值 所以 min(X,Y) > n 就等同於在說 X,Y 都大於 n
globalspirit: 嗯,跟我想得一樣 03/26 12:27
aegis91086: 感謝解析 03/26 12:41
v86861062: 奇怪的知識增加了 03/26 12:50
qaz0503: 你講的我都知道,可是我每次都保底是什麼回事 03/26 13:05
roc074: 原來如此,嗯嗯! 03/26 13:09
whiwhiwhi: 你算了這麼多 可是聖誕克總不能合成耶(X 03/26 13:10
reaturn: 日版不能合啊 XD 03/26 13:14
whiwhiwhi: 台版也不能啊 03/26 13:15
whiwhiwhi: 我說聖誕克總(X 03/26 13:15
喔 我其實不知道哪些可以哪些不行XD 不能碎片合成的話其實就跟一般PU池類似
whiwhiwhi: 台版就到泳真步 從萬華開始就不行 03/26 13:23
dustlike: 可是瑞凡 你婆已經不能人體鍊成惹 03/26 13:33
cjacky1026: 跟我想的一樣呢 03/26 13:57
mathtsai: 用程式跑就好惹 03/26 13:58
mathtsai: 而且程式跑出來和你算的不一樣@@ 03/26 14:00
我用蒙地卡羅跑出來的結果跟上面一樣喔 import random from numba import njit, prange p = 0.00175; p1 = 0.005; p2 = 0.01; p3 = 0.05; p4 = 0.1; P1 = 0 + p1; P2 = P1 + p2; P3 = P2 + p3; P4 = P3 + p4; @njit(parallel=True) def montecarlo(nSample): result = np.zeros(nSample); for i in prange(nSample): nDraw = 0; nShard = 0; while (nDraw < 300): nDraw +=1; if (random.random()<p): break pN = random.random(); if (pN < P1): nShard += 40; elif (pN<P2): nShard += 20; elif (pN<P3): nShard += 5; elif (pN < P4): nShard += 1; if (nShard >= 145): break result[i] = nDraw; return result N = 10000000 print(sum(montecarlo(N))/N)
andrewhanks: 我到底看了三... 03/26 14:06
OppOops: 定義的部分寫成"花費"的抽數好像比較容易懂 03/26 14:21
OppOops: 因為抽可以無限次, > n 的時候停下來, 事實上是反著加總 03/26 14:23
JJJZZs: 算錯了 你沒算到我是非洲人這個參數 03/26 14:34
whiwhiwhi: 對我來說只是300變200而已 03/26 14:40
xkiller1900: 學術論壇 03/26 14:54
shin30: 恩恩 跟我算得差不多 03/26 14:58
SatoTakeru: 公主連結是一款真正的數學遊戲 03/26 15:13
js850604: 你有考慮血統這個參數嗎 03/26 15:16
louis82828: 嗯嗯 跟我驗算的結果一樣 03/26 15:25
wfleowang: 這篇讓我想到以前修機率的時光...... 03/26 15:33
schula: 果然還是要做有興趣的事情才會比較有趣啊lol 03/26 15:53
r901700216: 除了供殺小 我不知道要講什麼 03/26 16:13
mathtsai: 寫法差不多 但是我是用C++ 03/26 16:18
mathtsai: 不過算出來怎麼差這麼多@@ 03/26 16:20
mathtsai: 上一篇h大也算出和我一樣的答案 03/26 16:21
harryron9: 他這個結果對的啊 0.0175 天井300 03/26 16:27
harryron9: 0.00175 03/26 16:28
Incredible99: 跟我算的一樣啊 03/26 16:32
mathtsai: 喔喔 他p取0.0175 那應該沒錯了XDD 03/26 16:35
mathtsai: 我改參數之後得到167.08 原po計算應該無誤 03/26 16:38
SuperSg: 嗯嗯嗯,我的意思就是這樣 03/26 17:26
nutta: 喔喔對耶就是這樣 03/26 17:40
Lupin97: 你忘了遊戲裡的佑樹是失智仔,而我現在也差不多=.= 03/26 19:04
OscarShih: 讀書有那麼認真就好惹 ( 03/26 19:35
felixr0123: 賺賺賺 03/26 19:37
epidemic000: 嗯嗯 就跟我想的一樣 03/26 21:02
phoenix286: 你這個算出來是理論值嗎?還是抽樣結果?(不大懂蒙地 03/27 00:05
phoenix286: 卡羅 03/27 00:05
這篇文章打的是理論值呀 萌帝卡蘿是模擬。我的code就貼在下面推文那邊
tw15: 我本來也是跟你想的一樣 但是我現在失智了大概你說得沒錯 03/27 00:05
phoenix286: 我是說那個167.62 03/27 00:57
那個是理論值啊 就上面文章寫的方式算出來的 ※ 編輯: arrenwu (98.234.190.206 美國), 03/27/2021 03:59:39
HYDE1986: 嗯嗯 跟我算的一樣 03/27 08:08
Sechslee: 好 看不懂 03/27 15:19
jasonwung: 嗯嗯 原來如此 03/27 17:08
ilovedaodao: 我覺得抽就對了,算這麼多結果還是保底結果旁邊朋友 03/28 11:01
ilovedaodao: 10抽中會吐血 03/28 11:01
kevin030899: 怎麼感覺以後可能在某間學校的期中考看到XD 03/28 23:35
ikusou174: 不錯給推 03/28 23:46