摘要
strong 档 AI 在有召唤法术的局面里很慢:每个合法召唤位置都要完整模拟一次。我们在独立进程里试了三项提速。前两项是规则校验的复用,收益很小或方向不一致。第三项是近似裁剪:每个召唤法术只保留最多 8 个“离敌最近 / 最远、离友最近”等距离极值位置。它让两处完整首对比较快了约 10%,最终选择也没变;但穷举 18 个局面后发现,14 个局面里被删掉的位置中有更好的选择,最大估值差 13.5。三项都不合入,生产规则和策略没有修改。
要回答的问题
规则校验和召唤位置枚举能否在不改变决策的前提下明显提速?“首对比较最终动作相同”能否证明裁剪安全?
方法与设置
- 成本拆分:两个冻结的 strong 节点粗计时,规则校验约占 1.75 / 8.27 秒和 3.36 / 15.46 秒,动态属性刷新约占 1.23 / 8.27 秒和 2.35 / 15.46 秒(区间互相包含,不能相加)。
- 方案 1:单次状态替换内复用规范状态投影。方案 2:校验中为 13 类来源标记建存在性索引。
- 方案 3:每个召唤法术最多保留 8 个合法位置,轮流取离敌近、离敌远、离友近和稳定动作 ID 顺序;保留下来的仍做完整转移。
- 遗漏审计:固定 18 个局面(两处原保存状态 + 蓝红双方、种子 11–18 的 16 个合成四堆局面),对 517 个合法召唤动作逐一计算现有排序分数,看被裁掉的是否更好。
结果
| 方案 | 两处完整首对耗时(秒) | 结论 |
|---|---|---|
| 复用状态投影 | 6.9401→6.9163,13.3986→13.2372 | 收益很小,不合入 |
| 来源标记索引 | 6.9424→7.1514,13.3506→13.2857 | 一快一慢,不合入 |
| 8 位置裁剪 | 7.0804→6.3773,13.4815→12.0509 | 约快 10%,但有遗漏 |
裁剪后公共转移数 1338→1170、2546→2208,最终选择与评分相同。但遗漏审计显示 14/18 个局面删掉了严格更好的位置:两个保存节点的星界召唤都漏掉 10,5,保留的最好是 10,4,分差 1.5;蓝方种子 12 的星之子召唤最好位置 5,4 被删,保留的最好是 10,0,分差 13.5。现有估值同时考虑中心位置、射手间距和对其他单位的压力,只取距离极值覆盖不了这些偏好。
全部 18 个状态从磁盘恢复后,两种最佳动作的重新评分与记录一致;36 对事件 / 子状态加原型 4 对,共 40 对重放通过。
失败与负结果
- 三个方案都不合入。尤其不能用“首对最终仍选了别的动作”来证明裁剪安全。
- 第一次生成合成局面时硬编码了矩形边界,一个位置被引擎判为非法格;该批合成结果全部排除并保留,改用公开棋盘边界与合法格查询后,按原定双方和种子重做,没有删失败种子。
- 索引脚本首次预期 14 处替换、实际 13 处,核对后修正断言。
局限
分差是现有 AI 估值差,不是伤害、胜率或真实战斗证据;计时为单批粗测。
结论与下一步
若以后研究近似召唤候选,必须审计遗漏并使用新冻结的局面,不能沿用本批结果宣称等价或棋力提升。提速工作转向已授权的状态序列化复用。
Comments