第三问的垃圾算法

This commit is contained in:
2026-09-11 03:26:20 +08:00
parent 846b45e420
commit 78d52ff81c
90 changed files with 16878 additions and 1 deletions
@@ -0,0 +1,75 @@
# 第三问官方 Simulator 演练验证
结论:现有第三问方案在本次官方演练中有效,10 个干扰源全部清除,正常退出。该结论适用于本次案例,不代表已验证所有案例,也不代表虚拟耗时最优。
## 本局与运行方式
- 本地日期:2026-09-11(Asia/Shanghai)。
- 官方案例编码:`DHFK-PHD2-SR2P-FXK9`;演练编号:`4317927797384597197`。
- 官方结果:问题 3,10 个全向源,0 个定向源。
- 使用用户已启动的演练,通过 `http://127.0.0.1:2026` 的 HTTP/TCP socket 串行调用 `/enter`、`/measure`、`/clear`、`/exit`;未使用 computer use。
- 运行代码版本:`846b45e42018689b2568bc0b089f72d53113b519`,运行前 Git 工作区干净。采用现有 `OmnidirectionalLoop` 和 CLI 默认参数,示向度舍入裕量为 0.005°,未修改策略。
- 队号取自项目既有官方演练记录,当前 `/enter` 接受,确认匹配。
- 官方案例源数仅在退出后读取,用于验收;运行时策略仅使用协议观测。
```powershell
.venv/Scripts/python.exe -m mcm26b.cli run --robot-id 202608023016 --problem 3 --base-url http://127.0.0.1:2026 --log output/q3/practice/20260911-port2026/session.jsonl
```
## 实测结果
| 指标 | 结果 |
| --- | ---: |
| 官方源数 / 成功清除数 | 10 / 10 |
| 检测次数 | 540 |
| 清除尝试 / 失败 | 10 / 0 |
| 接受的 HTTP 请求数(含进入、退出) | 552 |
| 现实运行时间(服务器时间戳差) | 7.629 秒 |
| 虚拟总耗时 | 16217.454814 秒(4小时30分17.455秒) |
| 移动距离 | 64737.274 米 |
| 移动耗时 | 12947.454814 秒 |
| 检测耗时 | 2700 秒 |
| 换频道耗时 | 520 秒 |
| 清除耗时 | 50 秒 |
| 重试、拒绝、定位/清除异常 | 0 |
| 结束原因 | `all_resolved` / `user_exit` |
清除频道:2、4、7、8、9、13、16、17、18、19。其余 1、3、5、6、10、11、12、14、15、20 频道,各自均有完整的 49 个覆盖点无信号记录;不存在未解决频道。
最后一个源在虚拟时刻 8454.332399 秒清除。此后仍执行覆盖证明,耗时 7763.122415 秒,占总虚拟耗时约 47.87%。完整网格扫描和移动是后续效率优化的重点;提前发现 10 个源本身不能作为停止依据。
## 验证证据与计时问题
离线审计的 14 项检查全部通过:官方问题与源数、官方日志包 SHA-256、进入退出、响应所属时间窗口、请求 ID 唯一性、无重试拒绝、全清除、每次清除成功、原汇总完成状态、无源频道覆盖、逐步微秒计时、双时间预算、完整动作回放、清除证书。
严格回放只使用录制的响应,逐次比较新生成的请求路径及全部动作字段(仅忽略随机 request_id),重现全部 552 个请求。重算的 10 个清除证书均满足候选外包半径小于证书限值,限值小于 20 米。
原始 `summary.json` 中 `virtual_recompute_mismatches=541` 为计时精度误报:项目现有 `evaluation.recompute_virtual_time` 累计未经量化的浮点秒数,并使用固定 1 微秒累计容差;官方附件2第4.1节规定模拟器内部按微秒累计。本次按每次移动耗时四舍五入为整数微秒后,552 个官方时刻全部精确匹配,偏差数为 0。单次未经量化的耗时最大偏差为 0.493106 微秒,最终累计差为 -1.215829 微秒。
审计脚本已正确复算本局,但未修改现有生产计时复算函数,因此其原始误报仍保留在 `summary.json` 和 `replay_summary.json` 中。此问题不影响本局实际动作、清除成功或退出;若用于后续自动验收,应统一项目复算精度。
相关既有回归测试:第三问闭环、协议客户端、计时规则及演练记录验证,共 **46 项通过**,见 `regression.txt`。
## 保存文件与复核
| 文件 | 用途 |
| --- | --- |
| `session.jsonl` | 逐条原始请求、官方响应、现实时间及尝试记录 |
| `summary.json` | 本次 CLI 原始输出,保留原始计时误报 |
| `actions.csv` | 552 个接受动作、坐标、频道、读数、耗时及逐步微秒复算 |
| `verification.json` | 独立验收结果、覆盖证明、证书、计时分解 |
| `replay_summary.json` | 现有策略对录制响应的严格离线回放结果 |
| `*.result.json` | 官方演练案例元数据与源数 |
| `*.jlog`、`*.psum` | 原样复制的官方加密产物,未解密 |
| `manifest.json` | 保存文件的字节数与 SHA-256 |
| `regression.txt` | 46 项相关测试结果 |
官方 `.jlog` 的 SHA-256 为 `2b3c3b9359e0a92f04a845935d79c6f989bbe6b504bfa51abe6b841485b9f96a`,与官方 `.result.json` 中 `package_sha256` 一致。全清除结论来自 10 个不同频道的官方成功响应与官方总源数交叉核对;未解密加密统计,也未声称读取官方评分。
在项目根目录可离线复核,无需启动模拟器:
```powershell
.venv/Scripts/python.exe scripts/verify_q3_practice.py output/q3/practice/20260911-port2026
```
复核只重写派生审计文件,保留原始会话、原始汇总及官方产物。