docs: #24 设计定稿——先算全候选间隙矩阵同时供打分与认证(零额外几何调用),口径强制走批量认证
This commit is contained in:
@@ -108,6 +108,15 @@
|
|||||||
- **对 `backoff` 的预期与判据**:全拒意味着"连第 1 步的端点或中点已经穿进障碍",缩步能不能救取决于**穿得有多深**(穿 0.1 mm 救得回,穿 3 mm 救不回)。这个数转储里没记(只记被选中那条),所以直接由 `backoff_mean`/`reject_all_mean` 来量:
|
- **对 `backoff` 的预期与判据**:全拒意味着"连第 1 步的端点或中点已经穿进障碍",缩步能不能救取决于**穿得有多深**(穿 0.1 mm 救得回,穿 3 mm 救不回)。这个数转储里没记(只记被选中那条),所以直接由 `backoff_mean`/`reject_all_mean` 来量:
|
||||||
`reject_all_mean ≈ 原全拒次数`(=backoff_mean+brakes_mean,与轮次 33 cap 的 19.55 可比),`backoff_mean/(backoff_mean+brakes_mean)` 就是"缩步能救回的比例"。这是补跑(#22)要读的第一个数。
|
`reject_all_mean ≈ 原全拒次数`(=backoff_mean+brakes_mean,与轮次 33 cap 的 19.55 可比),`backoff_mean/(backoff_mean+brakes_mean)` 就是"缩步能救回的比例"。这是补跑(#22)要读的第一个数。
|
||||||
|
|
||||||
|
## #24 的设计定稿:一次几何调用同时供打分与认证(不放松判据、不加成本)
|
||||||
|
|
||||||
|
- 表面看有循环依赖:打分要用的"沿路间隙"目前只在安全层里算,而安全层只认证**排完序**的候选。破法是把顺序倒过来——**先对全部 K 条候选算一次 `2·commit_n` 点的间隙矩阵**,然后:
|
||||||
|
- 打分:`score = −e_end − gap_w · relu(gap_ref − 该候选沿路最小间隙)`(间隙不足的候选先降序,但**不淘汰**它,判据仍是后面的 `gap > 0`);
|
||||||
|
- 认证:直接用同一份间隙矩阵算 `plen`,**不需要再算第二次**。
|
||||||
|
- 于是代价是**零额外几何调用**,但口径上要求走批量认证(`cert_batch=1`)——串行那条靠"第一条全安全就早停"省掉后面 K−1 次调用,一旦要按间隙排序就必须先看全部候选。这跟实时性是同一个方向:批量口径本来就是为压最坏情况(轮次 34:80.2→37.1 ms)而做的,所以这条杠杆顺带把部署口径推到批量那侧。
|
||||||
|
- 读法预设(免得事后挑数):主判据是 `brake_rate`(全拒/规划次数,刚补上的分母)与 `success`/`time_ok_1p3`;`gap_ref` 取 0.5 mm 起(宽相位截顶值以内,见轮次 33 的口径教训:余量门限高于 cap 会恒假)。
|
||||||
|
- A/B 脚本 `ml/runs/_gapscore_sweep.sh`(`gap_w = 0.5 / 2.0 / 8.0`,三档差一个数量级,看是否有拐点)。等链跑完、库能改之后实现+单测再跑。
|
||||||
|
|
||||||
## 代价探针的第一版量错了对象(仪表缺陷,已修)
|
## 代价探针的第一版量错了对象(仪表缺陷,已修)
|
||||||
|
|
||||||
- 第一版 `ml/runs/_kcost_probe.py` 把"整次 `rollout(..., max_sec=0.041)` 调用"当成"一次规划"来量,得到 `K8/cb0 P50 = 144.8 ms`、`K16/cb0 = 139.6 ms` 这种**比轮次 34 的 33.5 ms/规划大四倍**的数——那里面包含每次调用的固定开销(`tasks_to_tensors`、生成器、首段同步),2 步的调用只做 1 次规划,所以固定开销占了大头。绝对值完全不可比,我先差点把它当"K 翻倍不花钱"的证据。
|
- 第一版 `ml/runs/_kcost_probe.py` 把"整次 `rollout(..., max_sec=0.041)` 调用"当成"一次规划"来量,得到 `K8/cb0 P50 = 144.8 ms`、`K16/cb0 = 139.6 ms` 这种**比轮次 34 的 33.5 ms/规划大四倍**的数——那里面包含每次调用的固定开销(`tasks_to_tensors`、生成器、首段同步),2 步的调用只做 1 次规划,所以固定开销占了大头。绝对值完全不可比,我先差点把它当"K 翻倍不花钱"的证据。
|
||||||
|
|||||||
Reference in New Issue
Block a user