看板 Prob_Solve 關於我們 聯絡資訊
簡單講一下馬丁格爾法 就是假設在一個勝率50%的壓大小的賭局中, 每輸一次就加倍前一次的下注,贏了就重置回1個籌碼 這樣本金如果切成(2^n)-1就可以玩n次, 問題是想要求在N個賽局中遇到連輸n次的機率 (也等於 1 - N個賽局從沒遇過連續輸n次的機率 ) 網路上大概找了一下得到的公式如下: 1 - [ 1 - (0.5)^n ] x [ 1 - 0.5 x (0.5)^n ]^(N-n) 但是簡單套入N=6,n=5就錯了 我是想這個問題應該等同在N個有序位置排黑白球的問題 求的就是N個位置至少有一組連續相鄰n個白球的機率 (或是說 1 - N個位置中沒半組相連n個白球的機率) 而當N-n=1(即黑球個數<=1)的時候這個問題應該蠻簡單的,N>=2時答案都是3 1顆黑球→2種可能 (放第一或放最後) 0顆黑球→1種可能 (全部白球) 我都是用這個來驗證公式最快。 那麼我自己有導出一個遞迴式如下: P(N,n)是在總共N個賽局中遇到至少一組n個相連白球的機率 其中還分三種情形: P(N,n)=0 | N < n P(N,n)=(0.5)^n | N = n P(N,n)=(1/2)^n+for(i=0,i<n,i++){(1/2)^(n-i)*P(N-n+i,n)} | N > n 圖: https://imgur.com/7bH7b4u.jpg
基本上這個我有轉成matlab去跑程式,數字小是能跑,太大就爆了 目前也都跟自己自幹的答案一樣 想問有沒有誰能把這個遞迴改成通式? 嘗試過在code那邊用迭代法修改,不過對我來說難度太高 如果有誰給能出通式,並且驗證過後我會給他稅後3000P當酬勞(?) 如果n設為6~10之類的定值,以此為出發給出通式則是1000P 先謝謝大神了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.46.211 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1679026710.A.022.html
Chikei: 用馬可夫鍊算,n+1個狀態對應0~連輸n次,from/to就是單純 03/17 13:44
Chikei: 的i->i+1是0.5,i->0也是0.5,迭代N次就有機率了 03/17 13:45
謝謝您給我方向,我再去摸索摸索
yhliu: 感覺那遞迴式怪怪的:n=1時,P(N,1)=1/2+1/2 P(N,1)? 03/18 09:36
您可能漏看了 代入n=1時應該是 P(N,1)= 1/2 + 1/2 P(N-1,1) ●→ 1/2 + ○●→ 1/2*1/2 + ○○●→ 1/2*1/2*1/2 + ○○○●→ 1/2*1/2*1/2*1/2 + ...
yhliu: 應是 P(N,n)=1/2^n+sum(k=1~n)(1/2^k)P(N-k,n) 03/18 09:54
※ 編輯: birdjack (123.195.46.211 臺灣), 03/19/2023 14:39:50
seanwu: 你只是需要dynamic programming而已,不需要通式 03/26 18:20