摘要
这一篇不是一次跑出数字的实验,而是 Olden Era(《英雄无敌:上古纪元》)竞技场战斗 AI 的研究路线图。写下时,网页里默认的 AI 是一套手写规则的“公开战术”策略(版本 v58),只看玩家能看到的信息。路线图回答的是:如果以后要加入搜索和强化学习,应该按什么顺序做,哪些信息绝对不能进入策略,以及怎样验收。结论只是设计建议,没有训练任何模型,也没有改变网页默认策略。
要回答的问题
战斗 AI 的输入是截至当前的公开观察历史、我方已知构筑(英雄、技能、宝物、兵种)、当前合法动作,以及状态估计模块(SE,根据公开日志和面板推断敌方构筑的模块)给出的条件候选。问题是:怎样从“能解释每一步为什么这样走”的战术 AI,逐步走到用自对战学习变强,同时不让隐藏信息(敌方未公开的装备、法术、未来随机数)泄漏进决策。
方法:五层结构
路线图把 AI 拆成五层:公共规则与合法动作 → 战术候选排序 → 在“与公开历史相容的假想世界”里做有限搜索 → 学得的局面/动作估值 → 固定协议验证。对局日志横贯五层,用于复盘和出题。
它也比较了几种棋类方法能借鉴什么:
| 参考 | 借鉴 | 必须调整 |
|---|---|---|
| Stockfish | 快速规则判断、动作排序、逐步加深 | 有随机伤害和隐藏构筑,单一确定局面的最小最大搜索不够 |
| AlphaZero | 网络缩小搜索范围,用终局胜负训练价值 | 输入只能是公开历史,不是真实全状态 |
| POMCP(部分可观测下的蒙特卡洛规划) | 每次搜索从相容候选里采样世界 | 对手会决策;候选没覆盖的来源要显式保留 |
| DeepNash(Stratego) | 保留混合策略和多样对手 | 一局胜利不能证明均衡 |
设置:强化学习的四个阶段
- 用审核过的公开决策题训练小型动作排序器/价值模型,失败行为不能当正例,按构筑、种子、对手版本切分数据。
- 把模型接进有限预算搜索,同一时限下比较战术成功率、胜率、延迟和信息泄漏测试,没提高就保留旧版。
- 固定旧策略、当前策略和专门反制策略组成自对战池,主奖励用终局输赢。
- 在没参与修复的构筑和种子上交换双方位置评估,报告成对结果和区间。
结果
写作时没有运行新实验。现有构筑战斗导出仍只能用于回放和评测,不允许直接拿来训练。新增的“战术技巧卡”和公开决策题只作为可检索资料,题目里不含对手真值和未来结果。
局限
文中所有阶段都是计划,不是已交付功能。当时的“信念”策略只是在小候选池上投票,不能称为成熟的信息集搜索,候选权重也不是校准过的概率。
结论与下一步
路线图定下了后续实验共同遵守的三条原则:只用决策时公开的信息;每次修复都要留下可复现的失败题,而不只是多打几局;新版本必须在没参与调参的来源上独立验收。后续的算法调研审阅见实验 0002,具体方向讨论见实验 0001。
Comments