Valeri's decisions (1) competitors from the library, (2) variant a. (1) Chandrupatla is scipy.optimize.elementwise.find_root, Brent is brentq, no more per-problem best_of. Our Chandrupatla stopped on a bracket twice as wide as every other method (the factor the protocol corrects for ITP); fixed (+0.5*xtol) in baselines.py and in the two copies found by grep (stage16_blend, stage19_modern) and the traced mirror, and pinned: ours == library on every problem. Regenerating sweep_full.json changed exactly three rows - chandrupatla APS 2785->2787, CHA 2423->2441, brent CHA 4099->4115 - and nothing else (diff_sweeps.py: 0 unexpected).

(2) The proposed method is again the scheduled projection (2806/3220/6026), its budget multiplier DECLARED as the one free constant: the canonical total is the same for every multiplier 1.25-4, the wide-bracket one is not. The earned projection is the constant-free variant (3568/3020/6588). What the old tables hid: problem by problem the proposed rule beats Chandrupatla on the canonical set 87/24/42, exact sign test p = 9e-5, while trailing him by 0.7% in total; on the wide-bracket set he is genuinely stronger (26 to 9, p = 0.006). Gap decomposition recomputed with the library: 244 (was 262), 160 of it on the flat families (two thirds), fun1 58 (a quarter, not a third as the abstract said).

Also corrected on the way: the 'subsumed by Chandrupatla' pin claimed he is better on the worst single problem - true only with the looser tolerance (84 against the credit rule's 83 once fixed); §8.3 still called zero slack degenerate, which Table 1a refutes; §5.2's Brent figure is our pure-Python implementation and now says so. verify_article.py 286/286, 802 tests pass twice.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
vvs
2026-09-21 10:53:00 +01:00
co-authored by Claude Opus 5
parent de90c7a089
commit 1b6c626f67
32 changed files with 950 additions and 186 deletions
+14 -14
View File
@@ -3,15 +3,15 @@ configurations in the sweep: 264
APS, 154 problems
| # | configuration | tuned | solved | total evals | $>2\times$ |
|---|---|---|---|---|---|
| 1 | Chandrupatla | no | 153/154 | 2785 | 0 |
| 1 | Chandrupatla | no | 153/154 | 2787 | 0 |
| 2 | the same rule with no safeguard at all | no | 153/154 | 2806 | 0 |
| 3 | projection variant (tent, 3-point, projection) | no | 153/154 | 2806 | 0 |
| 3 | **proposed: tent, 3-point, projection ($c=2$)** | no | 153/154 | 2806 | 0 |
| 4 | TOMS 748 | yes | 153/154 | 2820 | 0 |
| 5 | Brent | yes | 153/154 | 2889 | 0 |
| 12 | Dekker | no | 153/154 | 3158 | 0 |
| 13 | ITP, per-problem oracle | yes | 153/154 | 3260 | 0 |
| 20 | Ridders | no | 153/154 | 3313 | 0 |
| 29 | **proposed: tent, 3-point, credit** | no | 153/154 | 3568 | 0 |
| 29 | constant-free variant: earned projection | no | 153/154 | 3568 | 0 |
| 34 | ITP, recommended constants | yes | 153/154 | 3957 | 0 |
| 73 | Illinois | yes | 153/154 | 7045 | 0 |
| 79 | bisection | no | 153/154 | 7530 | 0 |
@@ -21,27 +21,27 @@ CHA, 45 problems
| # | configuration | tuned | solved | total evals | $>2\times$ |
|---|---|---|---|---|---|
| 1 | similarity, $1-\sqrt{|z|}$, bracket scale, projection | no | 41/45 | 4516 | 0 |
| 2 | Chandrupatla | no | 40/45 | 2423 | 0 |
| 2 | Chandrupatla | no | 40/45 | 2441 | 0 |
| 3 | ITP, per-problem oracle | yes | 40/45 | 2611 | 0 |
| 4 | similarity, $e^{-|z|}$, bracket scale, both guards | no | 40/45 | 2733 | 0 |
| 6 | ITP, recommended constants | yes | 40/45 | 2857 | 0 |
| 10 | **proposed: tent, 3-point, credit** | no | 40/45 | 3020 | 0 |
| 10 | constant-free variant: earned projection | no | 40/45 | 3020 | 0 |
| 16 | bisection | no | 40/45 | 3090 | 0 |
| 47 | projection variant (tent, 3-point, projection) | no | 40/45 | 3220 | 0 |
| 47 | **proposed: tent, 3-point, projection ($c=2$)** | no | 40/45 | 3220 | 0 |
| 164 | TOMS 748 | yes | 40/45 | 4000 | 15 |
| 226 | Brent | yes | 38/45 | 4099 | 18 |
| 226 | Brent | yes | 38/45 | 4115 | 18 |
| 228 | the same rule with no safeguard at all | no | 35/45 | 4104 | 10 |
head to head, pure.ratio.derived3.project (wins/ties/losses on problems both solve)
APS: chandrupatla 87/24/42, toms748 86/16/51, brent 102/11/40, itp 132/3/18, itp_oracle 121/4/28, bisection 152/1/0
CHA: chandrupatla 9/5/26, toms748 31/1/8, brent 30/4/4, itp 17/0/23, itp_oracle 16/0/24, bisection 21/0/19
head to head, pure.ratio.derived3.credit (wins/ties/losses on problems both solve)
APS: chandrupatla 79/3/71, toms748 77/9/67, brent 78/5/70, itp 103/10/40, itp_oracle 86/6/61, bisection 122/1/30
CHA: chandrupatla 5/0/35, toms748 24/0/16, brent 18/0/20, itp 12/20/8, itp_oracle 2/3/35, bisection 5/0/35
head to head, pure.ratio.derived3.project (wins/ties/losses on problems both solve)
APS: chandrupatla 86/25/42, toms748 86/16/51, brent 102/11/40, itp 132/3/18, itp_oracle 121/4/28, bisection 152/1/0
CHA: chandrupatla 9/5/26, toms748 31/1/8, brent 30/4/4, itp 17/0/23, itp_oracle 16/0/24, bisection 21/0/19
both sets pure.ratio.derived3.credit 6588
both sets pure.ratio.derived3.project 6026
both sets chandrupatla 5208
both sets pure.ratio.derived3.credit 6588
both sets chandrupatla 5228
both sets toms748 6820
both sets brent 6988
both sets brent 7004
both sets itp_oracle 5871