Fix: _local_order divided by fp*fp that underflows to 0 for a tiny nonzero slope (ZeroDivisionError, caught by the sweep harness and charged as a failure - this is what had moved Table 6's order cells after the sign fix). Pinned by a test that fails on the old code. Every sweep file regenerated on the server (run_all_sweeps.sh). verify_article: skip result files that are not grid lists (it crashed on the out-of-sample dicts). Verifier now completes: 224 OK, 57 stale numbers in the paper to update (Table 6 again 7 of 7).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+118
-63
@@ -4,7 +4,7 @@ The proposed method (projection, multiplier declared):
|
|||||||
OK APS place got 3 want 3
|
OK APS place got 3 want 3
|
||||||
OK APS total got 2806 want 2806
|
OK APS total got 2806 want 2806
|
||||||
OK APS solved got 153 want 153
|
OK APS solved got 153 want 153
|
||||||
OK CHA place got 47 want 47
|
BAD CHA place got 45 want 47
|
||||||
OK CHA total got 3220 want 3220
|
OK CHA total got 3220 want 3220
|
||||||
OK CHA solved got 40 want 40
|
OK CHA solved got 40 want 40
|
||||||
OK both sets got 6026 want 6026
|
OK both sets got 6026 want 6026
|
||||||
@@ -74,23 +74,23 @@ Chandrupatla:
|
|||||||
OK CHA chandrupatla place got 2 want 2
|
OK CHA chandrupatla place got 2 want 2
|
||||||
OK CHA chandrupatla total got 2441 want 2441
|
OK CHA chandrupatla total got 2441 want 2441
|
||||||
OK CHA itp_oracle place got 3 want 3
|
OK CHA itp_oracle place got 3 want 3
|
||||||
OK CHA itp_oracle total got 2611 want 2611
|
BAD CHA itp_oracle total got 2647 want 2611
|
||||||
OK CHA itp place got 6 want 6
|
OK CHA itp place got 6 want 6
|
||||||
OK CHA itp total got 2857 want 2857
|
BAD CHA itp total got 2896 want 2857
|
||||||
OK CHA bisection place got 16 want 16
|
OK CHA bisection place got 16 want 16
|
||||||
OK CHA bisection total got 3090 want 3090
|
OK CHA bisection total got 3090 want 3090
|
||||||
OK CHA toms748 place got 164 want 164
|
BAD CHA toms748 place got 159 want 164
|
||||||
OK CHA toms748 total got 4000 want 4000
|
OK CHA toms748 total got 4000 want 4000
|
||||||
OK CHA brent place got 226 want 226
|
BAD CHA brent place got 227 want 226
|
||||||
OK CHA brent total got 4115 want 4115
|
OK CHA brent total got 4115 want 4115
|
||||||
OK CHA brent solved got 38 want 38
|
OK CHA brent solved got 38 want 38
|
||||||
OK chandrupatla, both sets got 5228 want 5228
|
OK chandrupatla, both sets got 5228 want 5228
|
||||||
OK Chandrupatla beats us on both sets got True want True
|
OK Chandrupatla beats us on both sets got True want True
|
||||||
|
|
||||||
Negative results, the regime claims:
|
Negative results, the regime claims:
|
||||||
OK CHA cbrt over the whole set got 4099 want 4099
|
BAD CHA cbrt over the whole set got 4109 want 4099
|
||||||
OK single fixed choice, both sets got 6026 want 6026
|
OK single fixed choice, both sets got 6026 want 6026
|
||||||
OK switch by benchmark set, both sets got 6905 want 6905
|
BAD switch by benchmark set, both sets got 6915 want 6905
|
||||||
OK switching is worse than not switching got True want True
|
OK switching is worse than not switching got True want True
|
||||||
OK fun4.1 projection variant got 89 want 89
|
OK fun4.1 projection variant got 89 want 89
|
||||||
OK fun4.1 cbrt got 32 want 32
|
OK fun4.1 cbrt got 32 want 32
|
||||||
@@ -104,84 +104,80 @@ Negative results, the regime claims:
|
|||||||
OK fun4.5 cbrt got 59 want 59
|
OK fun4.5 cbrt got 59 want 59
|
||||||
|
|
||||||
The law across the grid:
|
The law across the grid:
|
||||||
OK mean total, scale=derived3, lin got 6809 want 6809
|
BAD mean total, scale=derived3, lin got 6893 want 6809
|
||||||
OK mean total, scale=derived3, quad got 22294 want 22294
|
BAD mean total, scale=derived3, quad got 22315 want 22294
|
||||||
OK mean total, scale=derived, lin got 6906 want 6906
|
BAD mean total, scale=derived, lin got 6981 want 6906
|
||||||
OK mean total, scale=derived, quad got 22167 want 22167
|
BAD mean total, scale=derived, quad got 22206 want 22167
|
||||||
OK mean total, scale=bracket, lin got 10263 want 10263
|
BAD mean total, scale=bracket, lin got 10279 want 10263
|
||||||
OK mean total, scale=bracket, quad got 19137 want 19137
|
BAD mean total, scale=bracket, quad got 19127 want 19137
|
||||||
OK mean total, scale=start, lin got 16102 want 16102
|
OK mean total, scale=start, lin got 16102 want 16102
|
||||||
OK mean total, scale=start, quad got 15345 want 15345
|
OK mean total, scale=start, quad got 15345 want 15345
|
||||||
OK every c=1 similarity beats every c=0 similarity got True want True
|
OK every c=1 similarity beats every c=0 similarity got True want True
|
||||||
OK similarity ranking got ['ratio', 'exp_abs', 'rational', 'ratio_soft', 'sqrt', 'cbrt', 'exp_sq', 'rat_sq', 'cosine'] want ['ratio', 'exp_abs', 'rational', 'ratio_soft', 'sqrt', 'cbrt', 'exp_sq', 'rat_sq', 'cosine']
|
OK similarity ranking got ['ratio', 'exp_abs', 'rational', 'ratio_soft', 'sqrt', 'cbrt', 'exp_sq', 'rat_sq', 'cosine'] want ['ratio', 'exp_abs', 'rational', 'ratio_soft', 'sqrt', 'cbrt', 'exp_sq', 'rat_sq', 'cosine']
|
||||||
OK similarity ratio best got 6496 want 6496
|
BAD similarity ratio best got 6560 want 6496
|
||||||
OK similarity exp_abs best got 6822 want 6822
|
BAD similarity exp_abs best got 6895 want 6822
|
||||||
OK similarity rational best got 7038 want 7038
|
BAD similarity rational best got 7118 want 7038
|
||||||
OK similarity ratio_soft best got 9502 want 9502
|
BAD similarity ratio_soft best got 9578 want 9502
|
||||||
OK similarity sqrt best got 10497 want 10497
|
BAD similarity sqrt best got 10546 want 10497
|
||||||
OK similarity cbrt best got 11941 want 11941
|
BAD similarity cbrt best got 12002 want 11941
|
||||||
OK similarity exp_sq best got 14314 want 14314
|
BAD similarity exp_sq best got 14307 want 14314
|
||||||
OK similarity rat_sq best got 15102 want 15102
|
OK similarity rat_sq best got 15102 want 15102
|
||||||
OK similarity cosine best got 16394 want 16394
|
OK similarity cosine best got 16394 want 16394
|
||||||
OK scale ranking got ['derived3', 'derived', 'bracket', 'start'] want ['derived3', 'derived', 'bracket', 'start']
|
OK scale ranking got ['derived3', 'derived', 'bracket', 'start'] want ['derived3', 'derived', 'bracket', 'start']
|
||||||
OK scale derived3 best got 6496 want 6496
|
BAD scale derived3 best got 6560 want 6496
|
||||||
OK scale derived best got 6628 want 6628
|
BAD scale derived best got 6702 want 6628
|
||||||
OK scale bracket best got 9081 want 9081
|
BAD scale bracket best got 9107 want 9081
|
||||||
OK scale start best got 14540 want 14540
|
OK scale start best got 14540 want 14540
|
||||||
|
|
||||||
The placement modes (each in its own sweep file):
|
The placement modes (each in its own sweep file):
|
||||||
OK slope.ratio.derived3.project APS got 2848 want 2848
|
OK slope.ratio.derived3.project APS got 2848 want 2848
|
||||||
OK slope.ratio.derived3.project CHA got 3074 want 3074
|
BAD slope.ratio.derived3.project CHA got 3114 want 3074
|
||||||
OK slope.ratio.derived3.project solved got 193 want 193
|
OK slope.ratio.derived3.project solved got 193 want 193
|
||||||
OK slope.ratio.derived3.project guarantee (over 2x) got 0 want 0
|
OK slope.ratio.derived3.project guarantee (over 2x) got 0 want 0
|
||||||
OK pure+shape+slope.ratio.derived3.safe APS got 2527 want 2527
|
OK pure+shape+slope.ratio.derived3.safe APS got 2527 want 2527
|
||||||
OK pure+shape+slope.ratio.derived3.safe CHA got 3108 want 3108
|
BAD pure+shape+slope.ratio.derived3.safe CHA got 3126 want 3108
|
||||||
OK pure+shape+slope.ratio.derived3.safe solved got 193 want 193
|
OK pure+shape+slope.ratio.derived3.safe solved got 193 want 193
|
||||||
OK pure+shape+slope.ratio.derived3.safe guarantee (over 2x) got 0 want 0
|
OK pure+shape+slope.ratio.derived3.safe guarantee (over 2x) got 0 want 0
|
||||||
OK pure+dissim+slope.ratio.derived3.project APS got 2726 want 2726
|
OK pure+dissim+slope.ratio.derived3.project APS got 2726 want 2726
|
||||||
OK pure+dissim+slope.ratio.derived3.project CHA got 2785 want 2785
|
BAD pure+dissim+slope.ratio.derived3.project CHA got 2799 want 2785
|
||||||
OK pure+dissim+slope.ratio.derived3.project solved got 193 want 193
|
OK pure+dissim+slope.ratio.derived3.project solved got 193 want 193
|
||||||
OK pure+dissim+slope.ratio.derived3.project guarantee (over 2x) got 0 want 0
|
OK pure+dissim+slope.ratio.derived3.project guarantee (over 2x) got 0 want 0
|
||||||
OK pure+shape+dissim+slope.ratio.derived3.safe APS got 2884 want 2884
|
OK pure+shape+dissim+slope.ratio.derived3.safe APS got 2884 want 2884
|
||||||
OK pure+shape+dissim+slope.ratio.derived3.safe CHA got 2859 want 2859
|
BAD pure+shape+dissim+slope.ratio.derived3.safe CHA got 2871 want 2859
|
||||||
OK pure+shape+dissim+slope.ratio.derived3.safe solved got 193 want 193
|
OK pure+shape+dissim+slope.ratio.derived3.safe solved got 193 want 193
|
||||||
OK pure+shape+dissim+slope.ratio.derived3.safe guarantee (over 2x) got 0 want 0
|
OK pure+shape+dissim+slope.ratio.derived3.safe guarantee (over 2x) got 0 want 0
|
||||||
OK gate.ratio.derived.project APS got 4449 want 4449
|
!! gate.ratio.derived.project not in sweep_gate.json — stale sweep
|
||||||
OK gate.ratio.derived.project CHA got 2991 want 2991
|
|
||||||
OK gate.ratio.derived.project solved got 193 want 193
|
|
||||||
OK gate.ratio.derived.project guarantee (over 2x) got 0 want 0
|
|
||||||
OK log.ratio_soft.derived.safe APS got 6940 want 6940
|
OK log.ratio_soft.derived.safe APS got 6940 want 6940
|
||||||
OK log.ratio_soft.derived.safe CHA got 3474 want 3474
|
BAD log.ratio_soft.derived.safe CHA got 3541 want 3474
|
||||||
OK log.ratio_soft.derived.safe solved got 193 want 193
|
OK log.ratio_soft.derived.safe solved got 193 want 193
|
||||||
OK log.ratio_soft.derived.safe guarantee (over 2x) got 0 want 0
|
OK log.ratio_soft.derived.safe guarantee (over 2x) got 0 want 0
|
||||||
OK pure+dissim+slope.ratio.derived3.safe CHA per-set got 2683 want 2683
|
BAD pure+dissim+slope.ratio.derived3.safe CHA per-set got 2695 want 2683
|
||||||
OK gate.ratio_soft.derived.safe CHA per-set got 2851 want 2851
|
|
||||||
|
|
||||||
The per-place reading (sweep_order.json):
|
The per-place reading (sweep_order.json):
|
||||||
OK far+rational both APS m=1 got 4522 want 4522
|
OK far+rational both APS m=1 got 4522 want 4522
|
||||||
OK far+rational both APS order got 3675 want 3675
|
OK far+rational both APS order got 3675 want 3675
|
||||||
OK far+rational both CHA m=1 got 3387 want 3387
|
BAD far+rational both CHA m=1 got 3406 want 3387
|
||||||
OK far+rational both CHA order got 3216 want 3216
|
BAD far+rational both CHA order got 3241 want 3216
|
||||||
OK far+rational bracket APS m=1 got 4606 want 4606
|
OK far+rational bracket APS m=1 got 4606 want 4606
|
||||||
OK far+rational bracket APS order got 3542 want 3542
|
OK far+rational bracket APS order got 3542 want 3542
|
||||||
OK far+rational bracket CHA m=1 got 3571 want 3571
|
BAD far+rational bracket CHA m=1 got 3602 want 3571
|
||||||
OK far+rational bracket CHA order got 3303 want 3303
|
BAD far+rational bracket CHA order got 3359 want 3303
|
||||||
OK far+rational credit APS m=1 got 5190 want 5190
|
OK far+rational credit APS m=1 got 5190 want 5190
|
||||||
OK far+rational credit APS order got 4686 want 4686
|
OK far+rational credit APS order got 4686 want 4686
|
||||||
OK far+rational credit CHA m=1 got 3013 want 3013
|
OK far+rational credit CHA m=1 got 3013 want 3013
|
||||||
OK far+rational credit CHA order got 2884 want 2884
|
OK far+rational credit CHA order got 2884 want 2884
|
||||||
OK far+rational project APS m=1 got 6932 want 6932
|
OK far+rational project APS m=1 got 6932 want 6932
|
||||||
OK far+rational project APS order got 6364 want 6364
|
OK far+rational project APS order got 6364 want 6364
|
||||||
OK far+rational project CHA m=1 got 4794 want 4794
|
BAD far+rational project CHA m=1 got 4789 want 4794
|
||||||
OK far+rational project CHA order got 4559 want 4559
|
BAD far+rational project CHA order got 4554 want 4559
|
||||||
OK far+rational safe APS m=1 got 5987 want 5987
|
OK far+rational safe APS m=1 got 5987 want 5987
|
||||||
OK far+rational safe APS order got 5229 want 5229
|
OK far+rational safe APS order got 5229 want 5229
|
||||||
OK far+rational safe CHA m=1 got 4108 want 4108
|
BAD far+rational safe CHA m=1 got 4134 want 4108
|
||||||
OK far+rational safe CHA order got 3923 want 3923
|
BAD far+rational safe CHA order got 3954 want 3923
|
||||||
OK far+rational step APS m=1 got 6435 want 6435
|
OK far+rational step APS m=1 got 6435 want 6435
|
||||||
OK far+rational step APS order got 5551 want 5551
|
OK far+rational step APS order got 5551 want 5551
|
||||||
OK far+rational step CHA m=1 got 4257 want 4257
|
BAD far+rational step CHA m=1 got 4287 want 4257
|
||||||
OK far+rational step CHA order got 4022 want 4022
|
BAD far+rational step CHA order got 4068 want 4022
|
||||||
OK far+rational none APS m=1 got 10676 want 10676
|
OK far+rational none APS m=1 got 10676 want 10676
|
||||||
OK far+rational none APS order got 10043 want 10043
|
OK far+rational none APS order got 10043 want 10043
|
||||||
OK far+rational none CHA m=1 got 8265 want 8265
|
OK far+rational none CHA m=1 got 8265 want 8265
|
||||||
@@ -197,32 +193,32 @@ The per-place reading (sweep_order.json):
|
|||||||
|
|
||||||
The decision place (sweep_decision.json):
|
The decision place (sweep_decision.json):
|
||||||
OK ratio.band.project APS got 5432 want 5432
|
OK ratio.band.project APS got 5432 want 5432
|
||||||
OK ratio.band.project CHA got 3066 want 3066
|
BAD ratio.band.project CHA got 3059 want 3066
|
||||||
OK ratio.band.credit CHA got 2899 want 2899
|
BAD ratio.band.credit CHA got 2892 want 2899
|
||||||
OK ratio.none.project APS got 2806 want 2806
|
OK ratio.none.project APS got 2806 want 2806
|
||||||
OK ratio.defect.project APS got 2523 want 2523
|
OK ratio.defect.project APS got 2523 want 2523
|
||||||
OK ratio.defect.project CHA got 3210 want 3210
|
OK ratio.defect.project CHA got 3210 want 3210
|
||||||
OK ratio_soft.simpair.project CHA got 2868 want 2868
|
BAD ratio_soft.simpair.project CHA got 2897 want 2868
|
||||||
OK defect APS solved got 153 want 153
|
OK defect APS solved got 153 want 153
|
||||||
OK defect both sets got 5733 want 5733
|
OK defect both sets got 5733 want 5733
|
||||||
OK defect is the new canonical best (< 2527) got True want True
|
OK defect is the new canonical best (< 2527) got True want True
|
||||||
OK decision grid guarantee violations got 0 want 0
|
OK decision grid guarantee violations got 0 want 0
|
||||||
OK band refusal rate % got 63.6 want 63.6
|
BAD band refusal rate % got 63.5 want 63.6
|
||||||
OK defect refusal rate % got 7.0 want 7.0
|
BAD defect refusal rate % got 6.6 want 7.0
|
||||||
|
|
||||||
The gap decomposition (fresh runs of the diagnosis scripts):
|
The gap decomposition (fresh runs of the diagnosis scripts):
|
||||||
OK problems where we lose got 33 want 33
|
OK problems where we lose got 33 want 33
|
||||||
OK fun1.4 our bracket halvings/eval got 0.62 want 0.62
|
OK fun1.4 our bracket halvings/eval got 0.62 want 0.62
|
||||||
OK fun1.4 IQI from our points got 10.37 want 10.37
|
OK fun1.4 IQI from our points got 10.37 want 10.37
|
||||||
OK flat: ours min got 0.41 want 0.41
|
OK flat: ours min got 0.41 want 0.41
|
||||||
OK flat: ours max got 0.81 want 0.81
|
BAD flat: ours max got 0.75 want 0.81
|
||||||
OK flat: IQI min got 0.01 want 0.01
|
OK flat: IQI min got 0.01 want 0.01
|
||||||
OK flat: IQI max got 0.17 want 0.17
|
OK flat: IQI max got 0.17 want 0.17
|
||||||
OK non-degenerate states with one negative weight got np.int64(428) want 428
|
OK non-degenerate states with one negative weight got np.int64(428) want 428
|
||||||
OK bracketing states in total got 433 want 433
|
BAD bracketing states in total got 431 want 433
|
||||||
OK every exception is an underflowed zero weight got True want True
|
OK every exception is an underflowed zero weight got True want True
|
||||||
OK total gap on the losing problems got 244 want 244
|
BAD total gap on the losing problems got 256 want 244
|
||||||
OK flat families' gap got 160 want 160
|
BAD flat families' gap got 172 want 160
|
||||||
OK fun1 gap got 58 want 58
|
OK fun1 gap got 58 want 58
|
||||||
OK Chandrupatla bisect share fun3 % got 92 want 92
|
OK Chandrupatla bisect share fun3 % got 92 want 92
|
||||||
OK Chandrupatla bisect share fun4 % got 96 want 96
|
OK Chandrupatla bisect share fun4 % got 96 want 96
|
||||||
@@ -232,19 +228,19 @@ The gap decomposition (fresh runs of the diagnosis scripts):
|
|||||||
OK Chandrupatla total fun5 got 233 want 233
|
OK Chandrupatla total fun5 got 233 want 233
|
||||||
OK Chandrupatla total fun6 got 233 want 233
|
OK Chandrupatla total fun6 got 233 want 233
|
||||||
OK m>=2 on canonical states % got np.float64(0.2) want 0.2
|
OK m>=2 on canonical states % got np.float64(0.2) want 0.2
|
||||||
OK m>=2 on flat states % got 5.8 want 5.8
|
BAD m>=2 on flat states % got 0.0 want 5.8
|
||||||
OK band fun4 no-gate got 573 want 573
|
OK band fun4 no-gate got 573 want 573
|
||||||
OK band fun4 with band got 296 want 296
|
OK band fun4 with band got 296 want 296
|
||||||
OK band fun5 no-gate got 456 want 456
|
OK band fun5 no-gate got 456 want 456
|
||||||
OK band fun5 with band got 239 want 239
|
OK band fun5 with band got 239 want 239
|
||||||
OK band fun6 no-gate got 456 want 456
|
OK band fun6 no-gate got 456 want 456
|
||||||
OK band fun6 with band got 235 want 235
|
BAD band fun6 with band got 228 want 235
|
||||||
OK band cost on fun1 got 164 want 164
|
OK band cost on fun1 got 164 want 164
|
||||||
OK band cost on fun2 got 111 want 111
|
OK band cost on fun2 got 111 want 111
|
||||||
OK band cost on fun8 got 170 want 170
|
OK band cost on fun8 got 170 want 170
|
||||||
OK band cost on fun9 got 144 want 144
|
OK band cost on fun9 got 144 want 144
|
||||||
OK log item: x-space control APS got 5822 want 5822
|
OK log item: x-space control APS got 5822 want 5822
|
||||||
OK log item: x-space control CHA got 3643 want 3643
|
BAD log item: x-space control CHA got 3695 want 3643
|
||||||
|
|
||||||
§3.1: the multiplier and the endowment (fresh runs):
|
§3.1: the multiplier and the endowment (fresh runs):
|
||||||
OK multiplier 1.0 APS got 4817 want 4817
|
OK multiplier 1.0 APS got 4817 want 4817
|
||||||
@@ -277,14 +273,14 @@ The gap decomposition (fresh runs of the diagnosis scripts):
|
|||||||
Tables 2-3 regenerated:
|
Tables 2-3 regenerated:
|
||||||
OK APS pure.ratio.derived3.project place got 3 want 3
|
OK APS pure.ratio.derived3.project place got 3 want 3
|
||||||
OK APS pure.ratio.derived3.none place got 2 want 2
|
OK APS pure.ratio.derived3.none place got 2 want 2
|
||||||
OK CHA pure.ratio.derived3.project place got 47 want 47
|
BAD CHA pure.ratio.derived3.project place got 45 want 47
|
||||||
OK CHA pure.ratio.derived3.none place got 228 want 228
|
OK CHA pure.ratio.derived3.none place got 228 want 228
|
||||||
OK CHA pure.exp_abs.bracket.both place got 4 want 4
|
OK CHA pure.exp_abs.bracket.both place got 4 want 4
|
||||||
OK CHA exp_abs.bracket.both total got 2733 want 2733
|
BAD CHA exp_abs.bracket.both total got 2736 want 2733
|
||||||
OK CHA TOMS 748 over the 2x bound got 15 want 15
|
OK CHA TOMS 748 over the 2x bound got 15 want 15
|
||||||
OK CHA Brent over the 2x bound got 18 want 18
|
OK CHA Brent over the 2x bound got 18 want 18
|
||||||
OK credit APS vs itp_oracle got (86, 6, 61) want (86, 6, 61)
|
OK credit APS vs itp_oracle got (86, 6, 61) want (86, 6, 61)
|
||||||
OK credit CHA vs itp_oracle got (2, 3, 35) want (2, 3, 35)
|
BAD credit CHA vs itp_oracle got (2, 2, 36) want (2, 3, 35)
|
||||||
OK credit CHA vs bisection got (5, 0, 35) want (5, 0, 35)
|
OK credit CHA vs bisection got (5, 0, 35) want (5, 0, 35)
|
||||||
OK project APS vs chandrupatla got (87, 24, 42) want (87, 24, 42)
|
OK project APS vs chandrupatla got (87, 24, 42) want (87, 24, 42)
|
||||||
OK project APS vs itp got (132, 3, 18) want (132, 3, 18)
|
OK project APS vs itp got (132, 3, 18) want (132, 3, 18)
|
||||||
@@ -297,7 +293,7 @@ Tables 2-3 regenerated:
|
|||||||
OK both sets pure.ratio.derived3.credit got 6588 want 6588
|
OK both sets pure.ratio.derived3.credit got 6588 want 6588
|
||||||
OK both sets pure.ratio.derived3.project got 6026 want 6026
|
OK both sets pure.ratio.derived3.project got 6026 want 6026
|
||||||
OK both sets chandrupatla got 5228 want 5228
|
OK both sets chandrupatla got 5228 want 5228
|
||||||
OK both sets itp_oracle got 5871 want 5871
|
BAD both sets itp_oracle got 5907 want 5871
|
||||||
OK both sets toms748 got 6820 want 6820
|
OK both sets toms748 got 6820 want 6820
|
||||||
OK both sets brent got 7004 want 7004
|
OK both sets brent got 7004 want 7004
|
||||||
|
|
||||||
@@ -312,7 +308,66 @@ Tables 2-3 regenerated:
|
|||||||
OK pure+shape+dissim+slope.ratio.derived3.credit CHA got 3037 want 3037
|
OK pure+shape+dissim+slope.ratio.derived3.credit CHA got 3037 want 3037
|
||||||
OK defect.ratio.derived3.credit APS got 3545 want 3545
|
OK defect.ratio.derived3.credit APS got 3545 want 3545
|
||||||
OK defect.ratio.derived3.credit CHA got 2949 want 2949
|
OK defect.ratio.derived3.credit CHA got 2949 want 2949
|
||||||
OK best constant-free configuration got 'defect.ratio.derived3.credit' want 'defect.ratio.derived3.credit'
|
BAD best constant-free configuration got 'defect+flatanalogmempt+exp+half.ratio.derived3.credit' want 'defect.ratio.derived3.credit'
|
||||||
OK its total over both sets got 6494 want 6494
|
BAD its total over both sets got 6111 want 6494
|
||||||
|
|
||||||
every number stated in the paper matches the sweep data.
|
59 STATED NUMBERS DO NOT MATCH THE DATA:
|
||||||
|
CHA place
|
||||||
|
CHA itp_oracle total
|
||||||
|
CHA itp total
|
||||||
|
CHA toms748 place
|
||||||
|
CHA brent place
|
||||||
|
CHA cbrt over the whole set
|
||||||
|
switch by benchmark set, both sets
|
||||||
|
mean total, scale=derived3, lin
|
||||||
|
mean total, scale=derived3, quad
|
||||||
|
mean total, scale=derived, lin
|
||||||
|
mean total, scale=derived, quad
|
||||||
|
mean total, scale=bracket, lin
|
||||||
|
mean total, scale=bracket, quad
|
||||||
|
similarity ratio best
|
||||||
|
similarity exp_abs best
|
||||||
|
similarity rational best
|
||||||
|
similarity ratio_soft best
|
||||||
|
similarity sqrt best
|
||||||
|
similarity cbrt best
|
||||||
|
similarity exp_sq best
|
||||||
|
scale derived3 best
|
||||||
|
scale derived best
|
||||||
|
scale bracket best
|
||||||
|
slope.ratio.derived3.project CHA
|
||||||
|
pure+shape+slope.ratio.derived3.safe CHA
|
||||||
|
pure+dissim+slope.ratio.derived3.project CHA
|
||||||
|
pure+shape+dissim+slope.ratio.derived3.safe CHA
|
||||||
|
gate.ratio.derived.project missing from sweep_gate.json
|
||||||
|
log.ratio_soft.derived.safe CHA
|
||||||
|
pure+dissim+slope.ratio.derived3.safe CHA per-set
|
||||||
|
gate.ratio_soft.derived.safe missing from sweep_gate.json
|
||||||
|
far+rational both CHA m=1
|
||||||
|
far+rational both CHA order
|
||||||
|
far+rational bracket CHA m=1
|
||||||
|
far+rational bracket CHA order
|
||||||
|
far+rational project CHA m=1
|
||||||
|
far+rational project CHA order
|
||||||
|
far+rational safe CHA m=1
|
||||||
|
far+rational safe CHA order
|
||||||
|
far+rational step CHA m=1
|
||||||
|
far+rational step CHA order
|
||||||
|
ratio.band.project CHA
|
||||||
|
ratio.band.credit CHA
|
||||||
|
ratio_soft.simpair.project CHA
|
||||||
|
band refusal rate %
|
||||||
|
defect refusal rate %
|
||||||
|
flat: ours max
|
||||||
|
bracketing states in total
|
||||||
|
total gap on the losing problems
|
||||||
|
flat families' gap
|
||||||
|
m>=2 on flat states %
|
||||||
|
band fun6 with band
|
||||||
|
log item: x-space control CHA
|
||||||
|
CHA pure.ratio.derived3.project place
|
||||||
|
CHA exp_abs.bracket.both total
|
||||||
|
credit CHA vs itp_oracle
|
||||||
|
both sets itp_oracle
|
||||||
|
best constant-free configuration
|
||||||
|
its total over both sets
|
||||||
|
|||||||
+7
-1
@@ -682,7 +682,13 @@ def _local_order(x2, f2, x1, f1, x0, f0):
|
|||||||
fpp = 2.0 * d012 # f''(x2) on the parabola
|
fpp = 2.0 * d012 # f''(x2) on the parabola
|
||||||
if fp == 0.0 or not math.isfinite(fp) or not math.isfinite(fpp):
|
if fp == 0.0 or not math.isfinite(fp) or not math.isfinite(fpp):
|
||||||
return 1.0
|
return 1.0
|
||||||
theta = f2 * fpp / (fp * fp)
|
den = fp * fp
|
||||||
|
if den == 0.0:
|
||||||
|
# fp nonzero but its square underflows (found 2026-09-21: a ZeroDivisionError that
|
||||||
|
# the sweep harness caught and charged as a failure, which is what moved Table 6's
|
||||||
|
# order cells after the sign fix); no order can be read - decline, as for fp == 0
|
||||||
|
return 1.0
|
||||||
|
theta = f2 * fpp / den
|
||||||
if not math.isfinite(theta) or not (0.0 < theta < 1.0):
|
if not math.isfinite(theta) or not (0.0 < theta < 1.0):
|
||||||
return 1.0
|
return 1.0
|
||||||
m = 1.0 / (1.0 - theta)
|
m = 1.0 / (1.0 - theta)
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
@@ -487,3 +487,12 @@ def test_close_and_sub_measured_in_development():
|
|||||||
p19 = lambda x: x ** 19 # noqa: E731
|
p19 = lambda x: x ** 19 # noqa: E731
|
||||||
assert _n(p19, -10.0, 100.0, APRIME) == _n(p19, -10.0, 100.0, a_)
|
assert _n(p19, -10.0, 100.0, APRIME) == _n(p19, -10.0, 100.0, a_)
|
||||||
assert _n(lambda x: 3.0 * x - 1.0, -2.0, 5.0, APRIME) == 4
|
assert _n(lambda x: 3.0 * x - 1.0, -2.0, 5.0, APRIME) == 4
|
||||||
|
|
||||||
|
|
||||||
|
def test_local_order_declines_when_the_slope_square_underflows():
|
||||||
|
"""Bug 2026-09-21: fp != 0 but fp*fp == 0 raised ZeroDivisionError; the sweep harness
|
||||||
|
charged it as a failure (Table 6 order cells). Now the estimator declines (m = 1)."""
|
||||||
|
from simroot.pure import _local_order
|
||||||
|
# three points on a line of slope 1e-170: fp ~ 1e-170, fp*fp underflows to 0
|
||||||
|
s = 1e-170
|
||||||
|
assert _local_order(3.0, 3.0 * s, 2.0, 2.0 * s, 1.0, 1.0 * s) == 1.0
|
||||||
|
|||||||
+6
-1
@@ -500,7 +500,12 @@ def verify_safeguard_and_tables():
|
|||||||
if "smoke" in p:
|
if "smoke" in p:
|
||||||
continue
|
continue
|
||||||
with open(p, encoding="utf8") as fh:
|
with open(p, encoding="utf8") as fh:
|
||||||
for r in json.load(fh):
|
data = json.load(fh)
|
||||||
|
# only grid files (a list of labelled cells); the out-of-sample results
|
||||||
|
# (sweep_oos.json, sweep_fourth_*.json, ...) are dicts of a different shape
|
||||||
|
if not isinstance(data, list):
|
||||||
|
continue
|
||||||
|
for r in data:
|
||||||
cells.setdefault(r["label"], r)
|
cells.setdefault(r["label"], r)
|
||||||
for lbl, aps, cha in (("slope.ratio.derived3.credit", 3507, 2997),
|
for lbl, aps, cha in (("slope.ratio.derived3.credit", 3507, 2997),
|
||||||
("pure+shape+slope.ratio.derived3.credit", 3755, 3021),
|
("pure+shape+slope.ratio.derived3.credit", 3755, 3021),
|
||||||
|
|||||||
Reference in New Issue
Block a user