积分的比赛次数期望

时间:2022-12-07 15:03:57

初始积分为0, 每次比赛有50%的概率胜利或者失败, 如果胜利, 积分加1, 如果失败则积分减一(积分为0则不减).

问要使得积分到达5, 需要比赛的次数的数学期望是多少?


假设积分为x需要的场数的数学期望, 用f(x)表示,
所求是 f(5) = ?
显然 f(0) = 0
由于胜率为50%,所以
f(1) = 1.0/0.5 = 2
当已经积分x, 要积分x+1, 则需要再比赛一场, 有50%概率胜利, 另外50%会回到x-1
所以
f(x+1) = f(x)+1 + (f(x+1) - f(x-1)) * 0.5
​得到:
f(x+1) = 2*f(x)-f(x-1) + 2
f(x+1) - f(x) = f(x)-f(x-1)+2
f(x)=f(x-1)+2*x
f(x) = x*(x+1)

所以
f(5) = 30


验证用的js程序片段:

function randtimes(N){
var total = 0;
var times = 0;
while(total < N){
times++;
var r = Math.random();
if(r < 0.5){
total ++;
} else if(total > 0){
total--;
}
}

return times;
}

function avg(M, N){
var totaltimes = 0;
for(var i=0; i<N; i++){
totaltimes += randtimes(M);
}

return totaltimes/N;
}

console.log("N=" + avg(5, 1000));