摘要

这一篇不是一次跑出数字的实验,而是 Olden Era(《英雄无敌:上古纪元》)竞技场战斗 AI 的研究路线图。写下时,网页里默认的 AI 是一套手写规则的“公开战术”策略(版本 v58),只看玩家能看到的信息。路线图回答的是:如果以后要加入搜索和强化学习,应该按什么顺序做,哪些信息绝对不能进入策略,以及怎样验收。结论只是设计建议,没有训练任何模型,也没有改变网页默认策略。

要回答的问题

战斗 AI 的输入是截至当前的公开观察历史、我方已知构筑(英雄、技能、宝物、兵种)、当前合法动作,以及状态估计模块(SE,根据公开日志和面板推断敌方构筑的模块)给出的条件候选。问题是:怎样从“能解释每一步为什么这样走”的战术 AI,逐步走到用自对战学习变强,同时不让隐藏信息(敌方未公开的装备、法术、未来随机数)泄漏进决策。

方法:五层结构

路线图把 AI 拆成五层:公共规则与合法动作 → 战术候选排序 → 在“与公开历史相容的假想世界”里做有限搜索 → 学得的局面/动作估值 → 固定协议验证。对局日志横贯五层,用于复盘和出题。

它也比较了几种棋类方法能借鉴什么:

参考 借鉴 必须调整
Stockfish 快速规则判断、动作排序、逐步加深 有随机伤害和隐藏构筑,单一确定局面的最小最大搜索不够
AlphaZero 网络缩小搜索范围,用终局胜负训练价值 输入只能是公开历史,不是真实全状态
POMCP(部分可观测下的蒙特卡洛规划) 每次搜索从相容候选里采样世界 对手会决策;候选没覆盖的来源要显式保留
DeepNash(Stratego) 保留混合策略和多样对手 一局胜利不能证明均衡

设置:强化学习的四个阶段

  1. 用审核过的公开决策题训练小型动作排序器/价值模型,失败行为不能当正例,按构筑、种子、对手版本切分数据。
  2. 把模型接进有限预算搜索,同一时限下比较战术成功率、胜率、延迟和信息泄漏测试,没提高就保留旧版。
  3. 固定旧策略、当前策略和专门反制策略组成自对战池,主奖励用终局输赢。
  4. 在没参与修复的构筑和种子上交换双方位置评估,报告成对结果和区间。

结果

写作时没有运行新实验。现有构筑战斗导出仍只能用于回放和评测,不允许直接拿来训练。新增的“战术技巧卡”和公开决策题只作为可检索资料,题目里不含对手真值和未来结果。

局限

文中所有阶段都是计划,不是已交付功能。当时的“信念”策略只是在小候选池上投票,不能称为成熟的信息集搜索,候选权重也不是校准过的概率。

结论与下一步

路线图定下了后续实验共同遵守的三条原则:只用决策时公开的信息;每次修复都要留下可复现的失败题,而不只是多打几局;新版本必须在没参与调参的来源上独立验收。后续的算法调研审阅见实验 0002,具体方向讨论见实验 0001。