摘要

对手的装备和技能在游戏里是隐藏的,但它们会在公开事件中留下痕迹,例如施法花了多少魔法。本实验第一次把“对战 → 公开证据 → 推断对手构筑 → 赛后核对”串成一个闭环:两个 AI 在 Simulator 里打完整局,每方只按顺序收到自己能看到的开局与公开事件,State Estimation(状态估计)据此判断哪些候选装备来源仍说得通;对局结束后才拿出封存的真值对照。

在 4 个普通案例里,候选解释从开局的 4 个收窄到双方施法后的 1 个。用公开战术 AI 对战时,真来源在 10/10 个观察者案例中最后仍被支持;实验性的“信念策略”只有 6/10——这是一个暴露出来的失败,而不是把被放弃的候选当成错误。

要回答的问题

只凭公开证据,能否把对手的隐藏装备来源收窄到真值?用推断出的“可能世界”来决策的 AI,会不会破坏推断?

方法

  1. 选隐藏真值之前,先声明一个固定的独立候选网格:只独立改变两项隐藏来源(Mirror Shoes 与 Antimage,都影响施法花费)的有无,英雄、军队、成长与其余选择固定。四种构筑的开局可见数值完全相同,只有观察到的施法花费能区分它们。这是部分构筑,不是完整 Arena 选秀。
  2. 两个 AI 通过普通 Simulator 对战,并严格重放。
  3. 每个观察者在下一次决策前,按顺序收到自己的开局与每一对“公开事件 / 公开观察”。
  4. State Estimation 把己方已知来源和每个声明的敌方假设联合求解,再在该公开前缀上对假想世界做条件化,记录候选装备、失配路径与有界搜索的工作量。
  5. 实验性的 信念策略 v1:让当前所有仍被支持的世界各自提出一个贪心动作,等票投票;没有被支持的世界时退回公开战术 AI v56。它从不查询对手真实的隐藏来源。
  6. 预测产生之后,评估器才与封存真值比较。

设置

执行种子 906200–906205,独立规划种子 88000–88003,规则版本 Core381。4 个普通案例覆盖两个方向;另 2 个案例故意不把 Mirror Shoes 与 Antimage 同时具备的联合来源放进声明池。每局限 2 回合。

结果

策略 重放局数 事件 真值在池内的观察者案例 最终仍支持真来源 真值不在池内且无被支持解释
公开战术 v56 6 / 6 48 10 10 / 10 2 / 2
信念策略 v1 6 / 6 46 10 6 / 10 2 / 2
  • 普通案例中,被支持的解释从开局 4 个收窄到双方施法后 1 个。
  • 信念策略有 4 条观察者轨迹在一次额外行动后失去完整前缀支持:固定的随机结果搜索预算匹配不上之后的先攻/行动队列。
  • 信念策略在验证运行中用了 31 次条件世界投票、15 次退回公开战术 AI。

失败与负结果

  • 信念策略的前缀覆盖更差(6/10),如实记录为失败。
  • 一个早期目录名为“信念策略”的运行实际漏了策略参数、跑的是公开战术 AI;靠记录里的协议与每个事件的策略编号发现,保留并排除在比较外。
  • 合并 Simulator/AI 套件在快速失败上限处停止:6,116 通过、8 失败、6 错误、2 跳过,失败都与本地游戏更新到新版本后的安装身份检查有关;未放宽旧断言,不宣称全仓通过。之后完整 Game AI 套件 6,258 项通过(942.54 秒)。

局限

  • 所有 12 局都打到 2 回合平局上限,不是胜率或自然终局测试。
  • 有限的随机条件化失败不证明某件装备不存在;即使只剩一个被支持的来源,也不代表在这个小候选池之外识别出了真实装备。
  • 计时与其它回归同时进行,只作诊断,不是实时承诺。

结论与下一步

后续修复已让每个来源保留“支持到第几修订”的历史记录。一次只用公开信息的预算探针显示:每事件 16 次 / 总计 128 次尝试仍无法解释第 5 修订,64/512 与 128/1024 都能解释——下一步是在先攻不确定时有界地自适应加宽,而不是全局加宽或用真值随机数强行匹配。之后还要做完整九件选秀的候选生成、自然终局的成对对局,才考虑默认 AI 的升级。