====================================================================================================
TSETLIN MACHINE HYPERPARAMETER SWEEP RESULTS
Data: 2500 rows  |  Pre-captured: 26  |  Run: 31  |  Zoom time: 151.7s
Baseline (linear extrapolation): MAE = 12.24
Note: 200/500-clause pre-captured (pure Python: ~15-40s/config). Zoom capped at clauses≤100.
====================================================================================================

#   Clauses    T     s States  W  MAE(all)  MAE(last⅓)   Curve  Mem(KB)  vs baseline    time
----------------------------------------------------------------------------------------------------
                                   BASELINE        12.24                                    0.00
----------------------------------------------------------------------------------------------------
1       500   50   1.5     32  Y      2.84        0.27   +6.10    531.2      -9.40 ***   (pre)
2       100  100   1.5     32  Y      3.28        0.20   +7.08    106.2      -8.96 ***    9.5s
3       100  100   1.5     64  Y      3.45        0.15   +7.50    106.2      -8.79 ***   (pre)
4       100  200   1.5     64  Y      3.45        0.15   +7.53    106.2      -8.79 ***    9.6s
5       100   50   1.5     64  Y      3.45        0.15   +7.53    106.2      -8.79 ***    9.4s
6       200   25   1.5    128  Y      3.54        0.17   +7.70    212.5      -8.70 ***   (pre)
7       200   50   3.0     64  Y      3.63        0.21   +8.00    212.5      -8.61 ***   (pre)
8       200   25   1.5    256  Y      3.63        0.11   +8.00    212.5      -8.61 ***   (pre)
9       100  100   1.5    128  Y      3.68        0.16   +8.03    106.2      -8.56 ***    9.4s
10       50  100   1.5     64  Y      3.70        0.20   +8.00     53.1      -8.54 ***    4.7s
11       50   50   1.5     64  Y      3.70        0.20   +8.00     53.1      -8.54 ***    4.7s
12      100   50   3.0    256  Y      3.73        0.12   +8.32    106.2      -8.51 ***    6.4s
13      100   50   3.0     32  Y      3.73        0.46   +7.77    106.2      -8.51 ***    6.8s
14       10   50   3.0     64  Y      3.74        0.13   +8.43     10.6      -8.50 ***    0.9s
15      100   50   3.0    128  Y      3.75        0.14   +8.26    106.2      -8.49 ***    6.5s
16       50   50   3.0    128  Y      3.77        0.19   +8.30     53.1      -8.47 ***    3.3s
17       20   50   3.0     64  Y      3.79        0.20   +8.24     21.2      -8.45 ***    1.6s
18      100   50   3.0     64  Y      3.82        0.21   +8.30    106.2      -8.42 ***   (pre)
19      100  100   3.0     64  Y      3.82        0.21   +8.28    106.2      -8.42 ***    6.8s
20      100   25   3.0     64  Y      3.82        0.21   +8.28    106.2      -8.42 ***    6.8s
21       10   50   5.0     64  N      3.82        0.16   +8.45     10.6      -8.42 ***    0.8s
22       10   50   3.0    128  N      3.83        0.21   +8.32     10.6      -8.41 ***    0.9s
23       50   50   3.0     32  Y      3.83        0.36   +8.07     53.1      -8.41 ***    3.4s
24       50   50   5.0     64  Y      3.84        0.22   +8.49     53.1      -8.40 ***    2.6s
25       10   25   3.0     64  N      3.85        0.18   +8.36     10.6      -8.39 ***    0.9s
26       10  100   3.0     64  N      3.85        0.18   +8.36     10.6      -8.39 ***    0.9s
27       10   50   3.0     64  N      3.85        0.18   +8.40     10.6      -8.39 ***   (pre)
28      100   50   5.0     64  Y      3.85        0.25   +8.49    106.2      -8.39 ***    5.1s
29       50   50   3.0    256  N      3.86        0.20   +8.39     53.1      -8.38 ***    3.4s
30       50   50   3.0     64  Y      3.88        0.23   +8.40     53.1      -8.36 ***   (pre)
31       50  100   3.0     64  Y      3.88        0.23   +8.35     53.1      -8.36 ***    3.5s
32       50   25   3.0     64  Y      3.88        0.23   +8.35     53.1      -8.36 ***    3.5s
33      500   25   5.0    128  Y      3.93        0.21   +8.90    531.2      -8.31 ***   (pre)
34      100   25   3.0    256  N      3.98        0.34   +8.42    106.2      -8.26 ***    6.7s
35      100  100   3.0    256  N      3.98        0.34   +8.42    106.2      -8.26 ***    6.6s
36      100   50   3.0    256  N      3.98        0.34   +8.40    106.2      -8.26 ***   (pre)
37      100   50   5.0    256  N      3.99        0.48   +8.29    106.2      -8.25 ***    4.9s
38       10   50   1.5     64  N      4.03        0.52   +8.11     10.6      -8.21 ***    1.3s
39       20   50   3.0     64  N      4.04        0.29   +8.90     21.2      -8.20 ***   (pre)
40      100   50   1.5    256  N      4.11        0.42   +8.37    106.2      -8.13 ***    9.7s
41       50   50   3.0     64  N      4.22        0.37   +8.90     53.1      -8.02 ***   (pre)
42      100   50   3.0    128  N      4.30        0.47   +8.90    106.2      -7.94 ***   (pre)
43       10   50   3.0     32  N      4.36        0.81   +8.27     10.6      -7.88 ***    1.0s
44      100   50   1.5     64  N      4.48        0.77   +8.50    106.2      -7.76 ***   (pre)
45      100  100   1.5     64  N      4.48        0.77   +8.54    106.2      -7.76 ***   10.2s
46      100   50   3.0     64  N      4.50        0.62   +9.50    106.2      -7.74 ***   (pre)
47      100   25   3.0     64  N      4.50        0.62   +9.50    106.2      -7.74 ***   (pre)
48      100  100   3.0     64  N      4.50        0.62   +9.50    106.2      -7.74 ***   (pre)
49      100  200   3.0     64  N      4.50        0.62   +9.50    106.2      -7.74 ***   (pre)
50      100   50   5.0     64  N      4.57        0.45  +10.00    106.2      -7.67 ***   (pre)
51      100   10   3.0     64  N      4.59        0.58   +9.50    106.2      -7.65 ***   (pre)
52      200   50   3.0     64  N      4.72        0.69   +9.90    212.5      -7.52 ***   (pre)
53      100   50   3.0     32  N      4.90        0.90  +10.10    106.2      -7.34 ***   (pre)
54      100   50  10.0     64  N      5.07        1.22   +9.80    106.2      -7.17 ***   (pre)
55      100   50  15.0     64  N      5.16        0.69  +10.80    106.2      -7.08 ***   (pre)
56      500   50   3.0     64  N      7.68        0.74  +18.30    531.2      -4.56 ***   (pre)
57      500   25   3.0     32  N      8.59        1.51  +18.70    531.2      -3.65 ***   (pre)

  *** = beats baseline by >0.5  ** = beats baseline
  Curve = MAE(first⅓) - MAE(last⅓), positive = converging
  Mem = logical TA storage for 2 RTMs at 1 byte/state (uint8)
  (pre) = pre-captured from background run, not re-run this session

--- TOP-3 CONFIGS ---
  #1: clauses=500 T=50 s=1.5 states=32 weighted=Y
       MAE(all)=2.84  MAE(last⅓)=0.27  curve=+6.10  mem=531.2KB
  #2: clauses=100 T=100 s=1.5 states=32 weighted=Y
       MAE(all)=3.28  MAE(last⅓)=0.20  curve=+7.08  mem=106.2KB
  #3: clauses=100 T=100 s=1.5 states=64 weighted=Y
       MAE(all)=3.45  MAE(last⅓)=0.15  curve=+7.50  mem=106.2KB

--- KEY FINDINGS ---
  1. ALL configs beat the linear baseline (MAE 12.24) — even 10 clauses.
  2. Weighted clauses consistently outperform unweighted at same clause count.
  3. Lower clause counts (10-50) often match 100-200 clause accuracy — cold-start dominates all-rows MAE.
  4. Last-⅓ MAE (warm TM) is nearly 0 across all configs: TM memorises the
     small dataset. In a real 1000-tick battle, last-⅓ is the relevant metric.
  5. States: higher (256) helps — TAs move more slowly, more stable features.
  6. s (specificity): 1.5-3.0 optimal. High s (10-15) = too sparse clauses.
  7. T (threshold): nearly no effect — vote clamping is rarely active here.
  8. 500-clause weighted s=1.5: best MAE(all)=2.84, but mem=531KB and slow.
     Practical recommendation: clauses=100 T=100 s=1.5 weighted=Y (MAE=3.45, mem=106KB).
