> 一个写出来的界是可执行断言——拿它自己声明的参数范围去跑,我的界被我的反例推翻了
论文里那个 E[R(T)] ≤ ... 不是一段散文,它是一个可执行的断言: 把参数在它自己声明的范围里取几个点,算左边、算右边、比一下。
结论先行¶
论文里那个 E[R(T)] ≤ ... 不是一段散文,它是一个可执行的断言:
把参数在它自己声明的范围里取几个点,算左边、算右边、比一下。
我这么做了一次,结果是我自己的界被完全落在定理自身设定内的反例推翻—— 没有额外假设、没有越界取值:
| 噪声尺度 σ | 实测 regret | 论文写的界 | 比值 |
|---|---|---|---|
| 1.00 | 15.43 | 101.3 | 0.15 |
| 0.10 | 2.83 | 10.13 | 0.28 |
| 0.03 | 2.59 | 3.04 | 0.85 |
| 0.01 | 2.42 | 1.01 | 2.39 ✗ |
σ 越小,界越松垮,最后界掉到了它要约束的那个量下面。
而这是一个陈述缺陷,不是机制缺陷。 证明本身是对的——它产出的是一个
log(1 + T·c/σ²) 因子,这个因子在 σ→0 时发散、正好补偿。
定理陈述把它收缩成了一个干净的 log T。
最危险的化简,是把一个「在你测过的区间里近似常数」的因子约掉。 σ=1 时
log(1+T/σ²) ≈ log T完全成立;σ=0.01 时它差了两个数量级。
为什么¶
一个率成不成立,看比值随 T 的走向¶
这是全篇最好用的一条,而且不需要懂那篇论文在做什么:
T=300 1,000 3,000 10,000 30,000
旧的(错) 1.068 0.863 0.690 0.484 0.346 ← 单调衰减
修好的 0.462 0.467 0.530 0.484 0.504 ← 平的
单调衰减是「这个率不成立」的签名——你的构造跟不上它声称的增长速度。
平的才是一个有效 Ω() 该有的样子。
单点比值告诉不了你这件事。T=300 时旧的那个是 1.068,看起来好极了。
要扫 T,看趋势,不要看一个点。
为什么贡献活下来了¶
论文真正的主张是一个比值(同一个表达式在两个维度下的商)。 而破坏这个界的全部因子——σ、常数、先验——在比值里精确对消。
以比值陈述的结论,对那些能把界本身打翻的因子是免疫的。
这不是运气,是可以主动利用的:如果你的贡献本质是「A 比 B 好多少」, 就把它写成比值,而不是写成 A 的绝对界。 后者要求你把每个常数都弄对, 前者不要求。
反过来也要诚实:不对消的那个因子必须留在陈述里。 本例修复后仍有一个 对数因子不对消,而它在高维下不可忽略——于是跑例的数值也跟着变了。
修复本身也要被验证¶
第一版修复我加了一个假设,让某个截断项可以丢掉。随机扫参发现了两件事:
- 在假设刚好不成立的邻域外有违例(比值 1.618);
- 更要命的是,那个假设在 51 个采样点里只有 6 个成立—— 它不是太弱,是太强以至于没用。
换成一个无条件成立的因子之后:51 个点 0 违例。
"加个假设就对了"——先量一下这个假设在你关心的参数范围里占多大比例。 占不到一半,它就不是修复,是把问题挪进了前提。
怎么用¶
论文定稿前,给每一个写出来的界跑一遍:
- 取极端,不取典型。 把每个参数推到它声明范围的两端,尤其是出现在分母里的那些。 上面的 bug 只在 σ 很小时暴露,而没人会把 σ=0.01 当"典型配置"去测。
- 扫 T(或样本量),看比值趋势。 单调衰减 ⇒ 率不成立。一个点看不出来。
- 把证明的每一步也当断言跑。 本例里,中间那步不等式在 5 个配置里 有 3 个直接数值为假——而那一步是从一篇标准引理抄来的, 抄的时候悄悄把它的条件换成了更弱的版本。
- 用符号计算检查量纲和增长阶。
limit (证明链 / 声称的界)如果趋于 0, 说明证明链根本产不出那个量级。本例是漏了一步 Cauchy–Schwarz。 - 预先登记几条要查什么,再去写 checker。本例九条发现里有三条是事先写下的, 这三条让人相信剩下六条不是"挑出来的"。
- 把通过的也报出来。 九条里有一条是 PASS。只报失败的审计,读者无法判断覆盖面。
- 修完要用杀死旧版的那组配置重跑,外加一轮随机扫参。 第一版修复就是被随机扫参否掉的,定向重跑不会发现。
出处¶
自己一篇已录用论文的定理审计(2026-08):一个自动化 checker + 反例搜索的 harness, 在固定种子、固定 BLAS 线程数下跑。九条发现,五条阻断级,修复后用同一套 验证脚本确认 0 违例才写回稿子。 这里只保留方法与可独立复核的现象,不涉及该论文的身份、定理编号与具体表达式。 相关:只发边际计数等于结论不可判定——把它算成一个区间,而不是说「统计没做够」、temperature=0 不是确定性的——漂移和我要测的效应同阶,而没有一条误差棒含这一项、 测不出失败的门禁比没有门禁更糟——它在制造信心、事先声明的偏差是限制,事后发现的偏差是借口。