摘要

前面的排位(实验 0072–0075)都不限时。真实 Arena 网页里,AI 每步只有 4 秒:独立 worker 进程启动、加载目录、准备菜单、搜索都算在内,截止时用已经算完的最好结果。本实验分两阶段:

  • 阶段一(工程预检):原版研究搜索 quick 走实时路径,检查合法性、重放、截止与回退、遗留进程、耗时。第 1 次因运行器漏传事件历史而卡死,修复后全部通过。
  • 阶段二(正式棋力):Public Quick(本地 UI 预览辅助)——只接收公开信息的一步搜索——在 64 个从未用过的来源上对英雄无敌三式规则 AI H3:98 胜 30 负,来源差 +0.5312 [0.3594, 0.6875],下界 > 0,通过。

要回答的问题

  1. 搜索 AI 能否在实时 4 秒路径上稳定交付合法动作?
  2. 只用公开信息的 Public Quick,在严格 4 秒下是否强于 H3?

方法

实时路径:每步一个新 worker 进程,4 秒从被调用时算起;先给出 H3 的选择,再给出搜索的选择,截止前收到的最后一个为准;都没有则从公开菜单回退。

Public Quick:决策核心只接收 JSON 形式的公开输入——公开观察、公开菜单、公开历史摘要、本步当前行动单位对每个敌方目标的悬停攻击预览(玩家把鼠标停在目标上看到的伤害范围),外加公开开局观察和己方构筑。它用这些构造一个可搜索的局面(实验 0078),再做一步搜索;构造失败时由 H3 接手。

设置

  • 阶段一:1a 16 个新来源、4 秒预算、32 局;1b 4 个新来源、故意只给 0.8 秒、8 局,逼出截止与回退。
  • 阶段二(运行前冻结):64 个新来源(种子 71000–71063)。来源是一个镜像开局,候选执蓝、执红各一局,共 128 局;来源差 = 候选两局得分和 − 1(胜 1、平 0.5、负 0);来源自助重抽 10,000 次的 95% 区间,下界 > 0 才通过。规则版本 Core453。

结果

阶段一尝试 1(仪器故障):一局卡了 1 小时 45 分钟——升级水螈反复使用“溪水撤退”(零消耗、不结束行动的闪现)。v59 依赖完整事件历史来避免重复同一免费技能,而本实验运行器没有传历史。这是运行器故障;修复后另加“连续零成本动作超过 32 次报错”的保护。已完成的 30 局不计入。

阶段一尝试 2:五项检查全部通过。

检查 1a(4 秒) 1b(0.8 秒)
合法 / 严格重放 通过,32/32 通过,8/8
决策 / 到截止 1,632 / 10 311 / 252,且出现公开菜单回退 61 次
遗留进程 0 0
每步耗时 p95 1.893 秒,最长 4.024 秒 p95 0.822 秒,最长 0.825 秒

阶段二:

检查 结果
胜负与来源差 98 胜 30 负 0 双输;+0.5312 [0.3594, 0.6875](41 好 7 差)
合法 / 重放 / 遗留 0 非法;128/128 一致;本运行 0 遗留
每步耗时 6,908 次决策:p95 2.306 秒;> 4.0 秒 41 次,> 4.4 秒 4 次,最长 4.533 秒
采用比例 Public Quick 6,113 次(88.5%);H3 795 次(核心未给动作 757、到截止 38);公开菜单回退 0
召唤分层 出现过战斗中生成单位的 64 局 47 胜 17 负;未出现的 64 局 51 胜 13 负

失败与负结果

  • 预期“每步 ≤ 4 秒 + 0.4 秒清理”有 4 次未满足;最后约 10 分钟有外部 CPU 压力负载同时运行。耗时尾部修复见实验 0080。
  • 阶段一尝试 1 的卡死与运行器摘要字段被覆盖的小错都已记录修正。

局限

  • 悬停预览由本地 Simulator 计算,未与商业游戏客户端对照;结论只适用于“本地 UI 预览辅助”的信息模式。
  • +0.531 是整套系统(包括 H3 不使用的悬停预览)的优势,不能全部归给搜索;与原版 quick 不是同批来源,不能直接算“公平化损失”。
  • 镜像开局、对手只有 H3;对手先验是中性的,没有利用镜像。

结论与下一步

Public Quick 在严格 4 秒实时路径上明显强于 H3。先压缩耗时尾部(实验 0080),再接入生产路径复核(实验 0081)。