摘要

上一轮混编评测(实验 0027)之后,我们先做了一个复盘:把候选 v3 的 20 次等待逐一换成当时得分最高的攻击,再继续打完。结果没有新增胜局,生命差改善 12 次、恶化 8 次,说明不能一刀切降低等待分。其中一局暴露了另一个问题:蓝方狮鹫可以攻击只剩 27 生命的最后一个弩兵并立即获胜,但移动的得分(约 35.017)高于攻击(v55 22.8075、v3 20.1825),结果两边追逐到 100 回合上限。为此做了候选 v4:靠近敌人的正向移动收益不得超过所有存活敌军的生命价值总和。冻结的 64 局中两版都是 14 胜,只有一局因直接攻击提前结束。

要回答的问题

给移动收益封顶,能否消除“能赢却去追”的追逐,同时不伤害其他局面?

方法

  • v4 继承 v3 的公开逐包计算,只加一条上限:向敌人靠近的正移动收益 ≤ 当前所有存活敌军生命效用之和(沿用原单位权重,不新增拟合参数)。
  • 贴身射手脱离的评分不受此上限;负移动评分、等待、攻击、法术和合法菜单都保留;不加击杀奖励,不调用执行引擎。
  • 新类不注册为默认,旧 v1–v3 保留,可随时回退。

设置

事先冻结 16 组新配置与种子,各自换边,v3 与 v4 分别对阵固定的 v55,共 64 局。两个候选唯一的区别就是这条上限。启动前检查坐标和菜单;不按结果调参。验收要求:完整菜单、自然终局、精确回放、无非法动作、无同队同轮重复等待、无零伤付费猛攻。之前的混编局与等待复盘都已暴露,只作开发回归。

结果

64/64 自然终局、精确回放,没有非法动作、重复等待、回合截断、异常或超时。

指定一方,32 局合计 原候选 v3 移动上限 v4
胜局 14 14
移动次数 107 104
等待次数 23 23
普通攻击次数 261 261
终局生命 37731 37741
受到伤害 138761 138751

唯一的差别在配置 05 蓝方:第 4 回合弩兵原先移动(82.32 分),v4 直接攻击最后的羊人(64.870455 分),提前结束,终局生命多 10。两版本来都能赢。

原追逐局第 6 回合检查点单独重放:v4 一次攻击即获胜,此前全部事件回放通过(已暴露,不计入 64 局)。另有 4 个合成测试(目标剩 1 / 27 生命)均一步获胜。

决策数 524→521;并发合并 p95 17.502→17.228 毫秒。

失败与负结果

  • 复盘的 20 次反事实:19 局自然结束、1 局到 100 回合,没有新增胜局。
  • 两版都没选过猛攻,这个“零”不证明资源选择已优化。
  • 第一次合成测试遗漏 v23 的独立属性声明,5 项在构造阶段失败,补夹具后通过,没有调策略或配置。
  • 全量测试首次 6137 通过、40 项因 Windows 临时路径过长报错;只改短临时目录重跑后 40 项通过。不是一次全量全绿。

局限

只改善了一个行动效率例子,没有新增胜局,不能宣称整体棋力提高。并发计时不是串行上界。

结论与下一步

v4 消除了已知的追逐场景,副作用未见,但没有胜负收益;默认仍为 v55,不调权重。