求助一个概率题
用宝石给装备升级,每次消耗一颗,成功率1/3装备初始1级,每成功升级一次加1级
升级失败变为1级
问:要把装备升级到10级,需要多少个宝石?
沙发……………………
好复杂………… 好像游戏的问题呢 不懂呀~~~~~~~~~~~~~~~ 貌似要用到递归啊 kao~~~又是那个打游戏打疯了~~~ 不是玩家考虑的问题,是数值策划考虑的问题。没人能做,是吧? 本帖最后由 liwenhui 于 2010-7-30 21:29 编辑
不知道如下的想法如何:
采用模特卡罗模拟,设宝石的级数用r表示,产生1个的均匀分布的随机数x,如果这个随机数x<=1,则代表升级成功,对应的r增加1,如果x>1,则表示升级失败,对应的r回到原始的1.采用MATLAB软件编制程序如下:
k1=1;
k2=0;
while k1<10;
pd=unifrnd(0,3);
if pd<=1;
k1=k1+1;
k2=k2+1;
else
k1=1;
k2=k2+1;
end
end
k2
其中输出的k2表示升级的次数。
由于成功与否是随机的,所以每次运行的结果不同。运行一次的结果:
k2 =
5884
也就是说可能需要5884次。当然这个数值没有实际意义,只是一次升级尝试用了5884次,如果“运气好”,也许9次就能升到10级,所以,单独的一次模拟式没有实际意义的,最好的方法是重复以上过程若干次,然后得到K2的期望。在以上程序中添加一个for语句,假设重复100次,得如下:
tot=0;
for m=1:100;
k1=1;
k2=0;
while k1<10;
pd=unifrnd(0,3);
if pd<=1;
k1=k1+1;
k2=k2+1;
else
k1=1;
k2=k2+1;
end
end
tot=tot+k2;
end
epec=tot/100
输出的epec表示100次运行后k2的均值,拿它作为k2的期望估计。这段程序虽然短,但是我的电脑运行不出来,你可以在你的电脑试试,看期望次数是多少。想得到更加准确的值,可以采用加大重复次数的方式,比如重复1000次,10000次。
以上是我的一点想法。
这几天又思考了一番,发现升级的次数的期望是个无穷大量,即有可能你永远也无法升级到10级。
我觉得这个问题已经解决,版主可以把这个帖子标称“已解决”了。
页:
[1]