p***i 发帖数: 96 | 1 最简单的随机漫步,你现在有M块钱,每次赌博要么赢一块钱,要么输1块钱,输赢概率
是0.5,这是一个简单的随机漫步。。。
我想求一下在赌到第n次之前(包括第n次),我亏光M元钱的概率是多少?
比如说,我现在有10块钱,我想算一下赌到第20次之前(包括第20次)我会亏光10块钱的
概率。M=10,n=20,
这个解是什么?好像随机过程里没有写过。。。
谢谢!!!!!!!!!!! |
p***i 发帖数: 96 | 2 也就是说,不设上限的话,你早晚会亏光10块钱,概率是1。但是在20次之内亏光的概
率是多少呢?
谢谢! |
H****h 发帖数: 1037 | 3 记X(n)为第n次赌博之后的净收益。现在要计算min(X(k),1<=k<=20)<=-10的概率。
假设这个事件为E。如果E事件不发生,那么X(20)>=-8,所以X(21)>=-9。
如果E事件发生,那么从第一次亏光10元钱的时候往后计算,因为赌博是公平的,
所以X(21)大于-10和小于-10的概率都为一半。因为奇偶性,X(21)不可能为-10。
所以E事件发生的概率等于两倍X(21)小于-10的概率。后者可以用组合数计算。
【在 p***i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 最简单的随机漫步,你现在有M块钱,每次赌博要么赢一块钱,要么输1块钱,输赢概率 : 是0.5,这是一个简单的随机漫步。。。 : 我想求一下在赌到第n次之前(包括第n次),我亏光M元钱的概率是多少? : 比如说,我现在有10块钱,我想算一下赌到第20次之前(包括第20次)我会亏光10块钱的 : 概率。M=10,n=20, : 这个解是什么?好像随机过程里没有写过。。。 : 谢谢!!!!!!!!!!!
|
p***i 发帖数: 96 | 4 思路很简洁,厉害!
我再想想n为奇数时的情况,估计和m的奇偶性也有关吧,
那有没有统一的公式解呢? |
H****h 发帖数: 1037 | 5 这是标准的思路,用的是停时的思想。
【在 p***i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 思路很简洁,厉害! : 我再想想n为奇数时的情况,估计和m的奇偶性也有关吧, : 那有没有统一的公式解呢?
|
p***i 发帖数: 96 | 6 就是两倍的x(21)小于等于-11的概率。用binomial coefficient,
=2*F(5;21,0.5)=0.0266
对吧?
============================================
E事件发生的概率等于两倍X(21)小于-10的概率。后者可以用组合数计算。 |
p***i 发帖数: 96 | 7 可如果n=20,m=11,那就不好解了:
记X(n)为第n次赌博之后的净收益。现在要计算min(X(k),1<=k<=20)<=-11的概率。
假设这个事件为E。如果E事件不发生,那么X(20)>=-10,所以X(21)>=-11。
如果E事件发生,那么从第一次亏光11元钱的时候往后计算,因为赌博是公平的,所以X
(21)大于-11和小于-11的概率都为一半。因为奇偶性,X(21)也可能为-11。
所以E事件发生的概率等于。。。。。????????算不出来了。。。 |
p***i 发帖数: 96 | 8 上面的思路适合于n,m同奇同偶的情况,要是n,m一奇一偶呢?
health帮帮忙啊,谢谢! |
H****h 发帖数: 1037 | 9 那就看第20步之后的收益。
以X
【在 p***i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 可如果n=20,m=11,那就不好解了: : 记X(n)为第n次赌博之后的净收益。现在要计算min(X(k),1<=k<=20)<=-11的概率。 : 假设这个事件为E。如果E事件不发生,那么X(20)>=-10,所以X(21)>=-11。 : 如果E事件发生,那么从第一次亏光11元钱的时候往后计算,因为赌博是公平的,所以X : (21)大于-11和小于-11的概率都为一半。因为奇偶性,X(21)也可能为-11。 : 所以E事件发生的概率等于。。。。。????????算不出来了。。。
|
d*z 发帖数: 150 | |
|
|
d*z 发帖数: 150 | 11 数值计算结果对于楼主的问题概率为0.0000009536743,也就是约等于1E-6. |
d*z 发帖数: 150 | 12
#define MINV -10
#define MAXV 30
double prob[MAXV-MINV+1];
double tprob[MAXV-MINV+1];
int main()
{
int i,j;
prob[10-MINV]=1.0;
for(i=0;i<20;i++){
tprob[0]=prob[0];
for(j=1;j<=MAXV-MINV-1;j++){
tprob[j-1]+=prob[j]/2.0;
tprob[j+1]+=prob[j]/2.0;
}
tprob[MAXV-MINV-1]+=prob[MAXV-MINV]/2.0;
memcpy(prob,tprob,sizeof(tprob));
}
printf("%.13f\n",prob[0]);
}
【在 d*z 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 数值计算结果对于楼主的问题概率为0.0000009536743,也就是约等于1E-6.
|
p***i 发帖数: 96 | 13 没错啊,就是条件概率(E事件发生的时候)
我以前用monte carlo模拟算的结果还是0.01多一点呢。。。从直觉上来说1E-6也太小
了吧。。。程序有问题。。。
关键是现在我想要n,m一奇一偶的公式。。。health的回答我没想明白。怎么看20步之
后的收益? |
p***i 发帖数: 96 | 14 就是说,X(21)的可能值只能是奇数,
现在把X(21)的可能值分成两类,X(21)大于-10;和X(21)小于-10(因为不可能等于-10)。
而x(21)小于-10的情况一定是E发生了。而x(21)大于-10的情况里包括E事件发生和没发
生的,其中E发生的那部分的概率和x(21)小于-10的概率相同。
所以,结果是2倍的x(21)<-10的概率。 |
d*z 发帖数: 150 | 15 嗯前面程序弄错了,计算结果应该是0.0266036987305 |
d*z 发帖数: 150 | |
p***i 发帖数: 96 | 17 那n,m一奇一偶的解是什么?
duz能把你改过的程序再贴出来么? |
n******t 发帖数: 4406 | 18 No. It is a probability of both events happens.
Let M_n = min{S_k: 1<= k <= n}, then
P(M_n <= -b) = P(M_n <= -b; S_n > -b} +P {S_n <= -b}
But the first probabilty is just P(S_n < -b}
To be rigorous, this is based on a discrete version of
reflection principle, with stopping time T:=min{n>=0: S_n <= -b}.
【在 d*z 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 感觉不对呀。 : 这个是条件概率呀
|
n******t 发帖数: 4406 | 19 The solution has nothing to do with odd or even..
it's just P(S_n < -b) + P(S_n <= -b), just in some cases,
since P(S_n = -b) = 0, so it is 2*P(S_n < -b).
【在 p***i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 那n,m一奇一偶的解是什么? : duz能把你改过的程序再贴出来么?
|
p***i 发帖数: 96 | 20 smart!!! got it!
【在 n******t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : The solution has nothing to do with odd or even.. : it's just P(S_n < -b) + P(S_n <= -b), just in some cases, : since P(S_n = -b) = 0, so it is 2*P(S_n < -b).
|