看板 Prob_Solve 關於我們 聯絡資訊
※ 引述《birdjack (啾啾啾)》之銘言: : 簡單講一下馬丁格爾法 : 就是假設在一個勝率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 : 先謝謝大神了 這算是整數分割的變形 假設有N個賽局 連續的勝或負的次數用數字表示 可以分割該N數為連加法 例如5次賽局分別為 勝負負勝勝 則為 1+2+2 勝首局時 則偶數項(連輸的次數)不能大於n-1 負首局時 則奇數項(連輸的次數)不能大於n-1 將上述兩種情況加起來即為存活的所有可能排列 反之 用2^N去減上述總和就是會輸的可能數 再除以2^N就是失敗機率 接下來就叫chatGPT去寫程式了 https://pastebin.com/AeSEYqBj 測試結果 請輸入N與n(用空格分隔): 5 4 存活可能數 14 + 15 = 29 失敗可能數 32 - 29 = 3 失敗率 3 / 32 = 0.09375 請輸入N與n(用空格分隔): 6 5 存活可能數 30 + 31 = 61 失敗可能數 64 - 61 = 3 失敗率 3 / 64 = 0.046875 請輸入N與n(用空格分隔): 7 6 存活可能數 62 + 63 = 125 失敗可能數 128 - 125 = 3 失敗率 3 / 128 = 0.0234375 請輸入N與n(用空格分隔): 12 11 存活可能數 2046 + 2047 = 4093 失敗可能數 4096 - 4093 = 3 失敗率 3 / 4096 = 0.000732421875 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.0.136 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1700901609.A.997.html