前言
众所周知,在狂野模式中骰子数量极其有限,为了保证构筑的强度上限,玩家往往会在前期尽最大可能节省骰子,然后在最后几次升级中将骰子挥霍出去。如果能在真实等级 45 及以上选到量子退相干,那就再好不过了。
但问题是,实战往往不能如愿,本人就试过将 20+ 颗骰子刷完都找不到满意模块的情况。这让本人反应过来,ND 中这一困境本质上就是一个最优停止问题,而这最已被研究透了。把结论拿过来,就是一个非常不错的解决方案。
看到这里,之前有听说过最优停止理论的玩家估计早已得出结论了,不过指南还是得老老实实写完的。
秘书问题
先以秘书问题为例,稍微介绍一下最优停止问题:
- 你是公司老板,通过面试招聘秘书。
- 已知求职者有 N 人(N 是一个足够大的数)。
- 一次面试一个求职者。
- 每次面试结束后,必须立即决定录用还是拒绝。若录用,招聘结束。
- 不能招聘已经拒绝的求职者。
- 你无法给求职者的能力打出准确分数,但可以判断当前求职者是否比之前所有求职者更优秀。
问题:采取什么方案,可以使得录用到最优秀者的概率最高?
推导:自己百度……
方案:
- 将 N / e 前的求职者划入考察区(e 是自然常数)。拒绝考察区内所有求职者,但要记住考察区的最优秀水平。
- 将 N / e 以后的求职者划入选择区。选择区内,只要有求职者超过之前最优秀的水平,就直接录取;如果都没有就录用最后一个。
- 如此,录用者为所有求职者中最优秀者的概率为 1 / e。
应用
显然,ND 中的最后一次升级基本符合上述模型(可以扩展到每次升级,后述)。但偏差还是有不少:
- 每次“面试”的“求职者”是 7 人(7 个模块)。这很好办,只要记录 7 个模块中最好的模块即可。
- 玩家实际上能对模块打分,而不仅仅是对比两个模块的优劣。并且,我们甚至有明确的最优解,比如量子退相干或者是进化栖位啥的,或者是一堆升级点却没有骰子时的禅意,roll 到就可以直接选。这个靠玩家灵活变通即可。
- 当然,这里不考虑超级模块禅意,也不考虑守株待兔等骰子的策略。
- 分区标准 N / e 与最优概率 1 / e 其实是 N 趋近于无穷时的解,当 N 比较小时直接套 N / e 并不准确。
理论就介绍到这里,下面看一个详细的例子。
如果生搬硬套的话:
- 目前还有 13 个骰子,意味着有 14 次选择机会。
- 求出 14 / e = 14 * 0.37 = 5.18,那么将前 5 次选择划分为考察区,后 9 次选择划分为选择区。
- 先 roll 4 次,不要选择,但要记录前 5 次选择中最优的模块是什么。
- 继续 roll,但只要遇到比之前最优模块更好的模块就直接选择。
如前面所说,用 14 / e 求出考察区次数为 5 并不准确(不过这次 5 这个结果恰好是正确的),准确的数值可以参考下面的表格。不过我估计没有什么人愿意在打游戏的时候查表,建议使用最后一列的计算方法 Round(N / e) = Round(N * 0.37) 作为近似解(其中 Round() 表示四舍五入)。一个小数乘法加一个四舍五入,口算起来并不难,误差也比较小。
然后,可以灵活变通一下,使得这种策略不仅限于最后一次升级。假如现在从 Lv29 升到 Lv30,刷出来的所有模块都不想要;又或者是,前期成型极度困难,不得不多使用骰子来快速成型。那么就可以评估一下,你愿意接受 roll 几次来获得最优的模块。
如果只愿意 roll 2 次,那么对应的 N 为 3,查表可知应该考察 1 次;如果愿意 roll 3 次,那么对应的 N 为 4,还是应该只考察 1 次。
结尾
总而言之,理论放在这里,实操就请各位灵活变通吧。
顺便引个流:[www.bilibili.com]