summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhaoyuren <13851610112@163.com>2026-07-28 23:31:36 +0800
committerhaoyuren <13851610112@163.com>2026-07-28 23:31:36 +0800
commit489da71c7af8304a86ed761359614d71288425cf (patch)
tree87ae94b2fc3c44e41aa967426aeab1bcf337dc66
parent3b5f01cb4db9efc4ceb2ba17709bbfc82a63e660 (diff)
Add cluster bootstrap metrics, supplementary finite-time figure, teacher nested SEs
finite_time_supplement.py computes 95% cluster bootstrap intervals for the predictor metrics (resampling forward initializations within each cell) and renders the six-panel supplementary figure. The table generator gains the teacher-task nested-SE fragment, computed from the raw paired rows pulled from the experiment machine. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-rw-r--r--outputs/aaai_supplementary/finite_time_supplement.pdfbin0 -> 76777 bytes
-rw-r--r--outputs/aaai_supplementary/finite_time_supplement.pngbin0 -> 517721 bytes
-rw-r--r--outputs/tables/finite_time_metrics_ci.tex9
-rw-r--r--outputs/tables/teacher_nested_se.tex14
-rw-r--r--outputs/teacher_test_gap_sgd_T8000/runs.csv217
-rw-r--r--outputs/teacher_test_gap_sgd_T8000/summary.json251
-rw-r--r--outputs/teacher_test_gap_sgd_T8000/width_summary.csv9
-rw-r--r--scripts/finite_time_supplement.py189
-rw-r--r--scripts/generate_paper_tables.py30
9 files changed, 719 insertions, 0 deletions
diff --git a/outputs/aaai_supplementary/finite_time_supplement.pdf b/outputs/aaai_supplementary/finite_time_supplement.pdf
new file mode 100644
index 0000000..eced350
--- /dev/null
+++ b/outputs/aaai_supplementary/finite_time_supplement.pdf
Binary files differ
diff --git a/outputs/aaai_supplementary/finite_time_supplement.png b/outputs/aaai_supplementary/finite_time_supplement.png
new file mode 100644
index 0000000..6731d61
--- /dev/null
+++ b/outputs/aaai_supplementary/finite_time_supplement.png
Binary files differ
diff --git a/outputs/tables/finite_time_metrics_ci.tex b/outputs/tables/finite_time_metrics_ci.tex
new file mode 100644
index 0000000..b72f013
--- /dev/null
+++ b/outputs/tables/finite_time_metrics_ci.tex
@@ -0,0 +1,9 @@
+\begin{tabular}{@{}>{\raggedright\arraybackslash}p{2.4cm}ccc@{}}
+\toprule
+Predictor & MAE & Relative MAE & Correlation \\
+\midrule
+Frozen initialization operator & 0.06693 [0.05895, 0.07549] & 28.56\% [25.71, 31.68] & 0.97166 [0.95093, 0.98760] \\
+Linear extrapolation & 0.01043 [0.00890, 0.01205] & 4.45\% [3.82, 5.12] & 0.99492 [0.99259, 0.99691] \\
+Relinearization & 0.01394 [0.01254, 0.01544] & 5.95\% [5.45, 6.46] & 0.99830 [0.99747, 0.99902] \\
+\bottomrule
+\end{tabular}
diff --git a/outputs/tables/teacher_nested_se.tex b/outputs/tables/teacher_nested_se.tex
new file mode 100644
index 0000000..52e4e96
--- /dev/null
+++ b/outputs/tables/teacher_nested_se.tex
@@ -0,0 +1,14 @@
+\begin{tabular}{@{}rcc@{}}
+\toprule
+Width & Train difference & Test difference \\
+\midrule
+8 & \(0.2495\pm0.0097\) & \(0.1770\pm0.0483\) \\
+12 & \(0.1581\pm0.0089\) & \(0.0381\pm0.0202\) \\
+16 & \(0.1115\pm0.0108\) & \(-0.0380\pm0.0173\) \\
+24 & \(0.0803\pm0.0077\) & \(-0.0442\pm0.0454\) \\
+32 & \(0.0847\pm0.0039\) & \(-0.1202\pm0.0161\) \\
+48 & \(0.0485\pm0.0023\) & \(-0.0138\pm0.0328\) \\
+64 & \(0.0263\pm0.0005\) & \(0.0097\pm0.0078\) \\
+96 & \(0.0069\pm0.0006\) & \(0.0448\pm0.0197\) \\
+\bottomrule
+\end{tabular}
diff --git a/outputs/teacher_test_gap_sgd_T8000/runs.csv b/outputs/teacher_test_gap_sgd_T8000/runs.csv
new file mode 100644
index 0000000..4f45cb1
--- /dev/null
+++ b/outputs/teacher_test_gap_sgd_T8000/runs.csv
@@ -0,0 +1,217 @@
+width,parameter_count,init_seed,feedback_seed,run_type,train_mse,test_mse,bp_train_mse,bp_test_mse,train_gap_to_bp,test_gap_to_bp,task_dimension,fa_constraint_rank,bp_capacity_margin,fa_capacity_margin,d_eff,hard_rank,jacobian_lambda,fa_burden_nats,redundancy_score
+8,224,10000,-1,bp,0.4952009583197389,0.9621606597240092,0.4952009583197389,0.9621606597240092,0.0,0.0,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10000,100000,fa,0.9275966358809321,1.1454224579830696,0.4952009583197389,0.9621606597240092,0.4323956775611932,0.18326179825906042,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10000,100001,fa,0.7366047383068608,1.0095927859575324,0.4952009583197389,0.9621606597240092,0.24140377998712187,0.04743212623352322,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10000,100002,fa,0.6260286885374305,1.002167306364367,0.4952009583197389,0.9621606597240092,0.13082773021769162,0.0400066466403578,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10000,100003,fa,0.7253343061258305,1.0428758439300947,0.4952009583197389,0.9621606597240092,0.23013334780609157,0.08071518420608548,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10000,100004,fa,0.7049488865379874,0.9422072964828052,0.4952009583197389,0.9621606597240092,0.20974792821824845,-0.019953363241204003,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10000,100005,fa,0.7892707387406073,1.0577266610166345,0.4952009583197389,0.9621606597240092,0.29406978042086834,0.09556600129262527,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10000,100006,fa,0.8788672604166706,1.1526379087419558,0.4952009583197389,0.9621606597240092,0.3836663020969317,0.1904772490179466,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10000,100007,fa,0.6075292637173373,0.9880074777128072,0.4952009583197389,0.9621606597240092,0.11232830539759836,0.025846817988797954,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,-1,bp,0.4879315126746132,0.8154763640091057,0.4879315126746132,0.8154763640091057,0.0,0.0,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,101000,fa,0.6991398552505736,0.9591968314860319,0.4879315126746132,0.8154763640091057,0.21120834257596044,0.14372046747692613,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,101001,fa,0.6699041881784957,0.9317033619884159,0.4879315126746132,0.8154763640091057,0.18197267550388252,0.11622699797931013,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,101002,fa,0.7172688432282049,1.040597039762879,0.4879315126746132,0.8154763640091057,0.22933733055359173,0.22512067575377326,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,101003,fa,0.752096882921452,1.0690084745012183,0.4879315126746132,0.8154763640091057,0.26416537024683884,0.25353211049211255,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,101004,fa,0.7107008748195488,1.0580466055255089,0.4879315126746132,0.8154763640091057,0.2227693621449356,0.24257024151640316,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,101005,fa,0.7646016706945012,1.0078660781916466,0.4879315126746132,0.8154763640091057,0.27667015801988804,0.19238971418254092,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,101006,fa,0.8359813810409717,1.092607133690244,0.4879315126746132,0.8154763640091057,0.34804986836635854,0.27713076968113837,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10001,101007,fa,0.8605002535328545,1.1703053214142827,0.4879315126746132,0.8154763640091057,0.3725687408582413,0.35482895740517695,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,-1,bp,0.47649429044385727,0.7865215138327336,0.47649429044385727,0.7865215138327336,0.0,0.0,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,102000,fa,0.6026269660281811,0.9270418078434365,0.47649429044385727,0.7865215138327336,0.12613267558432384,0.14052029401070287,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,102001,fa,0.6811066196179811,0.9914389994913364,0.47649429044385727,0.7865215138327336,0.20461232917412386,0.2049174856586028,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,102002,fa,0.7287367365898582,1.054505827068801,0.47649429044385727,0.7865215138327336,0.2522424461460009,0.2679843132360674,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,102003,fa,0.6658281109412408,0.958245546217245,0.47649429044385727,0.7865215138327336,0.18933382049738356,0.1717240323845114,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,102004,fa,0.7399521443599997,1.1007435764383176,0.47649429044385727,0.7865215138327336,0.2634578539161424,0.31422206260558394,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,102005,fa,0.7275936912488867,0.9922347911596119,0.47649429044385727,0.7865215138327336,0.25109940080502946,0.20571327732687827,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,102006,fa,0.7527789654093937,1.116514476005326,0.47649429044385727,0.7865215138327336,0.27628467496553644,0.32999296217259244,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+8,224,10002,102007,fa,0.7594530589827532,0.9510138161949123,0.47649429044385727,0.7865215138327336,0.2829587685388959,0.1644923023621787,1024,94,-800,-894,0.0,0,0.0,1.3936644807238818,222.60633551927612
+12,384,10000,-1,bp,0.34777271222209083,0.920507057720356,0.34777271222209083,0.920507057720356,0.0,0.0,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10000,100000,fa,0.41282221573418676,0.9869850222237238,0.34777271222209083,0.920507057720356,0.06504950351209593,0.06647796450336774,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10000,100001,fa,0.5688858727531606,1.0945393723559271,0.34777271222209083,0.920507057720356,0.22111316053106977,0.17403231463557112,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10000,100002,fa,0.4507291386332529,0.9060409691219711,0.34777271222209083,0.920507057720356,0.1029564264111621,-0.01446608859838494,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10000,100003,fa,0.5099394351814488,0.9338405518693278,0.34777271222209083,0.920507057720356,0.16216672295935797,0.01333349414897178,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10000,100004,fa,0.5549187932912877,0.8478279688509379,0.34777271222209083,0.920507057720356,0.20714608106919685,-0.0726790888694181,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10000,100005,fa,0.48123356635199516,0.9115863046703636,0.34777271222209083,0.920507057720356,0.13346085412990433,-0.008920753049992403,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10000,100006,fa,0.6030145994401004,1.0039436407044204,0.34777271222209083,0.920507057720356,0.25524188721800956,0.08343658298406442,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10000,100007,fa,0.4894497777765733,0.8816584894070948,0.34777271222209083,0.920507057720356,0.14167706555448245,-0.03884856831326122,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,-1,bp,0.35606384243686107,0.9342105675884302,0.35606384243686107,0.9342105675884302,0.0,0.0,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,101000,fa,0.5043347117256756,0.9706297398451471,0.35606384243686107,0.9342105675884302,0.1482708692888145,0.03641917225671687,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,101001,fa,0.46985412607040544,0.8028858264857779,0.35606384243686107,0.9342105675884302,0.11379028363354438,-0.13132474110265235,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,101002,fa,0.43586272903537704,0.9162608473564149,0.35606384243686107,0.9342105675884302,0.07979888659851597,-0.017949720232015354,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,101003,fa,0.48638522512216237,0.8921778130132978,0.35606384243686107,0.9342105675884302,0.1303213826853013,-0.04203275457513245,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,101004,fa,0.578418789928898,0.9913941413083355,0.35606384243686107,0.9342105675884302,0.22235494749203688,0.057183573719905234,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,101005,fa,0.673861921893898,1.0846784245374304,0.35606384243686107,0.9342105675884302,0.317798079457037,0.1504678569490001,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,101006,fa,0.6151494029920107,0.9861866234789399,0.35606384243686107,0.9342105675884302,0.25908556055514964,0.05197605589050969,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10001,101007,fa,0.4592207807921548,0.9200320403901764,0.35606384243686107,0.9342105675884302,0.10315693835529371,-0.014178527198253854,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,-1,bp,0.3503382098069395,0.818945730968873,0.3503382098069395,0.818945730968873,0.0,0.0,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,102000,fa,0.5106210834351317,0.942639096750939,0.3503382098069395,0.818945730968873,0.16028287362819216,0.12369336578206602,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,102001,fa,0.46914037059901387,0.9062961911732285,0.3503382098069395,0.818945730968873,0.11880216079207434,0.08735046020435544,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,102002,fa,0.48789450452741207,0.8843818545611366,0.3503382098069395,0.818945730968873,0.13755629472047254,0.06543612359226358,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,102003,fa,0.4128355942676408,0.8054660335405419,0.3503382098069395,0.818945730968873,0.0624973844607013,-0.013479697428331106,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,102004,fa,0.5066435636320328,0.921396467411355,0.3503382098069395,0.818945730968873,0.15630535382509325,0.10245073644248193,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,102005,fa,0.6252037010617216,0.9995676254707561,0.3503382098069395,0.818945730968873,0.2748654912547821,0.18062189450188304,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,102006,fa,0.4153122002714283,0.8574999096479702,0.3503382098069395,0.818945730968873,0.06497399046448876,0.03855417867909716,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+12,384,10002,102007,fa,0.505837669660649,0.8551692795431393,0.3503382098069395,0.818945730968873,0.1554994598537095,0.03622354857426624,1024,190,-640,-830,0.0,0,0.0,2.1683902917154665,381.83160970828453
+16,576,10000,-1,bp,0.2439811719853603,0.883343588099454,0.2439811719853603,0.883343588099454,0.0,0.0,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10000,100000,fa,0.3321702806775417,0.7784411985187851,0.2439811719853603,0.883343588099454,0.08818910869218138,-0.10490238958066889,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10000,100001,fa,0.3274502825195831,0.8503824285748005,0.2439811719853603,0.883343588099454,0.08346911053422279,-0.032961159524653505,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10000,100002,fa,0.33633762729532224,0.7835147969730578,0.2439811719853603,0.883343588099454,0.09235645530996195,-0.0998287911263962,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10000,100003,fa,0.3838011378859223,0.9747327384315445,0.2439811719853603,0.883343588099454,0.139819965900562,0.0913891503320905,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10000,100004,fa,0.34374576090256964,0.8846598947575767,0.2439811719853603,0.883343588099454,0.09976458891720935,0.0013163066581226568,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10000,100005,fa,0.33086269270227264,0.851917967382244,0.2439811719853603,0.883343588099454,0.08688152071691235,-0.03142562071721,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10000,100006,fa,0.34597627083037813,0.8549172152735895,0.2439811719853603,0.883343588099454,0.10199509884501784,-0.028426372825864465,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10000,100007,fa,0.36044467987845985,0.9689315254519226,0.2439811719853603,0.883343588099454,0.11646350789309956,0.08558793735246861,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,-1,bp,0.2529044364276311,0.9241265831482188,0.2529044364276311,0.9241265831482188,0.0,0.0,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,101000,fa,0.3513695871541905,0.9833835729111897,0.2529044364276311,0.9241265831482188,0.09846515072655937,0.05925698976297089,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,101001,fa,0.30831751639054483,0.8749284449671384,0.2529044364276311,0.9241265831482188,0.055413079962913725,-0.04919813818108043,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,101002,fa,0.3454579514285602,0.9385182206571913,0.2529044364276311,0.9241265831482188,0.09255351500092907,0.014391637508972432,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,101003,fa,0.4639688558633682,0.9476911122979153,0.2529044364276311,0.9241265831482188,0.21106441943573712,0.023564529149696423,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,101004,fa,0.32477214541086136,0.8892212761697385,0.2529044364276311,0.9241265831482188,0.07186770898323025,-0.03490530697848038,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,101005,fa,0.33193080310135753,0.8258880518582079,0.2529044364276311,0.9241265831482188,0.07902636667372642,-0.09823853129001092,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,101006,fa,0.3421895765318185,0.8757033233224298,0.2529044364276311,0.9241265831482188,0.08928514010418737,-0.04842325982578899,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10001,101007,fa,0.3576415341326835,0.8406565586143218,0.2529044364276311,0.9241265831482188,0.1047370977050524,-0.08347002453389707,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,-1,bp,0.2592002005425885,0.9502944211148228,0.2592002005425885,0.9502944211148228,0.0,0.0,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,102000,fa,0.3264760029601896,0.7486616795468591,0.2592002005425885,0.9502944211148228,0.06727580241760106,-0.20163274156796362,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,102001,fa,0.33810792734632067,0.8776697980865685,0.2592002005425885,0.9502944211148228,0.07890772680373215,-0.07262462302825423,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,102002,fa,0.5067367227100352,1.015751355723818,0.2592002005425885,0.9502944211148228,0.2475365221674467,0.06545693460899527,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,102003,fa,0.36456802615673645,0.7989872035067991,0.2592002005425885,0.9502944211148228,0.10536782561414793,-0.15130721760802368,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,102004,fa,0.4356321010159642,0.8716442818932084,0.2592002005425885,0.9502944211148228,0.1764319004733757,-0.07865013922161435,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,102005,fa,0.3835404255371545,0.9611266894150641,0.2592002005425885,0.9502944211148228,0.12434022499456598,0.01083226830024131,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,102006,fa,0.38621645240599756,0.912566883056922,0.2592002005425885,0.9502944211148228,0.12701625186340904,-0.037727538057900745,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+16,576,10002,102007,fa,0.3973349236923248,0.8405336736164408,0.2592002005425885,0.9502944211148228,0.1381347231497363,-0.10976074749838194,1024,318,-448,-766,0.0,0,0.0,3.058119959290285,572.9418800407097
+24,1056,10000,-1,bp,0.13065904094811714,0.8497841097570915,0.13065904094811714,0.8497841097570915,0.0,0.0,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10000,100000,fa,0.25747211598046893,0.9065429674704195,0.13065904094811714,0.8497841097570915,0.12681307503235179,0.056758857713328004,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10000,100001,fa,0.2647135216601716,0.9510709496202499,0.13065904094811714,0.8497841097570915,0.13405448071205445,0.10128683986315834,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10000,100002,fa,0.1837758280610008,0.7998449210638156,0.13065904094811714,0.8497841097570915,0.053116787112883646,-0.04993918869327596,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10000,100003,fa,0.2264273917632258,0.9168677091682403,0.13065904094811714,0.8497841097570915,0.09576835081510865,0.06708359941114883,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10000,100004,fa,0.21869289816486237,0.8691066297545441,0.13065904094811714,0.8497841097570915,0.08803385721674523,0.019322519997452603,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10000,100005,fa,0.18665942605059488,0.9233008234145204,0.13065904094811714,0.8497841097570915,0.056000385102477734,0.07351671365742884,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10000,100006,fa,0.23104475989147522,0.9579787539975267,0.13065904094811714,0.8497841097570915,0.10038571894335807,0.10819464424043523,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10000,100007,fa,0.2068582450244019,0.8268452670147055,0.13065904094811714,0.8497841097570915,0.07619920407628475,-0.022938842742386,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,-1,bp,0.12948275317210048,0.9914044943407949,0.12948275317210048,0.9914044943407949,0.0,0.0,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,101000,fa,0.27235516761229217,1.0237276389001497,0.12948275317210048,0.9914044943407949,0.1428724144401917,0.03232314455935481,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,101001,fa,0.24050608293172138,0.7940924915549684,0.12948275317210048,0.9914044943407949,0.1110233297596209,-0.1973120027858265,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,101002,fa,0.18001143836272812,0.8830507728833842,0.12948275317210048,0.9914044943407949,0.05052868519062764,-0.10835372145741073,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,101003,fa,0.20757145419936956,0.9824840951463613,0.12948275317210048,0.9914044943407949,0.07808870102726909,-0.00892039919443366,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,101004,fa,0.21366053950424901,0.9210948972672077,0.12948275317210048,0.9914044943407949,0.08417778633214854,-0.0703095970735872,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,101005,fa,0.19506718643219564,0.8194106456118719,0.12948275317210048,0.9914044943407949,0.06558443326009517,-0.17199384872892298,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,101006,fa,0.24620931640273377,0.8108302203764727,0.12948275317210048,0.9914044943407949,0.1167265632306333,-0.18057427396432224,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10001,101007,fa,0.15241441719002236,0.8423513253161624,0.12948275317210048,0.9914044943407949,0.022931664017921877,-0.1490531690246325,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,-1,bp,0.15889363373892187,0.9468862360739708,0.15889363373892187,0.9468862360739708,0.0,0.0,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,102000,fa,0.2747372266748481,0.9045667355908148,0.15889363373892187,0.9468862360739708,0.11584359293592625,-0.042319500483156025,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,102001,fa,0.16362995448406226,0.9165949353228693,0.15889363373892187,0.9468862360739708,0.004736320745140382,-0.030291300751101535,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,102002,fa,0.2333962915548835,0.8279301865496661,0.15889363373892187,0.9468862360739708,0.07450265781596163,-0.11895604952430472,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,102003,fa,0.24413737756335502,0.8222716776897642,0.15889363373892187,0.9468862360739708,0.08524374382443314,-0.12461455838420665,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,102004,fa,0.2079706156714675,0.8330752328207052,0.15889363373892187,0.9468862360739708,0.049076981932545616,-0.11381100325326565,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,102005,fa,0.2385019866977135,0.9461234454836729,0.15889363373892187,0.9468862360739708,0.07960835295879162,-0.0007627905902979348,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,102006,fa,0.19371887413373282,0.9094618419050033,0.15889363373892187,0.9468862360739708,0.03482524039481094,-0.03742439416896748,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+24,1056,10002,102007,fa,0.23937956032289504,0.85448009783364,0.15889363373892187,0.9468862360739708,0.08048592658397316,-0.09240613824033084,1024,670,32,-638,0.0,0,0.0,5.228037692481937,1050.7719623075182
+32,1664,10000,-1,bp,0.06439944740455494,1.0750396524759267,0.06439944740455494,1.0750396524759267,0.0,0.0,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10000,100000,fa,0.14228104668512384,0.8782528628280518,0.06439944740455494,1.0750396524759267,0.0778815992805689,-0.19678678964787488,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10000,100001,fa,0.1721002676771638,1.0218390744829584,0.06439944740455494,1.0750396524759267,0.10770082027260885,-0.05320057799296829,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10000,100002,fa,0.16200792519067628,0.955804256334742,0.06439944740455494,1.0750396524759267,0.09760847778612133,-0.11923539614118472,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10000,100003,fa,0.17069500058368398,0.9714084595527724,0.06439944740455494,1.0750396524759267,0.10629555317912903,-0.10363119292315426,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10000,100004,fa,0.15863890724843022,0.899707751454691,0.06439944740455494,1.0750396524759267,0.09423945984387527,-0.17533190102123575,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10000,100005,fa,0.1343454495407057,0.9200571303931948,0.06439944740455494,1.0750396524759267,0.06994600213615076,-0.1549825220827319,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10000,100006,fa,0.14520653023968622,0.8689161772241638,0.06439944740455494,1.0750396524759267,0.08080708283513127,-0.2061234752517629,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10000,100007,fa,0.16775622059191536,0.9340950678193863,0.06439944740455494,1.0750396524759267,0.10335677318736042,-0.14094458465654036,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,-1,bp,0.05909398099931241,1.0461721491283935,0.05909398099931241,1.0461721491283935,0.0,0.0,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,101000,fa,0.12445665951572124,0.8950182044486266,0.05909398099931241,1.0461721491283935,0.06536267851640884,-0.15115394467976695,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,101001,fa,0.13686373041431732,0.8848420019682971,0.05909398099931241,1.0461721491283935,0.07776974941500492,-0.16133014716009642,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,101002,fa,0.1644679821796042,1.027898222430812,0.05909398099931241,1.0461721491283935,0.1053740011802918,-0.018273926697581544,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,101003,fa,0.12519620927627723,0.8959916609991594,0.05909398099931241,1.0461721491283935,0.06610222827696483,-0.15018048812923412,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,101004,fa,0.14823585779160342,0.9502235389488523,0.05909398099931241,1.0461721491283935,0.08914187679229102,-0.09594861017954126,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,101005,fa,0.12791716336452397,1.106671248721585,0.05909398099931241,1.0461721491283935,0.06882318236521157,0.06049909959319155,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,101006,fa,0.1470542449764063,0.8637503806999689,0.05909398099931241,1.0461721491283935,0.08796026397709389,-0.1824217684284246,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10001,101007,fa,0.13230370534431204,1.0285749990167994,0.05909398099931241,1.0461721491283935,0.07320972434499964,-0.01759715011159413,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,-1,bp,0.07898396870398305,1.041189796798242,0.07898396870398305,1.041189796798242,0.0,0.0,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,102000,fa,0.159477671209091,0.9017780331268324,0.07898396870398305,1.041189796798242,0.08049370250510796,-0.13941176367140962,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,102001,fa,0.1438512986658564,0.9297815796670932,0.07898396870398305,1.041189796798242,0.06486732996187333,-0.11140821713114879,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,102002,fa,0.1830855784824515,0.947589652731433,0.07898396870398305,1.041189796798242,0.10410160977846844,-0.09360014406680894,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,102003,fa,0.1866437544653905,0.9478986953736314,0.07898396870398305,1.041189796798242,0.10765978576140744,-0.09329110142461061,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,102004,fa,0.15880868755201397,0.9656767343682956,0.07898396870398305,1.041189796798242,0.07982471884803091,-0.07551306242994638,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,102005,fa,0.14880028514234422,0.9236360655710858,0.07898396870398305,1.041189796798242,0.06981631643836117,-0.11755373122715618,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,102006,fa,0.14560130931062001,0.8371074843721176,0.07898396870398305,1.041189796798242,0.06661734060663696,-0.2040823124261244,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+32,1664,10002,102007,fa,0.16611606927426883,0.8570908261066124,0.07898396870398305,1.041189796798242,0.08713210057028578,-0.18409897069162962,1024,1150,640,-510,0.0,0,0.0,7.958568352977123,1656.0414316470228
+48,3264,10000,-1,bp,0.024772898824532447,1.0192049845732587,0.024772898824532447,1.0192049845732587,0.0,0.0,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10000,100000,fa,0.08231767829623887,1.0175819458871875,0.024772898824532447,1.0192049845732587,0.05754477947170643,-0.0016230386860711654,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10000,100001,fa,0.06964148336115238,1.0307136879352203,0.024772898824532447,1.0192049845732587,0.04486858453661993,0.011508703361961636,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10000,100002,fa,0.07132727696384297,0.9362206810577052,0.024772898824532447,1.0192049845732587,0.04655437813931053,-0.08298430351555353,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10000,100003,fa,0.07645857270574753,0.9387106014906575,0.024772898824532447,1.0192049845732587,0.05168567388121509,-0.08049438308260115,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10000,100004,fa,0.06651659361843923,0.9289688313186656,0.024772898824532447,1.0192049845732587,0.041743694793906785,-0.09023615325459311,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10000,100005,fa,0.0518379089532242,0.926208242237768,0.024772898824532447,1.0192049845732587,0.027065010128691756,-0.09299674233549071,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10000,100006,fa,0.07477833251067272,0.9271586538539508,0.024772898824532447,1.0192049845732587,0.05000543368614027,-0.0920463307193079,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10000,100007,fa,0.08099830996252894,0.9738211004399798,0.024772898824532447,1.0192049845732587,0.05622541113799649,-0.04538388413327887,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,-1,bp,0.025213706164862522,0.9272530847873441,0.025213706164862522,0.9272530847873441,0.0,0.0,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,101000,fa,0.08258187266548986,1.0433421593316803,0.025213706164862522,0.9272530847873441,0.057368166500627336,0.11608907454433615,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,101001,fa,0.06791054017129268,0.904994899800125,0.025213706164862522,0.9272530847873441,0.04269683400643016,-0.0222581849872191,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,101002,fa,0.06031693516637331,1.0263389797480178,0.025213706164862522,0.9272530847873441,0.03510322900151079,0.09908589496067366,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,101003,fa,0.08019100138543851,0.9109525060316632,0.025213706164862522,0.9272530847873441,0.05497729522057599,-0.016300578755680917,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,101004,fa,0.0667183056358879,0.9542926196730208,0.025213706164862522,0.9272530847873441,0.04150459947102538,0.027039534885676675,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,101005,fa,0.06521148216923223,1.0001963664740405,0.025213706164862522,0.9272530847873441,0.039997776004369705,0.07294328168669639,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,101006,fa,0.07305474110294144,0.919568816871993,0.025213706164862522,0.9272530847873441,0.04784103493807892,-0.007684267915351151,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10001,101007,fa,0.06939917055797833,1.0574154116649042,0.025213706164862522,0.9272530847873441,0.044185464393115804,0.13016232687756002,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,-1,bp,0.017890231427876935,0.991028688991854,0.017890231427876935,0.991028688991854,0.0,0.0,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,102000,fa,0.06962203715185393,0.9741586008182962,0.017890231427876935,0.991028688991854,0.051731805723976995,-0.01687008817355784,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,102001,fa,0.06811500969577955,1.0605526000921226,0.017890231427876935,0.991028688991854,0.050224778267902614,0.06952391110026857,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,102002,fa,0.07986316122393136,0.9606478717930987,0.017890231427876935,0.991028688991854,0.06197292979605443,-0.030380817198755294,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,102003,fa,0.07253070789585729,0.937550426548269,0.017890231427876935,0.991028688991854,0.054640476467980356,-0.053478262443585,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,102004,fa,0.07609383424361005,0.9303342801721943,0.017890231427876935,0.991028688991854,0.05820360281573311,-0.060694408819659706,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,102005,fa,0.05985270254985681,0.8843854160281355,0.017890231427876935,0.991028688991854,0.04196247112197987,-0.10664327296371856,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,102006,fa,0.06831398400678272,0.9997961845780541,0.017890231427876935,0.991028688991854,0.05042375257890579,0.008767495586200047,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+48,3264,10002,102007,fa,0.07271278808739566,0.9237378039289337,0.017890231427876935,0.991028688991854,0.054822556659518726,-0.06729088506292036,1024,2494,2240,-254,0.0,0,0.0,15.199401552235027,3248.800598447765
+64,5376,10000,-1,bp,0.006912531313745015,0.9302089081580059,0.006912531313745015,0.9302089081580059,0.0,0.0,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10000,100000,fa,0.030098165073891597,0.9458357687572776,0.006912531313745015,0.9302089081580059,0.02318563376014658,0.015626860599271652,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10000,100001,fa,0.026198923098517582,0.9540087893142117,0.006912531313745015,0.9302089081580059,0.019286391784772566,0.023799881156205793,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10000,100002,fa,0.028371099782527942,0.92846727981663,0.006912531313745015,0.9302089081580059,0.021458568468782926,-0.0017416283413759226,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10000,100003,fa,0.0331197839535134,0.9433233008360803,0.006912531313745015,0.9302089081580059,0.026207252639768384,0.01311439267807435,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10000,100004,fa,0.03854951396911033,0.9670583795787292,0.006912531313745015,0.9302089081580059,0.03163698265536531,0.03684947142072326,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10000,100005,fa,0.03375396598604592,0.9334756435570675,0.006912531313745015,0.9302089081580059,0.026841434672300907,0.0032667353990615267,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10000,100006,fa,0.03820769107257675,0.9935852963557532,0.006912531313745015,0.9302089081580059,0.031295159758831737,0.06337638819774727,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10000,100007,fa,0.032098316564250495,0.9669669976246917,0.006912531313745015,0.9302089081580059,0.02518578525050548,0.036758089466685795,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,-1,bp,0.00815416228202999,0.992077045641374,0.00815416228202999,0.992077045641374,0.0,0.0,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,101000,fa,0.038570600789740714,1.0474288842376276,0.00815416228202999,0.992077045641374,0.030416438507710725,0.05535183859625359,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,101001,fa,0.03400274220401952,0.8794482237572648,0.00815416228202999,0.992077045641374,0.02584857992198953,-0.11262882188410916,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,101002,fa,0.032675060543469275,0.9955528189112249,0.00815416228202999,0.992077045641374,0.024520898261439286,0.0034757732698509347,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,101003,fa,0.03391383096326277,0.9734365607532394,0.00815416228202999,0.992077045641374,0.025759668681232778,-0.018640484888134634,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,101004,fa,0.035637974970079936,1.0015513491633485,0.00815416228202999,0.992077045641374,0.027483812688049947,0.009474303521974536,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,101005,fa,0.03260582040605435,1.0455139031101777,0.00815416228202999,0.992077045641374,0.02445165812402436,0.05343685746880367,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,101006,fa,0.035508607746946856,1.0030530409876999,0.00815416228202999,0.992077045641374,0.027354445464916867,0.010975995346325873,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10001,101007,fa,0.03100329934793672,0.9649545171452458,0.00815416228202999,0.992077045641374,0.02284913706590673,-0.027122528496128173,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,-1,bp,0.005752031863464596,0.9737071832876064,0.005752031863464596,0.9737071832876064,0.0,0.0,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,102000,fa,0.03378000556592992,0.9613515185994865,0.005752031863464596,0.9737071832876064,0.028027973702465327,-0.012355664688119883,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,102001,fa,0.027110441662949895,0.9864846886880939,0.005752031863464596,0.9737071832876064,0.0213584097994853,0.012777505400487499,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,102002,fa,0.031097082705568865,0.9690336721479615,0.005752031863464596,0.9737071832876064,0.02534505084210427,-0.00467351113964487,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,102003,fa,0.02653836706641533,1.0582032302018787,0.005752031863464596,0.9737071832876064,0.020786335202950732,0.08449604691427226,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,102004,fa,0.030418206003737115,0.938114856940512,0.005752031863464596,0.9737071832876064,0.02466617414027252,-0.035592326347094416,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,102005,fa,0.04159309264725638,1.025629436277886,0.005752031863464596,0.9737071832876064,0.03584106078379178,0.05192225299027953,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,102006,fa,0.028649571961009007,0.944218666416906,0.005752031863464596,0.9737071832876064,0.02289754009754441,-0.02948851687070042,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+64,5376,10002,102007,fa,0.04448265843024417,0.9735153285039386,0.005752031863464596,0.9737071832876064,0.03873062656677957,-0.00019185478366778863,1024,4350,4352,2,0.0,0,0.0,24.89249668727425,5351.107503312725
+96,11136,10000,-1,bp,0.0010908895139158847,0.8858766444382743,0.0010908895139158847,0.8858766444382743,0.0,0.0,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10000,100000,fa,0.007839569693327875,0.9908040111200526,0.0010908895139158847,0.8858766444382743,0.00674868017941199,0.10492736668177827,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10000,100001,fa,0.008622952386780649,0.9243143154628939,0.0010908895139158847,0.8858766444382743,0.007532062872864764,0.03843767102461959,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10000,100002,fa,0.007689162904722801,0.971378540443703,0.0010908895139158847,0.8858766444382743,0.006598273390806916,0.08550189600542868,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10000,100003,fa,0.00690030299984122,0.9305533430930656,0.0010908895139158847,0.8858766444382743,0.005809413485925335,0.04467669865479129,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10000,100004,fa,0.006298870243380839,0.9601021668663633,0.0010908895139158847,0.8858766444382743,0.005207980729464954,0.074225522428089,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10000,100005,fa,0.006817484950394786,1.0376560590877526,0.0010908895139158847,0.8858766444382743,0.005726595436478901,0.1517794146494783,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10000,100006,fa,0.008739829890936471,0.9531188421618776,0.0010908895139158847,0.8858766444382743,0.0076489403770205865,0.06724219772360329,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10000,100007,fa,0.0062972831046634505,0.8594251954102833,0.0010908895139158847,0.8858766444382743,0.005206393590747566,-0.026451449027991014,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,-1,bp,0.0010428368418723029,0.9687441427091117,0.0010428368418723029,0.9687441427091117,0.0,0.0,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,101000,fa,0.008443473010853603,0.9599569133854085,0.0010428368418723029,0.9687441427091117,0.0074006361689813,-0.008787229323703238,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,101001,fa,0.009726814732881117,0.9679760512941122,0.0010428368418723029,0.9687441427091117,0.008683977891008814,-0.00076809141499945,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,101002,fa,0.008841061908266007,0.9975348608798476,0.0010428368418723029,0.9687441427091117,0.007798225066393704,0.028790718170735863,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,101003,fa,0.007746483283459762,0.9652353303686924,0.0010428368418723029,0.9687441427091117,0.006703646441587459,-0.0035088123404193317,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,101004,fa,0.009446784805139713,1.0059883180912303,0.0010428368418723029,0.9687441427091117,0.00840394796326741,0.03724417538211866,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,101005,fa,0.006651463238103301,0.9677357478977201,0.0010428368418723029,0.9687441427091117,0.005608626396230998,-0.0010083948113915886,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,101006,fa,0.01087058892160412,1.0367479013645622,0.0010428368418723029,0.9687441427091117,0.009827752079731817,0.0680037586554505,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10001,101007,fa,0.010898857449138237,0.8934502326602608,0.0010428368418723029,0.9687441427091117,0.009856020607265934,-0.07529391004885089,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,-1,bp,0.001090866516778341,0.8648047555874578,0.001090866516778341,0.8648047555874578,0.0,0.0,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,102000,fa,0.009308091266893862,0.9272353010695802,0.001090866516778341,0.8648047555874578,0.00821722475011552,0.062430545482122346,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,102001,fa,0.005596390547291601,0.9188004207665667,0.001090866516778341,0.8648047555874578,0.00450552403051326,0.05399566517910881,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,102002,fa,0.00842550705081585,0.9364062855690265,0.001090866516778341,0.8648047555874578,0.0073346405340375094,0.07160152998156866,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,102003,fa,0.00706487845230904,0.958820329850882,0.001090866516778341,0.8648047555874578,0.005974011935530699,0.0940155742634241,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,102004,fa,0.006206589210429773,0.9440781588232826,0.001090866516778341,0.8648047555874578,0.005115722693651432,0.07927340323582477,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,102005,fa,0.008534527532095127,0.9464525613970318,0.001090866516778341,0.8648047555874578,0.007443661015316786,0.08164780580957398,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,102006,fa,0.006933673502837112,0.9516468673032189,0.001090866516778341,0.8648047555874578,0.005842806986058771,0.08684211171576106,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
+96,11136,10002,102007,fa,0.006785563696571807,0.8261545809375416,0.001090866516778341,0.8648047555874578,0.005694697179793466,-0.03865017464991627,1024,9598,10112,514,0.0,0,0.0,51.802320004200304,11084.1976799958
diff --git a/outputs/teacher_test_gap_sgd_T8000/summary.json b/outputs/teacher_test_gap_sgd_T8000/summary.json
new file mode 100644
index 0000000..d9b9e7a
--- /dev/null
+++ b/outputs/teacher_test_gap_sgd_T8000/summary.json
@@ -0,0 +1,251 @@
+{
+ "config": {
+ "capacity_q": 0.01,
+ "data_seed": 7,
+ "device": "cpu",
+ "feedback_scale": "relu",
+ "feedback_seed_offset": 0,
+ "feedback_seeds": 8,
+ "init_seed_offset": 0,
+ "init_seeds": 3,
+ "input_dim": 16,
+ "jacobian_lambda_rel": 0.001,
+ "lr": 0.01,
+ "noise_std": 0.0,
+ "normalize_targets": true,
+ "optimizer": "sgd",
+ "outdir": "outputs/teacher_test_gap_sgd_T8000",
+ "output_dim": 4,
+ "plot": true,
+ "probe_samples": 32,
+ "skip_jacobian": true,
+ "steps": 8000,
+ "task": "mlp",
+ "teacher_hidden_layers": 2,
+ "teacher_rank": 4,
+ "teacher_width": 64,
+ "test_samples": 2048,
+ "torch_threads": 8,
+ "train_samples": 256,
+ "widths": [
+ 8,
+ 12,
+ 16,
+ 24,
+ 32,
+ 48,
+ 64,
+ 96
+ ]
+ },
+ "width_summary": [
+ {
+ "bp_capacity_margin": -800,
+ "bp_test_mean": 0.8547195125219496,
+ "bp_test_std": 0.09416632052520177,
+ "bp_train_mean": 0.48654225381273647,
+ "bp_train_std": 0.009430396910714468,
+ "d_eff_mean": 0.0,
+ "fa_burden_nats": 1.3936644807238818,
+ "fa_capacity_margin": -894,
+ "fa_constraint_rank": 94,
+ "fa_test_mean": 1.03173780938202,
+ "fa_test_std": 0.07195063786750613,
+ "fa_train_mean": 0.7360187817128564,
+ "fa_train_std": 0.08065577661619448,
+ "gap_mean": 0.1770182968600705,
+ "gap_std": 0.09915053419946865,
+ "hard_rank_mean": 0.0,
+ "parameter_count": 224,
+ "redundancy_score_mean": 222.6063355192761,
+ "runs_bp": 3,
+ "runs_fa": 24,
+ "task_dimension": 1024,
+ "train_gap_mean": 0.24947652790011995,
+ "train_gap_std": 0.07918404890030231,
+ "width": 8
+ },
+ {
+ "bp_capacity_margin": -640,
+ "bp_test_mean": 0.8912211187592197,
+ "bp_test_std": 0.06296622353182581,
+ "bp_train_mean": 0.35139158815529714,
+ "bp_train_std": 0.004244751408287705,
+ "d_eff_mean": 0.0,
+ "fa_burden_nats": 2.1683902917154665,
+ "fa_capacity_margin": -830,
+ "fa_constraint_rank": 190,
+ "fa_test_mean": 0.9292951764049313,
+ "fa_test_std": 0.07525411172556047,
+ "fa_train_mean": 0.5094820739240674,
+ "fa_train_std": 0.0707313348013235,
+ "gap_mean": 0.03807405764571161,
+ "gap_std": 0.07715664669655001,
+ "hard_rank_mean": 0.0,
+ "parameter_count": 384,
+ "redundancy_score_mean": 381.83160970828453,
+ "runs_bp": 3,
+ "runs_fa": 24,
+ "task_dimension": 1024,
+ "train_gap_mean": 0.15809048576877027,
+ "train_gap_std": 0.07029272672610735,
+ "width": 12
+ },
+ {
+ "bp_capacity_margin": -448,
+ "bp_test_mean": 0.9192548641208319,
+ "bp_test_std": 0.033740239256328644,
+ "bp_train_mean": 0.2520286029851933,
+ "bp_train_std": 0.007647223072501642,
+ "d_eff_mean": 0.0,
+ "fa_burden_nats": 3.058119959290285,
+ "fa_capacity_margin": -766,
+ "fa_constraint_rank": 318,
+ "fa_test_mean": 0.8812679121253054,
+ "fa_test_std": 0.07027921512298203,
+ "fa_train_mean": 0.3635437201887566,
+ "fa_train_std": 0.047364665684149765,
+ "gap_mean": -0.037986951995526305,
+ "gap_std": 0.07361982827194134,
+ "hard_rank_mean": 0.0,
+ "parameter_count": 576,
+ "redundancy_score_mean": 572.9418800407097,
+ "runs_bp": 3,
+ "runs_fa": 24,
+ "task_dimension": 1024,
+ "train_gap_mean": 0.11151511720356323,
+ "train_gap_std": 0.04520548886437488,
+ "width": 16
+ },
+ {
+ "bp_capacity_margin": 32,
+ "bp_test_mean": 0.9293582800572858,
+ "bp_test_std": 0.07241895652383532,
+ "bp_train_mean": 0.1396784759530465,
+ "bp_train_std": 0.01665120505504232,
+ "d_eff_mean": 0.0,
+ "fa_burden_nats": 5.228037692481937,
+ "fa_capacity_margin": -638,
+ "fa_constraint_rank": 670,
+ "fa_test_mean": 0.8851293442398639,
+ "fa_test_std": 0.06255425075132401,
+ "fa_train_mean": 0.219954653180603,
+ "fa_train_std": 0.033287750843013345,
+ "gap_mean": -0.044228935817421745,
+ "gap_std": 0.09040086678358636,
+ "hard_rank_mean": 0.0,
+ "parameter_count": 1056,
+ "redundancy_score_mean": 1050.7719623075182,
+ "runs_bp": 3,
+ "runs_fa": 24,
+ "task_dimension": 1024,
+ "train_gap_mean": 0.08027617722755646,
+ "train_gap_std": 0.034751538455168735,
+ "width": 24
+ },
+ {
+ "bp_capacity_margin": 640,
+ "bp_test_mean": 1.0541338661341875,
+ "bp_test_std": 0.018275526958484174,
+ "bp_train_mean": 0.0674924657026168,
+ "bp_train_std": 0.010299416214868514,
+ "d_eff_mean": 0.0,
+ "fa_burden_nats": 7.958568352977123,
+ "fa_capacity_margin": -510,
+ "fa_constraint_rank": 1150,
+ "fa_test_mean": 0.9339004211933818,
+ "fa_test_std": 0.06403389508198398,
+ "fa_train_mean": 0.1521629814467578,
+ "fa_train_std": 0.01750960740931603,
+ "gap_mean": -0.12023344494080564,
+ "gap_std": 0.06569708866945986,
+ "hard_rank_mean": 0.0,
+ "parameter_count": 1664,
+ "redundancy_score_mean": 1656.0414316470226,
+ "runs_bp": 3,
+ "runs_fa": 24,
+ "task_dimension": 1024,
+ "train_gap_mean": 0.08467051574414101,
+ "train_gap_std": 0.015298364700276968,
+ "width": 32
+ },
+ {
+ "bp_capacity_margin": 2240,
+ "bp_test_mean": 0.9791622527841524,
+ "bp_test_std": 0.047110478662005864,
+ "bp_train_mean": 0.022625612139090635,
+ "bp_train_std": 0.004106878454242747,
+ "d_eff_mean": 0.0,
+ "fa_burden_nats": 15.199401552235027,
+ "fa_capacity_margin": -254,
+ "fa_constraint_rank": 2494,
+ "fa_test_mean": 0.9653186953239867,
+ "fa_test_std": 0.05187486017852229,
+ "fa_train_mean": 0.07109851792006452,
+ "fa_train_std": 0.007557098583336046,
+ "gap_mean": -0.013843557460165468,
+ "gap_std": 0.06974990528996139,
+ "hard_rank_mean": 0.0,
+ "parameter_count": 3264,
+ "redundancy_score_mean": 3248.8005984477654,
+ "runs_bp": 3,
+ "runs_fa": 24,
+ "task_dimension": 1024,
+ "train_gap_mean": 0.048472905780973886,
+ "train_gap_std": 0.008244124666444821,
+ "width": 48
+ },
+ {
+ "bp_capacity_margin": 4352,
+ "bp_test_mean": 0.9653310456956622,
+ "bp_test_std": 0.03177320206769566,
+ "bp_train_mean": 0.006939575153079867,
+ "bp_train_std": 0.0012012935377682527,
+ "d_eff_mean": 0.0,
+ "fa_burden_nats": 24.89249668727425,
+ "fa_capacity_margin": 2,
+ "fa_constraint_rank": 4350,
+ "fa_test_mean": 0.9750088396534556,
+ "fa_test_std": 0.04179311994033258,
+ "fa_train_mean": 0.033249367604793946,
+ "fa_train_std": 0.004644998390740636,
+ "gap_mean": 0.009677793957793427,
+ "gap_std": 0.040482838262068055,
+ "hard_rank_mean": 0.0,
+ "parameter_count": 5376,
+ "redundancy_score_mean": 5351.107503312725,
+ "runs_bp": 3,
+ "runs_fa": 24,
+ "task_dimension": 1024,
+ "train_gap_mean": 0.02630979245171408,
+ "train_gap_std": 0.004635709869038379,
+ "width": 64
+ },
+ {
+ "bp_capacity_margin": 10112,
+ "bp_test_mean": 0.9064751809116146,
+ "bp_test_std": 0.05494609929229648,
+ "bp_train_mean": 0.0010748642908555096,
+ "bp_train_std": 2.7736586821309024e-05,
+ "d_eff_mean": 0.0,
+ "fa_burden_nats": 51.802320004200304,
+ "fa_capacity_margin": 514,
+ "fa_constraint_rank": 9598,
+ "fa_test_mean": 0.9513155139710398,
+ "fa_test_std": 0.04816011708858036,
+ "fa_train_mean": 0.007945258532614088,
+ "fa_train_std": 0.001452885056156375,
+ "gap_mean": 0.044840333059425225,
+ "gap_std": 0.05220001570680324,
+ "hard_rank_mean": 0.0,
+ "parameter_count": 11136,
+ "redundancy_score_mean": 11084.1976799958,
+ "runs_bp": 3,
+ "runs_fa": 24,
+ "task_dimension": 1024,
+ "train_gap_mean": 0.006870394241758578,
+ "train_gap_std": 0.0014660396836900331,
+ "width": 96
+ }
+ ]
+}
diff --git a/outputs/teacher_test_gap_sgd_T8000/width_summary.csv b/outputs/teacher_test_gap_sgd_T8000/width_summary.csv
new file mode 100644
index 0000000..cd0a1a0
--- /dev/null
+++ b/outputs/teacher_test_gap_sgd_T8000/width_summary.csv
@@ -0,0 +1,9 @@
+width,parameter_count,runs_bp,runs_fa,bp_test_mean,bp_test_std,bp_train_mean,bp_train_std,fa_test_mean,fa_test_std,fa_train_mean,fa_train_std,gap_mean,gap_std,train_gap_mean,train_gap_std,task_dimension,fa_constraint_rank,bp_capacity_margin,fa_capacity_margin,d_eff_mean,hard_rank_mean,fa_burden_nats,redundancy_score_mean
+8,224,3,24,0.8547195125219496,0.09416632052520177,0.48654225381273647,0.009430396910714468,1.03173780938202,0.07195063786750613,0.7360187817128564,0.08065577661619448,0.1770182968600705,0.09915053419946865,0.24947652790011995,0.07918404890030231,1024,94,-800,-894,0.0,0.0,1.3936644807238818,222.6063355192761
+12,384,3,24,0.8912211187592197,0.06296622353182581,0.35139158815529714,0.004244751408287705,0.9292951764049313,0.07525411172556047,0.5094820739240674,0.0707313348013235,0.03807405764571161,0.07715664669655001,0.15809048576877027,0.07029272672610735,1024,190,-640,-830,0.0,0.0,2.1683902917154665,381.83160970828453
+16,576,3,24,0.9192548641208319,0.033740239256328644,0.2520286029851933,0.007647223072501642,0.8812679121253054,0.07027921512298203,0.3635437201887566,0.047364665684149765,-0.037986951995526305,0.07361982827194134,0.11151511720356323,0.04520548886437488,1024,318,-448,-766,0.0,0.0,3.058119959290285,572.9418800407097
+24,1056,3,24,0.9293582800572858,0.07241895652383532,0.1396784759530465,0.01665120505504232,0.8851293442398639,0.06255425075132401,0.219954653180603,0.033287750843013345,-0.044228935817421745,0.09040086678358636,0.08027617722755646,0.034751538455168735,1024,670,32,-638,0.0,0.0,5.228037692481937,1050.7719623075182
+32,1664,3,24,1.0541338661341875,0.018275526958484174,0.0674924657026168,0.010299416214868514,0.9339004211933818,0.06403389508198398,0.1521629814467578,0.01750960740931603,-0.12023344494080564,0.06569708866945986,0.08467051574414101,0.015298364700276968,1024,1150,640,-510,0.0,0.0,7.958568352977123,1656.0414316470226
+48,3264,3,24,0.9791622527841524,0.047110478662005864,0.022625612139090635,0.004106878454242747,0.9653186953239867,0.05187486017852229,0.07109851792006452,0.007557098583336046,-0.013843557460165468,0.06974990528996139,0.048472905780973886,0.008244124666444821,1024,2494,2240,-254,0.0,0.0,15.199401552235027,3248.8005984477654
+64,5376,3,24,0.9653310456956622,0.03177320206769566,0.006939575153079867,0.0012012935377682527,0.9750088396534556,0.04179311994033258,0.033249367604793946,0.004644998390740636,0.009677793957793427,0.040482838262068055,0.02630979245171408,0.004635709869038379,1024,4350,4352,2,0.0,0.0,24.89249668727425,5351.107503312725
+96,11136,3,24,0.9064751809116146,0.05494609929229648,0.0010748642908555096,2.7736586821309024e-05,0.9513155139710398,0.04816011708858036,0.007945258532614088,0.001452885056156375,0.044840333059425225,0.05220001570680324,0.006870394241758578,0.0014660396836900331,1024,9598,10112,514,0.0,0.0,51.802320004200304,11084.1976799958
diff --git a/scripts/finite_time_supplement.py b/scripts/finite_time_supplement.py
new file mode 100644
index 0000000..cf70491
--- /dev/null
+++ b/scripts/finite_time_supplement.py
@@ -0,0 +1,189 @@
+#!/usr/bin/env python3
+"""Cluster bootstrap metrics and the supplementary finite-time figure.
+
+Both outputs are derived from outputs/aaai_depth_experiments/finite_time_rows.csv.
+
+1. A LaTeX fragment with MAE, relative MAE, and correlation for the three
+ predictors, each with a 95% cluster bootstrap confidence interval that
+ resamples the four forward initializations within every architecture cell
+ (feedback draws stay nested inside their forward initialization).
+2. A six-panel supplementary figure: measured cost against depth, the three
+ predictor calibration scatters, and signed residuals against depth and width.
+"""
+
+from __future__ import annotations
+
+import argparse
+import csv
+from collections import defaultdict
+from pathlib import Path
+
+import matplotlib
+
+matplotlib.use("Agg")
+import matplotlib.pyplot as plt
+import numpy as np
+
+PREDICTORS = [
+ ("fixed_gap", "Frozen initialization operator", "frozen"),
+ ("velocity_gap", "Linear extrapolation", "linear"),
+ ("retangent_gap", "Relinearization", "relinearized"),
+]
+
+
+def parse_args() -> argparse.Namespace:
+ parser = argparse.ArgumentParser(description=__doc__)
+ parser.add_argument("--rows", type=Path, default=Path("outputs/aaai_depth_experiments/finite_time_rows.csv"))
+ parser.add_argument("--table-outdir", type=Path, default=Path("outputs/tables"))
+ parser.add_argument("--figure-outdir", type=Path, default=Path("outputs/aaai_supplementary"))
+ parser.add_argument("--bootstrap-samples", type=int, default=10_000)
+ parser.add_argument("--bootstrap-seed", type=int, default=2027)
+ return parser.parse_args()
+
+
+def load(path: Path) -> list[dict[str, str]]:
+ with path.open() as handle:
+ return list(csv.DictReader(handle))
+
+
+def metrics(measured: np.ndarray, predicted: np.ndarray) -> tuple[float, float, float]:
+ mae = float(np.mean(np.abs(predicted - measured)))
+ rmae = mae / float(np.mean(measured))
+ corr = float(np.corrcoef(predicted, measured)[0, 1])
+ return mae, rmae, corr
+
+
+def bootstrap_table(rows: list[dict[str, str]], args: argparse.Namespace) -> None:
+ # cell -> init -> array of shape (8, 1 + predictors)
+ cells: dict[tuple[int, int], dict[int, list[list[float]]]] = defaultdict(lambda: defaultdict(list))
+ for row in rows:
+ cells[(int(row["depth"]), int(row["width"]))][int(row["init_seed"])].append(
+ [float(row["empirical_gap"])] + [float(row[f]) for f, _, _ in PREDICTORS]
+ )
+ stacked = [
+ np.asarray([by_init[i] for i in sorted(by_init)]) # (4, 8, 4)
+ for _, by_init in sorted(cells.items())
+ ]
+ full = np.concatenate([cell.reshape(-1, cell.shape[-1]) for cell in stacked])
+ point = [metrics(full[:, 0], full[:, 1 + k]) for k in range(len(PREDICTORS))]
+
+ rng = np.random.default_rng(args.bootstrap_seed)
+ draws = np.empty((args.bootstrap_samples, len(PREDICTORS), 3))
+ n_init = stacked[0].shape[0]
+ for b in range(args.bootstrap_samples):
+ sample = np.concatenate(
+ [
+ cell[rng.integers(0, n_init, size=n_init)].reshape(-1, cell.shape[-1])
+ for cell in stacked
+ ]
+ )
+ for k in range(len(PREDICTORS)):
+ draws[b, k] = metrics(sample[:, 0], sample[:, 1 + k])
+ lo, hi = np.percentile(draws, [2.5, 97.5], axis=0)
+
+ lines = [
+ r"\begin{tabular}{@{}>{\raggedright\arraybackslash}p{2.4cm}ccc@{}}",
+ r"\toprule",
+ r"Predictor & MAE & Relative MAE & Correlation \\",
+ r"\midrule",
+ ]
+ for k, (_, label, _) in enumerate(PREDICTORS):
+ mae, rmae, corr = point[k]
+ lines.append(
+ f"{label} & {mae:.5f} [{lo[k,0]:.5f}, {hi[k,0]:.5f}] & "
+ f"{100*rmae:.2f}\\% [{100*lo[k,1]:.2f}, {100*hi[k,1]:.2f}] & "
+ f"{corr:.5f} [{lo[k,2]:.5f}, {hi[k,2]:.5f}] \\\\"
+ )
+ lines += [r"\bottomrule", r"\end{tabular}"]
+ args.table_outdir.mkdir(parents=True, exist_ok=True)
+ out = args.table_outdir / "finite_time_metrics_ci.tex"
+ out.write_text("\n".join(lines) + "\n")
+ print(f"wrote {out}")
+
+
+def supplementary_figure(rows: list[dict[str, str]], args: argparse.Namespace) -> None:
+ depths = sorted({int(r["depth"]) for r in rows})
+ widths = sorted({int(r["width"]) for r in rows})
+ depth_color = {d: plt.cm.viridis(i / (len(depths) - 1)) for i, d in enumerate(depths)}
+
+ fig, axes = plt.subplots(2, 3, figsize=(14.0, 8.2), dpi=220)
+
+ ax = axes[0, 0]
+ markers = ["o", "s", "^"]
+ for width, marker in zip(widths, markers):
+ means, sems = [], []
+ for depth in depths:
+ cell = [r for r in rows if int(r["width"]) == width and int(r["depth"]) == depth]
+ init_means = [
+ np.mean([float(r["empirical_gap"]) for r in cell if int(r["init_seed"]) == seed])
+ for seed in sorted({int(r["init_seed"]) for r in cell})
+ ]
+ means.append(np.mean(init_means))
+ sems.append(np.std(init_means, ddof=1) / np.sqrt(len(init_means)))
+ ax.errorbar(depths, means, yerr=sems, marker=marker, capsize=2, label=f"width {width}")
+ ax.set_xlabel("hidden-layer depth")
+ ax.set_ylabel("FA loss - BP loss")
+ ax.set_title("Measured cost by depth and width", fontsize=10)
+ ax.grid(alpha=0.16)
+ ax.legend(fontsize=7)
+
+ scatter_axes = [axes[0, 1], axes[0, 2], axes[1, 0]]
+ for (field, label, short), ax in zip(PREDICTORS, scatter_axes):
+ xs = np.asarray([float(r[field]) for r in rows])
+ ys = np.asarray([float(r["empirical_gap"]) for r in rows])
+ colors = [depth_color[int(r["depth"])] for r in rows]
+ ax.scatter(xs, ys, s=12, c=colors, alpha=0.6)
+ lo = min(xs.min(), ys.min())
+ hi = max(xs.max(), ys.max())
+ pad = 0.04 * (hi - lo)
+ ax.plot([lo - pad, hi + pad], [lo - pad, hi + pad], "k-", lw=1)
+ ax.set_xlabel("predicted gap")
+ ax.set_ylabel("measured gap")
+ ax.set_title(label, fontsize=10)
+ ax.grid(alpha=0.16)
+
+ residual_specs = [(axes[1, 1], "depth", "hidden-layer depth"), (axes[1, 2], "width", "hidden width")]
+ predictor_colors = ["#2f6f9f", "#c65f16", "#2b8a3e"]
+ offsets = [-0.18, 0.0, 0.18]
+ for ax, key, xlabel in residual_specs:
+ levels = depths if key == "depth" else widths
+ spacing = min(np.diff(levels)) if len(levels) > 1 else 1.0
+ for (field, label, short), color, off in zip(PREDICTORS, predictor_colors, offsets):
+ xs = np.asarray([float(r[key]) for r in rows]) + off * spacing
+ resid = np.asarray([float(r[field]) - float(r["empirical_gap"]) for r in rows])
+ ax.scatter(xs, resid, s=8, color=color, alpha=0.45, label=label)
+ ax.axhline(0.0, color="0.3", lw=1)
+ ax.set_xlabel(xlabel)
+ ax.set_ylabel("predicted minus measured")
+ ax.set_title(f"Signed residual by {key}", fontsize=10)
+ ax.grid(alpha=0.16)
+ if key == "depth":
+ ax.legend(fontsize=7)
+
+ for ax, letter in zip(axes.flat, "abcdef"):
+ ax.text(-0.14, 1.06, letter, transform=ax.transAxes, fontsize=12, fontweight="bold")
+
+ depth_handles = [
+ plt.Line2D([], [], marker="o", ls="", color=depth_color[d], label=f"depth {d}")
+ for d in depths
+ ]
+ axes[0, 2].legend(handles=depth_handles, fontsize=6, ncols=2, loc="upper left")
+
+ fig.tight_layout(w_pad=2.0, h_pad=2.4)
+ args.figure_outdir.mkdir(parents=True, exist_ok=True)
+ path = args.figure_outdir / "finite_time_supplement.png"
+ fig.savefig(path, bbox_inches="tight")
+ fig.savefig(path.with_suffix(".pdf"), bbox_inches="tight")
+ plt.close(fig)
+ print(f"figure: {path}")
+
+
+def main() -> None:
+ args = parse_args()
+ rows = load(args.rows)
+ bootstrap_table(rows, args)
+ supplementary_figure(rows, args)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/generate_paper_tables.py b/scripts/generate_paper_tables.py
index ed66dae..95a67c8 100644
--- a/scripts/generate_paper_tables.py
+++ b/scripts/generate_paper_tables.py
@@ -26,6 +26,9 @@ def parse_args() -> argparse.Namespace:
parser.add_argument(
"--lr-dir", type=Path, default=Path("outputs/learning_rate_compensation")
)
+ parser.add_argument(
+ "--teacher-dir", type=Path, default=Path("outputs/teacher_test_gap_sgd_T8000")
+ )
parser.add_argument("--outdir", type=Path, default=Path("outputs/tables"))
return parser.parse_args()
@@ -165,12 +168,39 @@ def learning_rate_table(lr_dir: Path, outdir: Path) -> None:
write_fragment(outdir / "learning_rate_regimes.tex", lines)
+def teacher_table(teacher_dir: Path, outdir: Path) -> None:
+ rows = [r for r in read_rows(teacher_dir / "runs.csv") if r["run_type"] == "fa"]
+ by: dict[int, dict[int, dict[str, list[float]]]] = defaultdict(
+ lambda: defaultdict(lambda: defaultdict(list))
+ )
+ for row in rows:
+ cell = by[int(row["width"])][int(row["init_seed"])]
+ cell["train"].append(float(row["train_gap_to_bp"]))
+ cell["test"].append(float(row["test_gap_to_bp"]))
+ lines = [
+ r"\begin{tabular}{@{}rcc@{}}",
+ r"\toprule",
+ r"Width & Train difference & Test difference \\",
+ r"\midrule",
+ ]
+ for width, by_init in sorted(by.items()):
+ train_means = [statistics.mean(v["train"]) for _, v in sorted(by_init.items())]
+ test_means = [statistics.mean(v["test"]) for _, v in sorted(by_init.items())]
+ lines.append(
+ f"{width} & \\({statistics.mean(train_means):.4f}\\pm{sem(train_means):.4f}\\) & "
+ f"\\({statistics.mean(test_means):.4f}\\pm{sem(test_means):.4f}\\) \\\\"
+ )
+ lines += [r"\bottomrule", r"\end{tabular}"]
+ write_fragment(outdir / "teacher_nested_se.tex", lines)
+
+
def main() -> None:
args = parse_args()
initialization_table(args.depth_dir, args.outdir)
finite_time_table(args.depth_dir, args.outdir)
cnn_table(args.cnn_dir, args.outdir)
learning_rate_table(args.lr_dir, args.outdir)
+ teacher_table(args.teacher_dir, args.outdir)
if __name__ == "__main__":