作者birdjack (啾啾啾)
看板Prob_Solve
标题[问题] 马丁格尔法的机率问题
时间Fri Mar 17 12:18:28 2023
简单讲一下马丁格尔法
就是假设在一个胜率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://webptt.com/cn.aspx?n=bbs/Prob_Solve/M.1679026710.A.022.html
1F:→ Chikei: 用马可夫链算,n+1个状态对应0~连输n次,from/to就是单纯 03/17 13:44
2F:→ Chikei: 的i->i+1是0.5,i->0也是0.5,迭代N次就有机率了 03/17 13:45
谢谢您给我方向,我再去摸索摸索
3F:→ 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
+
...
4F:→ 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
5F:推 seanwu: 你只是需要dynamic programming而已,不需要通式 03/26 18:20