游戏开发论坛

 找回密码
 ????
搜索
12
返回列表 发新帖
楼主: felghana

[求助] 问一下关于掉级强化的计算的问题

[复制链接]

8

主题

1801

帖子

3450

积分

论坛元老

Rank: 8Rank: 8

积分
3450
发表于 2014-12-10 16:57:04 | 显示全部楼层
felghana 发表于 2014-12-10 10:30
想了一下
失败之后,目标还是要升上去,消耗不是应该是1+a(n-1)+a(n)吗?
所以a(n)=1*p+(1-p)*(1+a(n-1)+ ...

只考虑【失败1次】的消耗
你说的那种,把【后面失败的消耗】都代进来了

0

主题

8

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2014-12-10 17:56:43 | 显示全部楼层
0到1消耗期望:N0=n0=1
1到2消耗期望:N1=n1*(1 / p)+(1 / p - 1 )*N0
前半部分为成功期望从1到2需要 M  次。后面为失败的M-1次需要重新从0到1
类推到3~4,然后把0~4加起来就可以了。
假设4到5消耗5个,概率依然0.2,那么期望消耗道具698个。
AS3.0 程序模拟:
var prob:Array=new Array();
prob[0]=1;
prob[1]=0.5;
prob[2]=0.25;
prob[3]=0.2;
prob[4]=0.2;
trace("概率为:\n"+prob[0]+"\t"+prob[1]+"\t"+prob[2]);
var num:Array=new Array();
num[0]=1;
num[1]=2;
num[2]=3;
num[3]=4;
num[4]=5;
trace("消耗为:\n"+num[0]+"\t"+num[1]+"\t");
var Max:int=5;
var cishu:int=90000;
var leiji:int=0;
for(var i:int=0;i<cishu;i++){
        leiji+=Jisuan();
}
trace("\n最终结果:"+leiji/cishu);


function Jisuan():int {
        var nowLev:int = 0;
        var res:int=0;
        while(nowLev<Max){

                res+=num[nowLev];

                var random:Number=Math.random()*1;


                if(random>prob[nowLev]){
                        if(nowLev>0) nowLev--;
                       
                } else nowLev++;
        }
        return res;
}

概率为:
1        0.5        0.25
消耗为:
1        2       

最终结果:695.5824111111111

0

主题

8

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2014-12-10 17:57:36 | 显示全部楼层
apple55bc 发表于 2014-12-10 17:56
0到1消耗期望:N0=n0=1
1到2消耗期望:N1=n1*(1 / p)+(1 / p - 1 )*N0
前半部分为成功期望从1到2需要 M  次 ...

第二次模拟:
概率为:
1        0.5        0.25
消耗为:
1        2       

最终结果:699.2992111111112

1

主题

15

帖子

724

积分

高级会员

Rank: 4

积分
724
 楼主| 发表于 2014-12-11 09:51:59 | 显示全部楼层
ab_946 发表于 2014-12-10 16:57
只考虑【失败1次】的消耗
你说的那种,把【后面失败的消耗】都代进来了 ...

懂了,谢谢啊

2

主题

46

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
QQ
发表于 2015-1-8 14:53:16 | 显示全部楼层
其实你可以换个思路,你这样是先设定好概率再去看消耗的期望,反而不好去确定期望是多少,只能调了概率看期望。期望实际上你要先定好,根据期望反推出每一级的升级概率。这样你只需调节你需要的期望达到预期,就可以生成概率表。之前的正面思路会让你的模型调节次数过多

1

主题

15

帖子

724

积分

高级会员

Rank: 4

积分
724
 楼主| 发表于 2015-1-9 09:12:41 | 显示全部楼层
半不癫 发表于 2015-1-8 14:53
其实你可以换个思路,你这样是先设定好概率再去看消耗的期望,反而不好去确定期望是多少,只能调了概率看期 ...

谢谢啊
的确现在根据概率调期望需要调整的次数较多

0

主题

27

帖子

870

积分

高级会员

Rank: 4

积分
870
发表于 2016-5-5 14:17:43 | 显示全部楼层
felghana 发表于 2014-12-11 09:51
懂了,谢谢啊

次数公式是要考虑失败不止一次的情况的,所以还是需要加上a(n)
您需要登录后才可以回帖 登录 | ????

本版积分规则

????|????|????|????|?????? ( ?ICP?17032699?-3 )

GMT+8, 2025-5-25 20:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表