糖果大战(听说用到Markov process!)

这是一个概率题,首先我们必须清楚我们要求的是什么!设f(i)表示Speakless有i颗糖果的时候赢的概率,我们要求的就是f(n)则根据题意我们知道,这时候:1.Speakless赢这一局的概率是p(1-q),即f(i)变成f(i+1)2.Speakless输这一局的概率是q(1-p),即f(i)变成f(i-1)3.Speakless平这一局的概率是1-p(1-q)-q(1-p),即f(i)变成f(i)因此:f(i) = p(1-q)*f(i+1) + q(1-p)*f(i-1) + (1-p(1-q)-q(1-p))*f(i)稍微变形:p(1-q)*(f(i+1)-f(i)) = q(1-p)*(f(i)-f(i-1))令g(i)=f(i)-f(i-1),则有p(1-q)*g(i) = q(1-p)g(i-1),即g(i)是等比数列,设k=q(1-p)/(p(1-q)),,则g(i) = k*g(i-1)g(1) = f(1)-f(0)g(2) = f(1)-f(0)…g(n) = f(n)-f(n-1)…g(n+m) = f(n+m)-f(n+m-1)将上面的各个等式相加的:g(1)+g(2)+…+g(n+m)=f(n+m)-f(0)=1g(1)+g(2)+…+g(n+m)=g(1)*(1-k^(n+m))/(1-k)g(1)+g(2)+…+g(n)=g(1)*(1-k^(n))/(1-k)回到开始定义,我们知道f(0)=0 (表示已经输了),f(n+m)=1(表示已经赢了)g(1)=f(1)-f(0)=f(1)因此g(1)+g(2)+…+g(n+m) = f(1)*(1-k^(n+m))/(1-k)=1……………………………………..(1)g(1)+g(2)+…+g(n) = f(1)*(1-k^(n))/(1-k)=f(n)……………………………………………(2)我们要求的就是f(n),在(2)式中,只要f(1)是未知的,因此需要更(1)先求出f(1).最终f(n)=(1-k^n)/(1-k^(m+n))需要注意的几个地方:N==0、M==0、p==0、q==0、p==q集中特殊情况!

愚者用肉体监视心灵,智者用心灵监视肉体

糖果大战(听说用到Markov process!)

相关文章:

你感兴趣的文章:

标签云: