feat: 修复大粪扫描频率

This commit is contained in:
Horldsence
2026-09-11 09:50:56 +08:00
parent bd479b6d9d
commit f3dfa9c2a1
81 changed files with 40138 additions and 3478 deletions
+5 -1
View File
@@ -63,7 +63,8 @@ def _run(args) -> int:
config = replace(config,
session=session,
search=replace(config.search,
bearing_rounding_margin_deg=args.bearing_margin_deg))
bearing_rounding_margin_deg=args.bearing_margin_deg,
persistent_search=args.persistent))
truth = None
transport = None
real_budget_s = None
@@ -144,6 +145,9 @@ def main(argv=None) -> int:
"正式测试以服务器 /enter 返回为准)")
run.add_argument("--summary-steps", type=int, default=None,
help="summary 中保留的逐步计时条数上限(默认全部;完整明细在日志)")
run.add_argument("--persistent", action="store_true",
help="复扫保险模式:找全证明后继续复扫未清除频道直到限时"
"(默认关闭:虚拟时间即成绩口径,找全即 /exit)")
run.add_argument("--self-test", action="store_true",
help="走本地模拟器与随机场景(测试端自检,不连官方)")
run.add_argument("--seed", type=int, default=20260910, help="自检场景种子")
+16 -11
View File
@@ -91,10 +91,12 @@ class SearchConfig:
max_blocked_probes: int = 4 # 定位单轮内被朝向遮挡的探点预算
# (首次选点+对跖复核+2 次环探;达限转后备清除)
fallback_max_cells: int = 400 # 后备清除格数硬顶;超过则不盲扫(宽候选集继续定位)
# ---- 持续搜索 [工程,2026-09-11 用户决策] ----
# 全部频道"已清除或证明不存在"后不提前退出:只复扫未清除频道,
# 直到清除数达 16、实机预算耗尽或虚拟安全余量不足(扫到限时为止)。
persistent_search: bool = True
# ---- 持续搜索 [工程,2026-09-11 用户决策修订] ----
# 虚拟时间即评测成绩口径(表1:平均定位清除时间):找全证明达成后
# 立即 /exit,不复扫。复扫保险模式(防缺席证明假设偏差)保留,经
# `mcm26b run --persistent` 显式开启:只复扫未清除频道,直到清除数
# 达 16、实机预算耗尽或虚拟安全余量不足。
persistent_search: bool = False
virtual_reserve_s: float = 10_000.0 # 虚拟时长安全余量:剩余不足时停止发起动作,
# 避免触及 100 小时上限被模拟器强制结束
@@ -110,16 +112,19 @@ class BayesConfig:
particle_spacing_m: float = 25.0 # 网格间距;Voronoi 裕量 ≈ 17.68m;
# 全域约 1.6 万格/频道,20 频道内存与耗时可控
# ---- 信息增益评分 [工程] ----
score_mode: str = "radius" # radius=期望后验半径(直指证书)|
# entropy=期望 log 幸存占比(信息增益)
# ---- 信息增益评分 [工程,Optuna TPE 调参回填 2026-09-11] ----
# 全量消融(14 场景,对齐找全口径):均值 3650s、配对降幅 31.0%、
# 14/14 全清零异常;调参记录见 output/q3/bayes-tuning/。
score_mode: str = "entropy" # entropy=期望 log 幸存占比(信息增益)|
# radius=期望后验半径(直指证书)
score_subsample: int = 800 # 期望幸存熵估计的粒子子采样规模
mc_representatives: int = 6 # 假设真值代表点数(均匀抽取幸存格)
lambda_move_s: float = 0.1 # 选点评分中移动时间的折算系数(分值/秒);
# 与后验半径同量纲,量级须小否则终局拒走(欠收敛)
mc_representatives: int = 7 # 假设真值代表点数(均匀抽取幸存格)
lambda_move_s: float = 0.0105 # 选点评分中移动时间的折算系数(分值/秒);
# entropy 口径下信息项为 O(1) 对数值,λ须极小
wide_rings: tuple = (1.0, 1.5, 2.0) # 无保证接收盘时的探索环(× PF MEC 半径)
# ---- 站点与覆盖 [工程] ----
station_ring_radius_m: float = 1200.0 # 七点环半径;覆盖半径 968.9m 的解析证明
station_ring_radius_m: float = 1159.7 # 七点环半径;调参后仍 < 1178.5
# (覆盖半径须 < 1000 − √3·1800·...解析界)
# ---- 任务排序 [工程] ----
two_opt_enabled: bool = True # 开放路径 2-opt 改进(最近邻打底)
two_opt_passes: int = 3 # 2-opt 最大改进轮数