※ 引述《StellaNe (凍結的大地)》之銘言:
: ※ 引述《yyhsiu (hsiu)》之銘言:
: : 大家好,以下是個擲骰子相關的問題。覺得有點難,想不出好辦法想請問大家
: : 擲(6面公平)骰子過程:不斷的丟,直到出現6就停止。
: : 問:在已知整個數列是遞增(可以等於)的情況下,數列的長度的期望值是多少?
: : ------------------------
: : 我很暴力 (加上程式模擬驗證) 的求出答案了,但感覺有比較漂亮的想法
: : 謝謝大家!
: 設數列長度期望值為x
: E(n):=當前一個骰子投出為n,之後繼續完成試驗的數列長度期望值
: e.g:E(6)=0,E(1)=x
: 先擲第一次骰子後,有六種可能
: 所以期望值為x=1+(1/6)*[E(1)+E(2)+E(3)+E(4)+E(5)+E(6)]
: 觀察E(5),當前一個骰子為5時,接下來完成試驗的可能情況為{6},{5,6},{5,5,6}...
: 若將另一個試驗定義為直到出現2就停止(需遞增),期望值記為E(1:2)
: 可能情況為{2},{1,2},{1,1,2}...
: 可與E(5)情況形成一對一且映成的對應,且發生機率一樣(可視為把骰子的5、6跟1、2對調)
: 所以E(5)=E(1:2)
: E(1:2)+E(2)=x (到2為止+從2開始到6為止)
: E(5)+E(2)=x
: 同理E(4)+E(3)=x
: x=1+(1/6)*[E(1)+E(2)+E(3)+E(4)+E(5)+E(6)]=1+(1/6)*3x=1+x/2
: x=2
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.70.72
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1547398538.A.F17.html
※ 編輯: Vulpix (61.230.70.72), 01/14/2019 04:35:08
雖然不太確定S大的作法有沒有怪怪的地方,沒空詳細做呢……
不過從機率上來跑遞迴是可以考慮的。
首先,overload function P (誤)
P(k,n) = P(首項=k 且 數列長度=n | 數列遞增到6為止)
那麼我們很容易就能知道 P(k,n) = Σ_{s=k}^{6} P(s,n-1)/6
但是此時要注意:n≧3
理由:P(k,n) = P(k=a_1≦a_2≦...<a_n=6 | 數列遞增到6為止)
RHS 必須要 n≧3,寫法才是一致的。
P(k,2) = P(k=a_1<a_2=6 | 數列遞增到6為止) 沒有「≦」。
P(k,1) = P(k=a_1=6 | 數列遞增到6為止) 連「<」都沒了。
所以 P(1,1)=P(2,1)=...=P(5,1)=0, P(6,1)=(5/6)^5
^^^^^^^^^^^^^^
這項意外得很漂亮,但我沒想到解釋。
還有 P(1,2)=P(2,2)=...=P(5,2)=5^5/6^6, P(6,2)=0
然後就可以開始遞迴了,解出來的答案跟我上一篇是一樣的。
反正只是6階(全1/6的上三角)矩陣的乘冪,小意思,吧。
最後要算的是 Σ_{k=1}^{6} Σ_{n=1}^{∞} nP(k,n) = 2。
(自己沒算,交給Excel了,到n=18為止,絕對誤差約7E-10,與預測一致。)