欢迎光临散文网 会员登陆 & 注册

Mika伤害

2023-09-12 15:05 作者:Baobhan_Sith  | 我要投稿

关于夏莱DB计算器中, 所计算的mika平均伤害有没有每段分别计算衰减, 可以直接下一个定论: 夏莱DB计算了每段的衰减, 所以此数据可以直接使用. 

关于如何计算mika均伤

如果使用蒙特卡洛实验来计算均伤是对计算资源的浪费, 因为这里可以直接利用全期望公式解析地算出均伤.

假如使用11项的数列a来表示mika每段伤害

a_n%2C%20n%3D1%2C2%2C3%2C...%2C11%0A%0A

众所周知, mika有11段, 其中前十段基础伤害浮动最低为a, 最高为b, 而第11段浮动最低为10a, 最高为10b, 那么可以列出伤害的递推式

%5Cfrac%7Ba_1%7D%7B1%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D%7D%7B%5Cmathrm%7BtotalHP%7D%7D%7D%5Csim%20U%5Cleft(%20a%2Cb%20%5Cright)%20%0A

%5Cfrac%7Ba_2%7D%7B1%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D-a_1%7D%7B%5Cmathrm%7BtotalHP%7D%7D%7D%5Csim%20U%5Cleft(%20a%2Cb%20%5Cright)%20%0A

...

%5Cfrac%7Ba_n%7D%7B1%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D-%5Cleft(%20a_1%2B...%2Ba_%7Bn-1%7D%20%5Cright)%7D%7B%5Cmathrm%7BtotalHP%7D%7D%7D%5Csim%20U%5Cleft(%20a%2Cb%20%5Cright)%20%0A

...

%5Cfrac%7Ba_%7B10%7D%7D%7B1%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D-%5Cleft(%20a_1%2B...%2Ba_9%20%5Cright)%7D%7B%5Cmathrm%7BtotalHP%7D%7D%7D%5Csim%20U%5Cleft(%20a%2Cb%20%5Cright)%20%0A

%5Cfrac%7Ba_%7B11%7D%7D%7B1%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D-%5Cleft(%20a_1%2B...%2Ba_%7B10%7D%20%5Cright)%7D%7B%5Cmathrm%7BtotalHP%7D%7D%7D%5Csim%20U%5Cleft(%2010a%2C10b%20%5Cright)%20%0A

我们想求的是11段总伤的期望, 也就是

%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_%7B10%7D%2Ba_%7B11%7D%20%5Cright)%20%0A

使用全期望公式, 并记 %5Cmu%20_0%3D%5Cfrac%7Ba%2Bb%7D%7B2%7D%0A , 可以得到

%3D%5Cmathrm%7BE%7D%5Cleft(%20%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_%7B10%7D%2Ba_%7B11%7D%7Ca_1%2Ba_2%2B...%2Ba_%7B10%7D%20%5Cright)%20%5Cright)%20%0A

%3D%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_%7B10%7D%2B%5Cleft(%201%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D-%5Cleft(%20a_1%2B...%2Ba_%7B10%7D%20%5Cright)%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cleft(%205a%2B5b%20%5Cright)%20%5Cright)%20%0A

%3D%5Cleft(%201%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%2010%5Cmu%20_0%2B%5Cleft(%201-%5Cfrac%7B10%5Cmu%20_0%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_%7B10%7D%20%5Cright)%20%0A

这启发我们可以通过找递推关系来计算:

%5Cmathrm%7BE%7D_n%3D%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_n%20%5Cright)%20%0A

%3D%5Cmathrm%7BE%7D%5Cleft(%20%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_n%7Ca_1%2Ba_2%2B...%2Ba_%7Bn-1%7D%20%5Cright)%20%5Cright)%20%0A

%3D%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_%7Bn-1%7D%2B%5Cleft(%201%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D-%5Cleft(%20a_1%2B...%2Ba_%7Bn-1%7D%20%5Cright)%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cmu%20_0%20%5Cright)%20%0A

%3D%5Cleft(%201%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cmu%20_0%2B%5Cleft(%201-%5Cfrac%7B%5Cmu%20_0%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_%7Bn-1%7D%20%5Cright)%20%0A

%3D%5Cleft(%201%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cmu%20_0%2B%5Cleft(%201-%5Cfrac%7B%5Cmu%20_0%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cmathrm%7BE%7D_%7Bn-1%7D%0A

%5Cmathrm%7BE%7D_1%3D%5Cmathrm%7BE%7D%5Cleft(%20a_1%20%5Cright)%20%3D%5Cleft(%201%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cmu%20_0%0A

容易算出数列通项为

%5Cmathrm%7BE%7D_n%3D%5Cleft(%20%5Cmathrm%7BtotalHP%7D%2B%5Cmathrm%7BcurrentHP%7D%20%5Cright)%20%5Cleft(%201-%5Cleft(%201-%5Cfrac%7B%5Cmu%20_0%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5En%20%5Cright)%20%0A

代回第十一项的递推关系

%5Cmathrm%7BE%7D%5Cleft(%20a_1%2Ba_2%2B...%2Ba_%7B10%7D%2Ba_%7B11%7D%20%5Cright)%20%3D%5Cleft(%201%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%2010%5Cmu%20_0%2B%5Cleft(%201-%5Cfrac%7B10%5Cmu%20_0%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cmathrm%7BE%7D_%7B10%7D%0A

%3D%5Cleft(%201%2B%5Cfrac%7B%5Cmathrm%7BcurrentHP%7D%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%2010%5Cmu%20_0%2B%5Cleft(%201-%5Cfrac%7B10%5Cmu%20_0%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5Cleft(%20%5Cmathrm%7BtotalHP%7D%2B%5Cmathrm%7BcurrentHP%7D%20%5Cright)%20%5Cleft(%201-%5Cleft(%201-%5Cfrac%7B%5Cmu%20_0%7D%7B%5Cmathrm%7BtotalHP%7D%7D%20%5Cright)%20%5E%7B10%7D%20%5Cright)%20%0A

验证

使用此公式来计算

先根据敌人0血时的数据算出基础伤害

a%3D316389*11%2F20%3D174014%2C%20b%3D406083*11%2F20%3D223346%2C%20%5Cmu%20_0%3D%5Cleft(%20174014%2B223346%20%5Cright)%20%2F2%3D198680%0A

先算tm白满血时的伤害, 这是夏莱DB的计算结果

这是使用公式的计算结果(计算由axmath编辑器自带的计算功能完成)

可以发现是一样的. 再贴上使用蒙特卡洛方法实验1000000次的结果

然后再算一下白只剩50%血时的伤害, 夏莱DB

公式

蒙特卡洛方法

也就是说, 夏莱DB中计算未花的伤害确实是考虑了每段的衰减, 不需要自己再另外考虑

蒙特卡洛方法代码


Mika伤害的评论 (共 条)

分享到微博请遵守国家法律