类DNF的装备强化成本期望计算方法
假设一款游戏的装备强化和DNF比较类似,成功率和失败惩罚如图
假设强化到+1需要10000金币,+2需要20000金币,以此类推。假设买这件装备需要花140000金币 很明显,强化有“成功”和“失败”两种可能性,每次强化都是一次独立的伯努利试验。 如果我们需要知道强化成本的数学期望的话,需要知道每种情况的概率。 但是如果我是个究极非酋,+4死活就是成功不了,那岂不是要算无数个概率无数个情况?很明显不可能这么算。 对于这种“经历多次失败才能得到一次成功”的事件,需要一个随机变量来描述
在获得一次成功的结果之前失败的次数
那么很明显,这个随机变量是服从
几何分布
的。 几何分布的数学期望是成功率的倒数
1/p
也就是说,在经过1/p次独立重复实验之后,能够成功一次,经过1/p次强化之后能够成功一次。 所以说如果要算+4的成本的话,就可以利用这个来计算了。 首先为了方便表示,这里设变量Cn表示的是强化到n级时所需要的成本,Tn表示的是强化到n级的总成本 那么 T3 =
140000 + C1 + C2 + C3 = 200000
C4 = 40000 / 0.9 = 44444
T4 = T3 + C4
= 244444
这个40000/0.9是啥情况呢? 因为+4没有惩罚,那么也就意味着+4的成本的数学期望应该是:
【强化成功所需强化次数的数学期望 * 强化成本】
所以40000是+4的成本,而乘的1/0.9则是强化成功所需强化次数的数学期望。 到这里还比较容易理解。 但从+5开始失败就降级了,这时成功率也已经变了,不能直接套用几何分布。那咋办? 其实很好解决。概括一点讲就是:
跳出一级一级强化的思维束缚
比如我们现在进行一次+5,但是失败了,那么装备会降级为+3 这时再想+5的话需要先+4再+5 如果又失败了,还得再+4+5 反正怎么都是先+4后+5 为啥不
把+4和+5放在一起看成一次伯努利试验
呢? 你可能会顾虑+4和+5的成功率不同,怎么放一起看成一次伯努利试验……
但是我们不是已经算出来了+4的成本期望了吗?
C4~5 = (C4 + 50000)/ 0.8就可以啦 如果我们从+4强化到+5一次直接成功,那么成本就是C4 + 50000 如果失败了会回到+3,再强化到+5又得先来一次+4 那么再来一次,成本还是C4 + 50000 也就是说,
单次+3到+5的成本是C4 + 50000
因为用的是C4,所以根本不用考虑+4的成功失败与否,直接看+5的成功率即可。按照几何分布的数学期望,得到了C5 = (C4 + 50000)/ 0.8 = 118055的结果。 所以T5 = T3 + C4~5 = 318055 我们知道C4,知道C4~5,就能知道从+4强化到+5所需要的成本是 C5 = C4~5 - C4 = 73611 和C4~5同理可得 C5~6 = (C5 + 60000)/ 0.7 = 190873 这73611里面就已经包括了+6失败掉为+4之后又失败掉回+3的成本期望了 T6 = T4 + C5~6 = 435317 C6 = C5~6 - C5 = 117262 C6~7 = (C6 + 70000)/ 0.6 = 312103 T7 = T5 + C6~7 = 630158 然后接下来要+8了,这时失败的话装备等级会归零。但是这种情况反而比前面的降一级好理解多了。因为我们可以
把从+0强化到+8看成一次伯努利试验。
反正成了就+8,不成那就归零从0开始强化,那我们完全可以把从0强化到+8的所有强化事件看成一个整体。 那么可以得到从+0强化到+7的成本C1~7 = T7 - 140000 = 490158 C1~8 = (C1~7 + 80000)/ 0.5 = 1140316 也就是说我从+0开始冲+8,每冲一次+8的成本是C1~7 + 80000,然后乘以几何分布的数学期望,也就是成功所需次数 T8 = 140000 + C1~8 = 1280316 C1~9 = (C1~8 + 90000)/ 0.4 = 3075790 T9 = 140000 + C1~9 = 3215790 C1~10 = (C1~9 + 100000)/ 0.3 = 10585967 T10 = 140000 + 10585967 = 10725967 到了+11,强化失败装备会碎,需要重买。和+8+9+10同理,我们可以直接
把从买武器到强化到+11看成一次伯努利试验
T11 = (T10 + 110000)/ 0.26 = 41676796 T12 = (T11 + 120000)/ 0.18 = 232204422 T13 = (T12 + 130000)/ 0.17 = 1366673071 T14 = (T13 + 140000)/ 0.16 = 8542581694 T15 = (T14 + 150000)/ 0.15 = 56951544626 这个数值已经膨胀到500多亿的恐怖地步了…… 完善后的表格如图:
成本折线图:
为什么突然写这么个专栏? 我今天下午笔试卡在+5+6+7不会写了,后面又想明白了,想弥补一下遗憾……这东西算起来好费时……感觉我选择跳过这道题是个正确的选择 如果觉得我的算法有误的话务必指正!我也没那么大自信就是说我这个一定就是对的哈哈哈