(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>
254 lines
15 KiB
Plaintext
254 lines
15 KiB
Plaintext
=== diag_model_order
|
|
fun3.1 64 45 45 0.41 0.17 0.17
|
|
fun3.2 56 47 29 0.59 0.13 0.19
|
|
fun3.3 66 60 31 0.57 0.10 0.14
|
|
fun3.4 73 69 33 0.63 0.13 0.16
|
|
fun3.5 85 84 28 0.56 0.06 0.14
|
|
fun4.1 54 45 27 0.45 0.10 0.10
|
|
fun4.2 56 47 28 0.47 0.10 0.10
|
|
fun4.3 70 56 38 0.49 0.06 0.08
|
|
fun4.4 73 68 34 0.61 0.13 0.15
|
|
fun4.5 86 81 35 0.60 0.16 0.17
|
|
fun5.1 57 45 31 0.44 0.03 0.03
|
|
fun5.2 54 45 28 0.58 0.10 0.11
|
|
fun5.3 55 46 27 0.63 0.01 0.02
|
|
fun5.4 57 48 30 0.64 0.04 0.05
|
|
fun5.5 59 49 32 0.63 0.04 0.06
|
|
fun6.1 52 45 36 0.63 0.04 0.04
|
|
fun6.2 54 45 39 0.55 0.01 0.01
|
|
fun6.3 50 46 35 0.80 0.03 0.03
|
|
fun6.4 52 48 35 0.81 0.03 0.03
|
|
fun6.5 55 49 38 0.79 0.03 0.03
|
|
fun8.1 13 10 7 7.59 10.28 10.41
|
|
fun8.4 16 14 12 5.68 7.72 11.15
|
|
fun8.5 18 15 13 4.98 7.24 9.41
|
|
fun9.2 12 9 7 5.02 0.66 0.66
|
|
fun9.3 14 11 10 0.94 3.08 3.05
|
|
fun9.4 15 13 7 7.54 9.23 3.31
|
|
fun9.5 19 14 5 7.39 3.79 5.02
|
|
|
|
problems where we lose to Chandrupatla: 33, states 822
|
|
|
|
Q1 triples bracketing zero with exactly ONE negative Lagrange weight: 428/433 -> IDENTITY FAILS
|
|
model defined and landing strictly inside the proven bracket: ours 86%, iqiR 77%, iqiB 77%
|
|
|
|
Q2/Q3 mean halvings per ONE evaluation from the same state (bracket | error), valid states only
|
|
approach (error >= 1/2 bracket) ours 1.32 | 3.39 (n=40) iqiR 0.57 | 2.28 (n=6) iqiB 0.53 | 2.14 (n=6)
|
|
endgame ours 1.24 | 0.90 (n=669) iqiR 0.83 | 1.27 (n=628) iqiB 0.88 | 1.31 (n=631)
|
|
|
|
PAIRED on states where both are valid: mean (IQI - ours) bracket halvings
|
|
iqiR: -0.34 per evaluation (n=628)
|
|
iqiB: -0.23 per evaluation (n=631)
|
|
=== diag_model_order_checks
|
|
C1 Chandrupatla on the problems where we lose, by family
|
|
family probs ours CH gap CH bisect share
|
|
fun1 3 141 83 58 74%
|
|
fun2 3 99 94 5 84%
|
|
fun3 5 344 305 39 92%
|
|
fun4 5 339 297 42 96%
|
|
fun5 5 282 233 49 100%
|
|
fun6 5 263 233 30 100%
|
|
fun8 3 47 39 8 50%
|
|
fun9 4 60 47 13 40%
|
|
total gap on the losing problems: 244
|
|
|
|
C2 the 5 states breaking 'exactly one negative weight'
|
|
fun6.1 f = [1.000e-175, -1.460e-160, -1.153e-150] w = [1.000e+00, 0.000e+00, -0.000e+00] zero weights: 2 min|f| 1.0e-175
|
|
fun6.1 f = [4.634e-163, 1.000e-175, -1.460e-160] w = [-0.000e+00, 1.000e+00, 0.000e+00] zero weights: 2 min|f| 1.0e-175
|
|
fun6.3 f = [-2.588e-172, 2.588e-153, 2.588e-153] w = [1.000e+00, 0.000e+00, -0.000e+00] zero weights: 2 min|f| 2.6e-172
|
|
fun6.3 f = [6.667e-160, -2.588e-172, 2.588e-153] w = [0.000e+00, 1.000e+00, -0.000e+00] zero weights: 2 min|f| 2.6e-172
|
|
fun6.3 f = [5.745e-156, 6.667e-160, -2.588e-172] w = [-0.000e+00, 0.000e+00, 1.000e+00] zero weights: 2 min|f| 2.6e-172
|
|
=== diag_rescore_aps
|
|
APS problems: 154
|
|
|
|
method strict solved/total honest solved/total disagreements
|
|
ours (shape) 153/154 2527 154/154 2337 1
|
|
ours (dissimilar) 153/154 3123 154/154 2934 1
|
|
ours (published proj) 153/154 2806 154/154 2634 1
|
|
chandrupatla 153/154 2787 154/154 2595 1
|
|
toms748 153/154 2820 154/154 2636 1
|
|
brent 153/154 2889 154/154 2707 1
|
|
itp 153/154 3957 154/154 3767 1
|
|
bisection 153/154 7530 154/154 7338 1
|
|
|
|
problems where the two criteria disagree (a root found, scored a failure):
|
|
ours (shape) aps.13.00 x=+0.008638489218 root=+0 f(x)=+0.000e+00 after 10 evals
|
|
ours (dissimilar) aps.13.00 x=+0.0248491106 root=+0 f(x)=+0.000e+00 after 11 evals
|
|
ours (published proj) aps.13.00 x=-0.01020453457 root=+0 f(x)=+0.000e+00 after 28 evals
|
|
chandrupatla aps.13.00 x=-0.008282706313 root=+0 f(x)=+0.000e+00 after 8 evals
|
|
toms748 aps.13.00 x=-0.0002236853352 root=+0 f(x)=+0.000e+00 after 16 evals
|
|
brent aps.13.00 x=+0.01542133486 root=+0 f(x)=+0.000e+00 after 18 evals
|
|
itp aps.13.00 x=+0.03079215104 root=+0 f(x)=+0.000e+00 after 10 evals
|
|
bisection aps.13.00 x=+0.015625 root=+0 f(x)=+0.000e+00 after 8 evals
|
|
|
|
problems no method solved under the strict rule:
|
|
aps.13.00 solved by 0 of 8 methods
|
|
aps.01.00 solved by 8 of 8 methods
|
|
aps.02.00 solved by 8 of 8 methods
|
|
aps.02.01 solved by 8 of 8 methods
|
|
aps.02.02 solved by 8 of 8 methods
|
|
aps.02.03 solved by 8 of 8 methods
|
|
|
|
diagnosis of aps.13.00: bracket [-1, 4] declared root 0
|
|
f(a)=-3.678794e-01 f(b)=+3.757652e+00 f(root)=+0.000000e+00
|
|
f(root+1e-12) = +0.000000e+00 f(root-1e-12) = +0.000000e+00
|
|
f(root+1e-09) = +0.000000e+00 f(root-1e-09) = +0.000000e+00
|
|
f(root+1e-06) = +0.000000e+00 f(root-1e-06) = +0.000000e+00
|
|
f(root+0.001) = +0.000000e+00 f(root-0.001) = +0.000000e+00
|
|
ours returns x=+0.0248491106033 after 11 evals, f(x)=+0.000e+00, |x-root|=0.0248
|
|
|f(x)| below smallest normal? True
|
|
=== diag_rescore_cha
|
|
method strict: solved/total honest: solved/total fun7 strict fun7 honest
|
|
ours (shape) 40/45 3108 45/45 2159 0/5 5/5
|
|
ours (dissimilar) 40/45 2683 45/45 1740 0/5 5/5
|
|
ours (published proj) 40/45 3220 45/45 2357 0/5 5/5
|
|
chandrupatla 40/45 2441 45/45 1505 0/5 5/5
|
|
toms748 40/45 4000 45/45 3088 0/5 5/5
|
|
brent 38/45 4115 43/45 3238 0/5 5/5
|
|
itp 40/45 2857 45/45 1907 0/5 5/5
|
|
bisection 40/45 3090 45/45 2136 0/5 5/5
|
|
|
|
ranking under the HONEST criterion (fewest unsolved, then evaluations):
|
|
chandrupatla 45/45 1505
|
|
ours (dissimilar) 45/45 1740
|
|
itp 45/45 1907
|
|
bisection 45/45 2136
|
|
ours (shape) 45/45 2159
|
|
ours (published proj) 45/45 2357
|
|
toms748 45/45 3088
|
|
brent 43/45 3238
|
|
|
|
ranking under the STRICT criterion, for comparison:
|
|
chandrupatla 40/45 2441
|
|
ours (dissimilar) 40/45 2683
|
|
itp 40/45 2857
|
|
bisection 40/45 3090
|
|
ours (shape) 40/45 3108
|
|
ours (published proj) 40/45 3220
|
|
toms748 40/45 4000
|
|
brent 38/45 4115
|
|
=== diag_cha_gap
|
|
fun7.3 200 200 +0 43.3 9.1% 18.2% OURS FAIL
|
|
fun7.4 200 200 +0 45.6 0.0% 0.0% OURS FAIL
|
|
fun7.5 200 200 +0 46.6 0.0% 0.0% OURS FAIL
|
|
fun8.1 13 10 +3 40.9 0.0% 15.4%
|
|
fun8.2 11 11 +0 41.4 0.0% 18.2%
|
|
fun8.3 12 13 -1 43.0 0.0% 16.7%
|
|
fun8.4 16 14 +2 44.6 0.0% 18.8%
|
|
fun8.5 18 15 +3 46.2 0.0% 22.2%
|
|
fun9.1 8 8 +0 39.9 0.0% 0.0%
|
|
fun9.2 12 9 +3 41.4 8.3% 8.3%
|
|
fun9.3 14 11 +3 43.0 14.3% 14.3%
|
|
fun9.4 15 13 +2 44.6 13.3% 6.7%
|
|
fun9.5 19 14 +5 46.2 5.3% 5.3%
|
|
|
|
totals: ours 2683, Chandrupatla 2441, gap +242
|
|
|
|
per family (ours / theirs / gap):
|
|
fun1 n=5 160 / 103 gap +57
|
|
fun5 n=5 282 / 233 gap +49
|
|
fun4 n=5 339 / 297 gap +42
|
|
fun3 n=5 344 / 305 gap +39
|
|
fun6 n=5 263 / 233 gap +30
|
|
fun9 n=5 68 / 55 gap +13
|
|
fun8 n=5 70 / 63 gap +7
|
|
fun2 n=5 157 / 152 gap +5
|
|
fun7 n=5 1000 / 1000 gap +0
|
|
|
|
the five problems that cost us most:
|
|
fun1.4 ours 59 CH 24 gap +35
|
|
fun3.1 ours 64 CH 45 gap +19
|
|
fun1.5 ours 63 CH 44 gap +19
|
|
fun4.3 ours 70 CH 56 gap +14
|
|
fun5.1 ours 57 CH 45 gap +12
|
|
|
|
the five where we are ahead:
|
|
fun1.1 ours 7 CH 8 gap -1
|
|
fun8.3 ours 12 CH 13 gap -1
|
|
fun1.2 ours 12 CH 12 gap +0
|
|
fun2.1 ours 9 CH 9 gap +0
|
|
fun2.5 ours 49 CH 49 gap +0
|
|
=== diag_fun1_endgame
|
|
problem bracket root m ours n ord CH n ord
|
|
fun1.1 [ 2, 3] 2.0946 1.00 7 4.28 8 1.57
|
|
|f| at root+1e-5 = 1.116e-04, root+1e-2 = 1.122e-01, ours x=+2.094551482 ok=True
|
|
fun1.2 [ 1, 10] 2.0946 1.00 12 1.87 12 1.81
|
|
|f| at root+1e-5 = 1.116e-04, root+1e-2 = 1.122e-01, ours x=+2.094551482 ok=True
|
|
fun1.3 [ 1, 100] 2.0946 1.00 19 2.46 15 1.67
|
|
|f| at root+1e-5 = 1.116e-04, root+1e-2 = 1.122e-01, ours x=+2.094551482 ok=True
|
|
fun1.4 [ -1e+04, 1e+04] 2.0946 1.00 59 3.63 24 2.02
|
|
|f| at root+1e-5 = 1.116e-04, root+1e-2 = 1.122e-01, ours x=+2.094551482 ok=True
|
|
fun1.5 [ -1e+10, 1e+10] 2.0946 1.00 63 1.85 44 2.20
|
|
|f| at root+1e-5 = 1.116e-04, root+1e-2 = 1.122e-01, ours x=+2.094551482 ok=True
|
|
=== diag_who_caps_us
|
|
problem width bisect CH none step project safe credit
|
|
fun1.1 1 42 8 7 7 7 7 19
|
|
fun1.2 9 46 12 12 12 12 12 45
|
|
fun1.3 99 49 15 30 19 30 19 50
|
|
fun1.4 2e+04 57 24 46 59 46 59 58
|
|
fun1.5 2e+10 77 44 57 63 57 63 76
|
|
fun3.1 5 45 45 61 64 61 64 46
|
|
fun4.3 2e+04 57 56 73 70 73 70 58
|
|
fun5.1 5 45 45 68 57 68 57 46
|
|
|
|
legend: ✗ = the run did not reach the root (an unguarded method may not)
|
|
if guard='none' marches where 'safe'/'project' crawl, the GUARANTEE is the cap;
|
|
if 'none' crawls too, the STEP RULE is the cap.
|
|
=== diag_sign_flips
|
|
problem method evals probes that shrank share halvings/eval
|
|
fun1.3 ours 19 15 78.9% 2.498
|
|
fun1.3 chandrupatla 15 13 86.7% 3.166
|
|
fun1.4 ours 59 54 91.5% 0.930
|
|
fun1.4 chandrupatla 24 21 87.5% 2.298
|
|
fun1.5 ours 63 60 95.2% 1.179
|
|
fun1.5 chandrupatla 44 41 93.2% 1.706
|
|
fun3.1 ours 64 61 95.3% 0.672
|
|
fun3.1 chandrupatla 45 43 95.6% 0.956
|
|
fun5.1 ours 57 47 82.5% 0.741
|
|
fun5.1 chandrupatla 45 43 95.6% 0.956
|
|
=== diag_fun7_root
|
|
fun7.1 declared root +0
|
|
ours returned x=+0.0248491106 after 11 evals f(x)=+0.000e+00 |x-root|=0.0248 f IS ZERO THERE
|
|
chandrupatla returned x=-0.008282706313 after 8 evals f(x)=-0.000e+00 |x-root|=0.00828 f IS ZERO THERE
|
|
f is identically zero at least up to root + 0.0316
|
|
fun7.2 declared root +0
|
|
ours returned x=-0.02750094689 after 11 evals f(x)=-0.000e+00 |x-root|=0.0275 f IS ZERO THERE
|
|
chandrupatla returned x=-0.00805799861 after 8 evals f(x)=-0.000e+00 |x-root|=0.00806 f IS ZERO THERE
|
|
f is identically zero at least up to root + 0.0316
|
|
fun7.3 declared root +0
|
|
ours returned x=+0.005929390833 after 11 evals f(x)=+0.000e+00 |x-root|=0.00593 f IS ZERO THERE
|
|
chandrupatla returned x=-0.02563062503 after 11 evals f(x)=-0.000e+00 |x-root|=0.0256 f IS ZERO THERE
|
|
f is identically zero at least up to root + 0.0316
|
|
fun7.4 declared root +0
|
|
ours returned x=+0.01889661575 after 11 evals f(x)=+0.000e+00 |x-root|=0.0189 f IS ZERO THERE
|
|
chandrupatla returned x=-0.001938145806 after 18 evals f(x)=-0.000e+00 |x-root|=0.00194 f IS ZERO THERE
|
|
f is identically zero at least up to root + 0.0316
|
|
fun7.5 declared root +0
|
|
ours returned x=+0.008107544271 after 13 evals f(x)=+0.000e+00 |x-root|=0.00811 f IS ZERO THERE
|
|
chandrupatla returned x=+0.02036778628 after 19 evals f(x)=+0.000e+00 |x-root|=0.0204 f IS ZERO THERE
|
|
f is identically zero at least up to root + 0.0316
|
|
=== diag_band_by_family
|
|
guard=project: family no-gate band delta
|
|
fun1 99 263 +164
|
|
fun2 141 252 +111
|
|
fun3 338 310 -28
|
|
fun4 573 296 -277
|
|
fun5 456 239 -217
|
|
fun6 456 235 -221
|
|
fun7 1000 1000 +0
|
|
fun8 52 222 +170
|
|
fun9 105 249 +144
|
|
|
|
guard=credit: family no-gate band delta
|
|
fun1 258 239 -19
|
|
fun2 292 271 -21
|
|
fun3 274 237 -37
|
|
fun4 294 234 -60
|
|
fun5 238 238 +0
|
|
fun6 238 235 -3
|
|
fun7 1000 1000 +0
|
|
fun8 220 218 -2
|
|
fun9 206 227 +21
|
|
|
|
DIAGS_DONE
|