Article: ModAB added - Table 8 row (2914 / 2436 / 5350; A' 118/11/25 and 32/9/4), Table 10 column (totals, bound violations, A' vs ModAB per corpus), how it is run (authors' package pymodab 1.0.9, same stopping rule, counts agree with the package's own), the evidence paragraph (ahead on every corpus p <= 0.0013, the one test 3656 vs 5535 183/34, ModAB's own benchmark all 91: 1507 vs 1588, 9 bound violations), 8.6: ModAB's linearity check at the midpoint named as the precursor of our exit judgment, abstract, conclusion, introduction, future work (the comparison no longer missing), reference 20. verify_article: every ModAB number checked; server 467 OK, 0 BAD; regression x2 1226 passed, 0 failed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -800,6 +800,46 @@ def verify_flat_regime_and_oos():
|
||||
check("applied, variant carried: totals", (sum(cost(v) for v in app["A"].values()),
|
||||
sum(cost(v) for v in app["chandrupatla"].values())),
|
||||
(1580, 1382))
|
||||
print("\nModAB (sweep_modab.json, the authors' package):")
|
||||
mb = _load("sweep_modab.json")
|
||||
mp = mb["protocol"]["modab"]
|
||||
check("ModAB protocol APS, CHA, both", (mp["APS"]["total"], mp["CHA"]["total"],
|
||||
mp["APS"]["total"] + mp["CHA"]["total"]),
|
||||
(2914, 2436, 5350))
|
||||
for setname, want in (("APS", (118, 11, 25)), ("CHA", (32, 9, 4))):
|
||||
am = {p: v for p, v in a[setname]["per"].items()}
|
||||
mm = mp[setname]["per"]
|
||||
w = sum(cost(am[p]) < cost(mm[p]) for p in am)
|
||||
l = sum(cost(am[p]) > cost(mm[p]) for p in am)
|
||||
check(f"A' vs ModAB protocol {setname}", (w, len(am) - w - l, l), want)
|
||||
md = dict(mb["seen"]["modab"])
|
||||
md.update(mb["fourth"]["modab"])
|
||||
worst_p = 0.0
|
||||
for s, (tm, vm, wtl) in {"APS": (2726, 0, (118, 10, 26)), "CHA": (1681, 0, (34, 4, 7)),
|
||||
"NEW": (3809, 1, (125, 26, 55)), "RJL": (1446, 0, (47, 11, 20)),
|
||||
"APP": (1460, 0, (76, 35, 21)), "D": (5535, 8, (183, 23, 34))}.items():
|
||||
m = md[s]
|
||||
check(f"Table 10 ModAB {s}", (sum(cost(v) for v in m.values()),
|
||||
sum(v[2] for v in m.values())), (tm, vm))
|
||||
ps = list(seen["Aprime"][s])
|
||||
w = sum(cost(seen["Aprime"][s][p]) < cost(m[p]) for p in ps)
|
||||
l = sum(cost(seen["Aprime"][s][p]) > cost(m[p]) for p in ps)
|
||||
check(f"Table 10 A' vs ModAB {s}", (w, len(ps) - w - l, l), wtl)
|
||||
worst_p = max(worst_p, sign_p(w, l))
|
||||
check("A' vs ModAB: every corpus p <= 0.0013", round(worst_p, 4) <= 0.0013, True)
|
||||
check("ModAB over all 855", sum(sum(cost(v) for v in md[s].values()) for s in names), 16657)
|
||||
check("ModAB violations over 855", sum(v[2] for s in names for v in md[s].values()), 9)
|
||||
check("corpus 4 A' vs ModAB p (1 digit)", f"{sign_p(183, 34):.1g}", "7e-26")
|
||||
rjm = mb["rjl"]
|
||||
ps91 = list(rjm["Aprime"])
|
||||
w = sum(cost(rjm["Aprime"][p]) < cost(rjm["modab"][p]) for p in ps91)
|
||||
l = sum(cost(rjm["Aprime"][p]) > cost(rjm["modab"][p]) for p in ps91)
|
||||
check("ModAB's own benchmark, all 91", (len(ps91), sum(cost(rjm["Aprime"][p]) for p in ps91),
|
||||
sum(cost(rjm["modab"][p]) for p in ps91),
|
||||
(w, len(ps91) - w - l, l)),
|
||||
(91, 1507, 1588, (56, 13, 22)))
|
||||
check("ModAB's own benchmark p (2 digits)", f"{sign_p(w, l):.2g}", "0.00015")
|
||||
|
||||
print("\nTable 9a and section 7: the similarity in the step (fresh audit run):")
|
||||
aps_ = {r["spec"][1]: r for r in _load("sweep_aprime_s.json")}
|
||||
abs_ = _load("sweep_ablation_s.json")
|
||||
|
||||
Reference in New Issue
Block a user