摘要
实验 0007 发现,复杂状态在 4 秒内连第一对深层比较都完成不了。本实验先定位成本,发现大量时间花在“范围伤害法术的落点”上:例如能量爆炸可以落在很多格子上,但其中许多落点实际命中的单位完全相同,结算结果也相同,搜索却逐个真实结算。新做法:对这类法术,按“命中哪些单位”分组,每组只保留足够数量的代表进入搜索。完整比较的工作量和耗时下降,评分和选择完全不变;但在 4 秒限时下能完成的确认没有增加。
要回答的问题
能否在不改变合法菜单、评分和最终选择的前提下,减少重复结算?这能否让 4 秒内完成更多确认?
方法
先在四个检查点插桩记录真实引擎转移。例如 fair-seed42-after-000 有 2,954 次转移,其中能量爆炸选点 1,918 次、约 6.7216 秒,却都没进入最终分支。注意“没入选”不等于可以直接删:排序仍要知道竞争动作的值。
裁剪规则:
- 只处理“专注范围伤害”且没有强制位移、没有附带状态的法术。
- 用 Simulator 的范围预览拿到受影响单位,不在 AI 里重写范围形状;免疫单位也算在集合里。
- 同一法术、同一接收者集合为一组,每组保留最多“每层候选数”个代表(按动作 ID 排序),而不是只留一个,以免原先被重复动作占的位置被换成别的动作。
- 召唤、位移、地块法术保持原处理;合法菜单和实际执行仍包含全部选点。
22 项专项测试逐一结算同组所有选点,确认完整后继状态和行动成本相同。
设置
沿用 27 个冻结状态,每个状态比较原审计的第一对动作(深度 2、两样本);对照只关闭本裁剪,状态交替先后运行。
结果
| 指标 | 对照 | 本轮实现 |
|---|---|---|
| 完成的动作对 | 27 | 27 |
| 真实转移次数 | 12,867 | 10,953 |
| 单批总耗时 | 80.6820 秒 | 73.1599 秒 |
| 中位单对耗时 | 2.1038 秒 | 2.0338 秒 |
只有 4 个状态真正减少了转移(例如 fair-seed42-after-000 从 2,954 降到 1,740,耗时 12.9826→8.9156 秒),其余状态的计时差异不能归功于优化。全部评分、界限、候选顺序和动作与对照一致,两个已知的四样本反例也保持原样。
四秒控制器对照:
| 指标 | 对照 | 本轮实现 |
|---|---|---|
| 完整两样本筛选 | 60 | 63 |
| 完整四样本确认 | 49 | 48 |
| 至少一次确认的状态 | 13/27 | 12/27 |
| 最终动作变化 | — | 0/27 |
失败与负结果
一个双方都没有能量爆炸、转移次数也相同的状态,对照完成了一次确认,新实现截止时只有 7/8 个根结果、未发布。这不能证明稳定退化,但负向结果照记,不以“波动”删除。确认覆盖没有改善。
局限
这是 Simulator 内部等价性的检查,不是商业游戏规则认证;研究策略仍读取敌方构筑。
结论与下一步
优化保留,但它不能替代四秒确认或棋力验收。剩余的大量单位法术和召唤候选是下一步目标,见实验 0017。
Comments