完成一件事需要5个步骤,第一步的成功率为90%,第二步的成功率为80%,第三步的成功率为50%,并且如果失败了,会有20%的几率回到第二步,第四步的成功率为10%,并且如果失败了,有20%的几率回到第三步.第五步的成功率为5%,如果失败会有

问题描述:

完成一件事需要5个步骤,第一步的成功率为90%,第二步的成功率为80%,第三步的成功率为50%,并且如果失败了,会有20%的几率回到第二步,第四步的成功率为10%,并且如果失败了,有20%的几率回到第三步.第五步的成功率为5%,如果失败会有30%的几率回到第四步.问,如果他尝试5000次,那么他成功的概率为多少?如果第四步到第五步失败了会增加经验,使下次的成功率在原来的基础上提高1%(上限100%),那么他尝试5000次的成功率又是多少?

这就是个马尔可夫过程呀.额。。。具体一些我就回答你的第1问吧。5000次实在太多太多了,5000次肯定是100%了。实际上,500次就已经是98.2%,而100次的成功概率是53.27%做法是这样(用matlab只是为了简便,不用分解特征值了):马尔可夫过程。题目中一共有5步,所以我们设置6个状态:s(0)、s(1)、……、s(5)。状态s(n)代表第n步已经成功。开始时,我们处在s(0)状态。写出状态转移矩阵P,其中P(n,k)代表从状态s(k)转移到状态s(n)的概率。用matlab写就是: P = [0.1 0 0 0 00;0.90.20.2 0 00; 00.80.30.2 00; 0 00.50.7 0.3 0; 0 0 00.10.650; 0 0 0 00.051];再写出初始向量:b = [ 1; 0; 0; 0; 0; 0]意思是:b(i)为开始时处于状态s(i)的概率。 P*b 就是尝试1次后,处于各个状态的概率。而 (P^n)*b 就是尝试n次后,处于各个状态的概率。 用matlab算就行了,500次的:P^500 * b结果: 00.00100.00410.01000.00290.9820所以,500次后处于状态s(5)的概率是 0.982100次的,P^100 * b结果:0.00000.02670.10580.25910.07580.5327 所以,100次后成功的概率是0.5327。===============================如果你想做第2问,那么需要很多状态:成功概率每提高1%,就需要一个新的状态。要用matlab算也很简单,不过……不提高成功率都这么高的概率了,提高之后更没问题了。