The flat regime is not detectable by the three-point order estimate: m >= 2 (the exact condition for a tangent step to lose to a halving) fires on 0.2% of APS states and on only 5.8% of states of pure powers of order 3-19. Paper corrected where it said the whole gap is model order (widelimit, decision, abstract, future work - the refuted log transform removed). WARNING recorded in FINDINGS_model_order.md: article/sim_numerics.tex has carried a STALE header since the first commit (current text = sim_numerics.md, unchanged since 08-24); every paper edit of 09-20/21 went into the .tex, the .md has none of them. Which file is canonical is Valeri's call. The new text numbers trace to results_diag_*.txt but are not yet machine-checked by verify_article.py. Trace hook in pure_root is behaviour-neutral and pinned; 762 pass on the server twice. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
"""Consequence check of the new diagnosis, read off the existing sweep_decision.json.
|
|
|
|
If the flat families are won by BISECTING (Chandrupatla bisects 93-100% there), then his
|
|
band inside our step - which refuses and bisects - must HELP on fun3-fun6 and HURT on
|
|
the families where our step is good. Per-problem costs, band against no gate, same
|
|
similarity, scale and guard. No new run: the numbers are the Linux sweep's.
|
|
|
|
python -u diag_band_by_family.py
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import json
|
|
from collections import defaultdict
|
|
|
|
|
|
def main():
|
|
with open("sweep_decision.json", encoding="utf8") as fh:
|
|
rows = json.load(fh)
|
|
by = {(r["spec"][1], r["spec"][5], r["spec"][3]): r for r in rows}
|
|
for gu in ("project", "credit"):
|
|
base = by[("ratio", "none", gu)]["CHA"]["per"]
|
|
band = by[("ratio", "band", gu)]["CHA"]["per"]
|
|
fam = defaultdict(lambda: [0, 0])
|
|
for pid, (n0, ok0) in base.items():
|
|
n1, ok1 = band[pid]
|
|
k = pid.split(".")[0]
|
|
fam[k][0] += n0 if ok0 else 200
|
|
fam[k][1] += n1 if ok1 else 200
|
|
print(f"guard={gu}: family no-gate band delta")
|
|
for k in sorted(fam):
|
|
a, b = fam[k]
|
|
print(f" {k:<6} {a:7d} {b:6d} {b - a:+6d}")
|
|
print()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|