TFIL heat-time + virtual pillar: live A/B (6 arms x 70 rounds) - neither change beats the pre-change mover
Runs the pre-registered A/B for the two movement changes in HEAD: the time-indexed bullet heat (TR_TFIL_HEAT_TIME,fca8993) and the removal of the invented virtual centre pillar (d0750ab). One frozen binary from HEAD vs real DrussGT: 6 arms x 10 runs x 7 rounds = 60 battles, 420 rounds, 0 failed. Judged on damage/run and ROUND WINS only (hit rate and hits-taken are context): hit rate would have inverted the verdict again - tau3 has the best pooled hit rate of all arms (11.56%) and the fewest round wins (20/70). RESULT (vs the reconstructed pre-change mover "old"): heat-time HURTS. tau3/tau5/tau9 lose 1.3-1.7 wins/run (p=0.0010-0.0125) and deal 22-38 less damage/run (p=0.004-0.047); tau15 is a wash on wins (p=0.64) and 22 damage/run lower (p=0.046). Nothing improves either metric. pillar removal does nothing measurable. old vs pillaoff: +5.7 damage/run (p=0.71), +0.5 wins/run (35 vs 30, p=0.43), 30.8 MORE damage taken/run without the pillar (p=0.040). The mechanism check proves the knob works (centre-box occupancy 0.09% -> 2.37%, p<0.0001; range 469 -> 443 px, p=0.0002), so this is a real behaviour change that buys nothing. At n=10 the pillar contrast is inside the MDE (33 damage/run, 1.2 wins/run), so this is not a proven regression. Flags that the shipped default (pillar removed) should be reverted to the TR_TFIL_PILLAR_ON behaviour; heat-time stays off. Adds tools/ab/arms_heat_pillar.txt and tools/ab/ab_mechanism.py (per-tick mechanism check: central-box occupancy, range distribution, live enemy-bullet proximity) plus the captured summary/report fixtures.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
====================================================================================================
|
||||
HIT RATE BY RANGE BAND (our shots; band = shooter->target distance px at the fire tick)
|
||||
session: /tmp/ab/heatshift arms: old, pillaoff, tau15, tau3, tau5, tau9 reference: old
|
||||
====================================================================================================
|
||||
band old pillaoff tau15 tau3 tau5 tau9
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
0-100 2 1 50.0% 3 2 66.7% 2 2 100.0% 6 5 83.3% 6 3 50.0% 8 3 37.5%
|
||||
100-200 21 3 14.3% 38 11 28.9% 16 3 18.8% 22 8 36.4% 31 14 45.2% 24 5 20.8%
|
||||
200-300 134 30 22.4% 214 37 17.3% 103 20 19.4% 196 42 21.4% 216 39 18.1% 122 24 19.7%
|
||||
300-450 3016 342 11.3% 3663 414 11.3% 1768 204 11.5% 3134 367 11.7% 2851 343 12.0% 1939 260 13.4%
|
||||
450+ 4468 436 9.8% 3196 312 9.8% 6045 539 8.9% 3122 314 10.1% 3619 319 8.8% 5220 469 9.0%
|
||||
ALL 7641 812 10.6% 7114 776 10.9% 7934 768 9.7% 6480 736 11.4% 6723 718 10.7% 7313 761 10.4%
|
||||
|
||||
PER-RUN BAND RATES (shows the spread behind the pooled numbers)
|
||||
band 0-100
|
||||
old n= 2 0 100
|
||||
pillaoff n= 3 100 0 100
|
||||
tau15 n= 2 100 100
|
||||
tau3 n= 5 100 100 100 100 50
|
||||
tau5 n= 5 100 100 50 0 0
|
||||
tau9 n= 5 0 0 50 100 33
|
||||
band 100-200
|
||||
old n= 9 0 0 0 0 0 0 20 100 0
|
||||
pillaoff n=10 0 0 50 0 50 43 56 0 25 0
|
||||
tau15 n= 8 0 0 33 50 0 0 0 0
|
||||
tau3 n= 8 33 0 0 40 33 67 0 0
|
||||
tau5 n=10 38 100 50 50 0 33 0 0 60 100
|
||||
tau9 n= 8 25 60 0 0 0 0 0 25
|
||||
band 200-300
|
||||
old n=10 15 14 17 26 0 25 60 18 40 30
|
||||
pillaoff n=10 29 10 14 16 19 24 18 25 10 19
|
||||
tau15 n=10 50 11 25 12 17 33 17 33 7 0
|
||||
tau3 n=10 17 17 12 0 39 21 22 27 20 17
|
||||
tau5 n=10 21 29 6 21 19 26 24 29 9 6
|
||||
tau9 n=10 33 23 25 12 8 14 33 40 17 13
|
||||
band 300-450
|
||||
old n=10 11 12 13 9 12 10 9 14 11 12
|
||||
pillaoff n=10 9 11 11 12 13 10 12 11 13 12
|
||||
tau15 n=10 13 11 9 11 8 14 13 9 15 13
|
||||
tau3 n=10 11 11 13 11 12 11 9 13 13 11
|
||||
tau5 n=10 14 11 11 12 10 14 12 11 14 12
|
||||
tau9 n=10 14 13 12 14 15 11 14 14 14 12
|
||||
band 450+
|
||||
old n=10 10 10 10 9 9 12 11 9 9 9
|
||||
pillaoff n=10 8 13 13 7 10 10 11 8 9 10
|
||||
tau15 n=10 8 10 10 9 9 8 9 8 9 9
|
||||
tau3 n=10 8 11 11 7 9 12 11 11 12 10
|
||||
tau5 n=10 10 8 9 10 10 7 9 9 8 8
|
||||
tau9 n=10 9 8 10 9 8 10 10 9 8 9
|
||||
band ALL
|
||||
old n=10 11 11 11 9 10 11 11 11 11 10
|
||||
pillaoff n=10 9 12 12 10 12 11 13 10 11 12
|
||||
tau15 n=10 9 10 10 9 9 10 11 8 11 10
|
||||
tau3 n=10 10 11 12 9 12 12 11 13 13 11
|
||||
tau5 n=10 12 10 10 11 10 11 11 10 11 10
|
||||
tau9 n=10 10 11 11 10 9 11 11 10 10 10
|
||||
|
||||
PER-BAND PERMUTATION TEST vs `old` (per-run rates, two-sided)
|
||||
band arm d(pp) p method MCse MDE(pp)
|
||||
------------------------------------------------------------------
|
||||
0-100 pillaoff +16.67 1.0000 exact 0.0000 198.10
|
||||
0-100 tau15 +50.00 1.0000 exact 0.0000 198.10
|
||||
0-100 tau3 +40.00 0.2857 exact 0.0000 198.10
|
||||
0-100 tau5 +0.00 1.0000 exact 0.0000 198.10
|
||||
0-100 tau9 -13.33 0.9524 exact 0.0000 198.10
|
||||
100-200 pillaoff +9.01 0.5427 exact 0.0000 43.80
|
||||
100-200 tau15 -2.92 0.8765 exact 0.0000 43.80
|
||||
100-200 tau3 +8.33 0.6226 exact 0.0000 43.80
|
||||
100-200 tau5 +29.75 0.0880 exact 0.0000 43.80
|
||||
100-200 tau9 +0.42 1.0000 exact 0.0000 43.80
|
||||
200-300 pillaoff -6.15 0.3045 exact 0.0000 20.62
|
||||
200-300 tau15 -3.96 0.5841 exact 0.0000 20.62
|
||||
200-300 tau3 -5.29 0.4112 exact 0.0000 20.62
|
||||
200-300 tau5 -5.54 0.3777 exact 0.0000 20.62
|
||||
200-300 tau9 -2.57 0.6937 exact 0.0000 20.62
|
||||
300-450 pillaoff -0.14 0.8270 exact 0.0000 2.03
|
||||
300-450 tau15 -0.04 0.9677 exact 0.0000 2.03
|
||||
300-450 tau3 +0.11 0.8729 exact 0.0000 2.03
|
||||
300-450 tau5 +0.54 0.4566 exact 0.0000 2.03
|
||||
300-450 tau9 +1.98 0.0069 exact 0.0000 2.03
|
||||
450+ pillaoff +0.04 0.9606 exact 0.0000 1.21
|
||||
450+ tau15 -0.87 0.0454 exact 0.0000 1.21
|
||||
450+ tau3 +0.36 0.5427 exact 0.0000 1.21
|
||||
450+ tau5 -1.05 0.0290 exact 0.0000 1.21
|
||||
450+ tau9 -0.88 0.0456 exact 0.0000 1.21
|
||||
ALL pillaoff +0.32 0.4681 exact 0.0000 0.76
|
||||
ALL tau15 -0.95 0.0066 exact 0.0000 0.76
|
||||
ALL tau3 +0.71 0.1325 exact 0.0000 0.76
|
||||
ALL tau5 +0.06 0.8627 exact 0.0000 0.76
|
||||
ALL tau9 -0.25 0.3258 exact 0.0000 0.76
|
||||
@@ -0,0 +1,74 @@
|
||||
====================================================================================================
|
||||
MECHANISM CHECK — did the arm actually move differently?
|
||||
session /tmp/ab/heatshift arms old, pillaoff, tau15, tau3, tau5, tau9 reference old
|
||||
box = 144x144 px centred on the arena centre (x 328-472, y 228-372)
|
||||
====================================================================================================
|
||||
|
||||
PER-ARM MECHANISM (mean of the per-round values, then over runs)
|
||||
arm runs box% dist px p10 med p90 enB<=100px% enBmin px
|
||||
-------------------------------------------------------------------------------
|
||||
old 10 0.09 469.3 433 465 511 27.99 136.1
|
||||
pillaoff 10 2.37 443.5 396 446 490 29.10 132.8
|
||||
tau15 10 4.68 500.1 467 502 533 25.57 141.4
|
||||
tau3 10 26.12 439.4 406 440 471 30.86 134.8
|
||||
tau5 10 21.30 447.8 410 451 484 30.60 134.1
|
||||
tau9 10 10.40 481.1 440 482 512 28.31 137.8
|
||||
|
||||
DISTANCE-TO-ENEMY BANDS (fraction of ticks, mean over rounds/runs, %)
|
||||
arm 0-100 100-200 200-300 300-400 400+
|
||||
------------------------------------------------------------
|
||||
old 0.11 0.51 2.15 14.24 82.99
|
||||
pillaoff 0.15 0.95 3.33 23.46 72.12
|
||||
tau15 0.18 0.56 1.64 9.47 88.15
|
||||
tau3 0.18 0.89 3.73 24.80 70.39
|
||||
tau5 0.23 0.84 3.80 21.20 73.93
|
||||
tau9 0.21 0.71 2.04 11.53 85.51
|
||||
|
||||
ENEMY-BULLET PROXIMITY (nearest LIVE ENEMY bullet; our own bullets are excluded because a bullet is born at its own tank, so 'any bullet' is dominated by our just-fired shot)
|
||||
arm <=50px <=100px <=150px min px enemy%
|
||||
-------------------------------------------------------
|
||||
old 4.76 27.99 62.48 136.1 97.04
|
||||
pillaoff 4.97 29.10 64.98 132.8 97.25
|
||||
tau15 4.12 25.57 58.43 141.4 97.06
|
||||
tau3 6.19 30.86 61.39 134.8 97.03
|
||||
tau5 5.88 30.60 62.59 134.1 97.31
|
||||
tau9 4.99 28.31 60.75 137.8 97.45
|
||||
|
||||
ANY-BULLET PROXIMITY (per the task text: nearest live bullet, ours included; context only)
|
||||
arm <=50px <=100px <=150px min px any%
|
||||
-------------------------------------------------------
|
||||
old 24.96 56.38 83.24 92.4 98.17
|
||||
pillaoff 25.33 57.33 84.58 90.5 98.01
|
||||
tau15 24.39 54.95 81.71 94.3 98.04
|
||||
tau3 26.25 57.89 82.66 90.7 97.65
|
||||
tau5 25.88 57.83 83.50 90.6 97.84
|
||||
tau9 25.05 56.42 82.41 92.7 98.05
|
||||
|
||||
PER-RUN MECHANISM vs `old` (two-sided permutation on per-run means; exact when C(n,na)<=2e7)
|
||||
metric arm delta p method MDE
|
||||
------------------------------------------------------------------------------
|
||||
central-box occupancy pillaoff +2.29 0.0000 exact 0.11%
|
||||
central-box occupancy tau15 +4.60 0.0000 exact 0.11%
|
||||
central-box occupancy tau3 +26.04 0.0000 exact 0.11%
|
||||
central-box occupancy tau5 +21.21 0.0000 exact 0.11%
|
||||
central-box occupancy tau9 +10.31 0.0000 exact 0.11%
|
||||
mean dist to enemy pillaoff -25.74 0.0002 exact 20.81px
|
||||
mean dist to enemy tau15 +30.82 0.0001 exact 20.81px
|
||||
mean dist to enemy tau3 -29.90 0.0004 exact 20.81px
|
||||
mean dist to enemy tau5 -21.44 0.0014 exact 20.81px
|
||||
mean dist to enemy tau9 +11.82 0.0813 exact 20.81px
|
||||
ticks enemy bullet<=100px pillaoff +1.11 0.1381 exact 1.74%
|
||||
ticks enemy bullet<=100px tau15 -2.43 0.0001 exact 1.74%
|
||||
ticks enemy bullet<=100px tau3 +2.87 0.0014 exact 1.74%
|
||||
ticks enemy bullet<=100px tau5 +2.61 0.0005 exact 1.74%
|
||||
ticks enemy bullet<=100px tau9 +0.32 0.6066 exact 1.74%
|
||||
mean dist nearest enemy bullet pillaoff -3.29 0.0155 exact 3.03px
|
||||
mean dist nearest enemy bullet tau15 +5.28 0.0000 exact 3.03px
|
||||
mean dist nearest enemy bullet tau3 -1.24 0.3106 exact 3.03px
|
||||
mean dist nearest enemy bullet tau5 -2.01 0.1130 exact 3.03px
|
||||
mean dist nearest enemy bullet tau9 +1.68 0.1133 exact 3.03px
|
||||
ticks ANY bullet<=100px pillaoff +0.95 0.0394 exact 1.39%
|
||||
ticks ANY bullet<=100px tau15 -1.43 0.0040 exact 1.39%
|
||||
ticks ANY bullet<=100px tau3 +1.51 0.0228 exact 1.39%
|
||||
ticks ANY bullet<=100px tau5 +1.45 0.0147 exact 1.39%
|
||||
ticks ANY bullet<=100px tau9 +0.04 0.9388 exact 1.39%
|
||||
@@ -0,0 +1,101 @@
|
||||
# session /tmp/ab/heatshift
|
||||
# commit=f58d65d2e8206cebd5b7d0a9465950dd9e6d2c28 binary_sha256=74fd010ed1ffc4bb8a8de5569f58843479e1f50164a8a3f61e9c81cef108eaef rounds=7 runs=10 conc=7 ts=2026-09-25T22:09:42+02:00
|
||||
|
||||
ARM SUMMARY
|
||||
arm runs dmg/run dmgtk/run wins win% shots/run hitstk/run
|
||||
--------------------------------------------------------------------------
|
||||
old 10 287 202 35/70 50.0 783 93.5
|
||||
pillaoff 10 282 232 30/70 42.9 729 95.0
|
||||
tau3 10 261 299 20/70 28.6 666 106.2
|
||||
tau5 10 250 294 18/70 25.7 689 105.3
|
||||
tau9 10 265 231 22/70 31.4 750 99.5
|
||||
tau15 10 265 185 32/70 45.7 812 89.5
|
||||
|
||||
PER-RUN (never just the mean)
|
||||
old dmg: r1=271 r2=273 r3=255 r4=270 r5=282 r6=309 r7=338 r8=305 r9=266 r10=306
|
||||
wins: r1=3/7 r2=4/7 r3=4/7 r4=2/7 r5=2/7 r6=4/7 r7=4/7 r8=4/7 r9=3/7 r10=5/7
|
||||
pillaoff dmg: r1=207 r2=332 r3=263 r4=332 r5=286 r6=280 r7=244 r8=269 r9=311 r10=294
|
||||
wins: r1=1/7 r2=5/7 r3=2/7 r4=4/7 r5=4/7 r6=3/7 r7=2/7 r8=2/7 r9=4/7 r10=3/7
|
||||
tau3 dmg: r1=213 r2=296 r3=182 r4=285 r5=283 r6=220 r7=290 r8=304 r9=245 r10=293
|
||||
wins: r1=1/7 r2=3/7 r3=1/7 r4=3/7 r5=3/7 r6=1/7 r7=4/7 r8=1/7 r9=2/7 r10=1/7
|
||||
tau5 dmg: r1=272 r2=235 r3=241 r4=236 r5=281 r6=295 r7=248 r8=243 r9=218 r10=225
|
||||
wins: r1=2/7 r2=2/7 r3=2/7 r4=1/7 r5=3/7 r6=1/7 r7=2/7 r8=2/7 r9=2/7 r10=1/7
|
||||
tau9 dmg: r1=295 r2=283 r3=275 r4=239 r5=268 r6=258 r7=280 r8=262 r9=228 r10=266
|
||||
wins: r1=3/7 r2=3/7 r3=2/7 r4=2/7 r5=2/7 r6=3/7 r7=2/7 r8=3/7 r9=1/7 r10=1/7
|
||||
tau15 dmg: r1=266 r2=264 r3=258 r4=239 r5=278 r6=291 r7=230 r8=286 r9=283 r10=261
|
||||
wins: r1=3/7 r2=4/7 r3=3/7 r4=2/7 r5=4/7 r6=4/7 r7=2/7 r8=4/7 r9=4/7 r10=2/7
|
||||
|
||||
PAIRWISE PERMUTATION TEST (per-run values) + MANN-WHITNEY CROSS-CHECK
|
||||
permutation: exact when C(n,na) <= 20,000,000; otherwise Monte-Carlo 1,000,000 draws, seed=0x5eed5eed, p = (cnt+1)/(B+1), se = sqrt(p(1-p)/(B+1))
|
||||
metric A B diff(A-B) perm p method MC se MW p MW U
|
||||
-------------------------------------------------------------------------------------------------
|
||||
dmg/run old pillaoff +5.658 0.7096 exact - 0.8501 47.0
|
||||
round wins old pillaoff +0.500 0.4317 exact - 0.3631 38.0
|
||||
dmg/run old tau3 +26.343 0.1137 exact - 0.3075 36.0
|
||||
round wins old tau3 +1.500 0.0125 exact - 0.0101 16.5
|
||||
dmg/run old tau5 +37.893 0.0042 exact - 0.0091 15.0
|
||||
round wins old tau5 +1.700 0.0010 exact - 0.0014 9.0
|
||||
dmg/run old tau9 +22.056 0.0468 exact - 0.1041 28.0
|
||||
round wins old tau9 +1.300 0.0097 exact - 0.0087 16.0
|
||||
dmg/run old tau15 +22.039 0.0460 exact - 0.1041 28.0
|
||||
round wins old tau15 +0.300 0.6369 exact - 0.5127 41.5
|
||||
dmg/run pillaoff tau3 +20.686 0.2721 exact - 0.4727 40.0
|
||||
round wins pillaoff tau3 +1.000 0.1149 exact - 0.0869 27.5
|
||||
dmg/run pillaoff tau5 +32.236 0.0429 exact - 0.0539 24.0
|
||||
round wins pillaoff tau5 +1.200 0.0262 exact - 0.0254 21.5
|
||||
dmg/run pillaoff tau9 +16.398 0.2543 exact - 0.1859 32.0
|
||||
round wins pillaoff tau9 +0.800 0.1548 exact - 0.1461 31.0
|
||||
dmg/run pillaoff tau15 +16.382 0.2531 exact - 0.1859 32.0
|
||||
round wins pillaoff tau15 -0.200 0.8378 exact - 0.7204 45.0
|
||||
dmg/run tau3 tau5 +11.550 0.4674 exact - 0.3447 37.0
|
||||
round wins tau3 tau5 +0.200 0.8121 exact - 0.9042 48.0
|
||||
dmg/run tau3 tau9 -4.287 0.7791 exact - 0.5708 42.0
|
||||
round wins tau3 tau9 -0.200 0.8197 exact - 0.6047 43.0
|
||||
dmg/run tau3 tau15 -4.304 0.7776 exact - 0.6232 43.0
|
||||
round wins tau3 tau15 -1.200 0.0356 exact - 0.0260 21.0
|
||||
dmg/run tau5 tau9 -15.837 0.1359 exact - 0.1859 32.0
|
||||
round wins tau5 tau9 -0.400 0.3567 exact - 0.2333 35.0
|
||||
dmg/run tau5 tau15 -15.854 0.1337 exact - 0.1620 31.0
|
||||
round wins tau5 tau15 -1.400 0.0034 exact - 0.0034 13.0
|
||||
dmg/run tau9 tau15 -0.017 0.9984 exact - 1.0000 50.0
|
||||
round wins tau9 tau15 -1.000 0.0356 exact - 0.0298 22.0
|
||||
|
||||
MINIMUM DETECTABLE EFFECT (two-sample, alpha=0.05 two-sided, 80% power; MDE = 2.8016*sd*sqrt(2/n))
|
||||
metric n/arm sd(control) MDE(abs) MDE vs control mean
|
||||
----------------------------------------------------------------
|
||||
dmg/run 10 25.982 32.553 11.3% of 287.5
|
||||
round wins 10 0.972 1.218 34.8% of 3.5
|
||||
|
||||
ROUND-LEVEL TEST (pooled rounds, Fisher exact) vs `old` — ANTI-CONSERVATIVE: rounds cluster within runs
|
||||
arm ref wins arm wins p
|
||||
----------------------------------------------
|
||||
pillaoff 35/70 30/70 0.4980
|
||||
tau3 35/70 20/70 0.0150
|
||||
tau5 35/70 18/70 0.0051
|
||||
tau9 35/70 22/70 0.0386
|
||||
tau15 35/70 32/70 0.7352
|
||||
|
||||
LIVENESS (arm env applied in the bot's own boot report)
|
||||
old OK (10/10 runs: TR_TFIL_PILLAR_ON=1 TR_TFIL_HEAT_TIME=0 applied)
|
||||
pillaoff OK (10/10 runs: no arm env; report present)
|
||||
tau3 OK (10/10 runs: TR_TFIL_HEAT_TIME=1 TR_TFIL_HEAT_TAU=3 applied)
|
||||
tau5 OK (10/10 runs: TR_TFIL_HEAT_TIME=1 TR_TFIL_HEAT_TAU=5 applied)
|
||||
tau9 OK (10/10 runs: TR_TFIL_HEAT_TIME=1 TR_TFIL_HEAT_TAU=9 applied)
|
||||
tau15 OK (10/10 runs: TR_TFIL_HEAT_TIME=1 TR_TFIL_HEAT_TAU=15 applied)
|
||||
|
||||
[bb] APPLIED-SHIFT CHECK (from bot stdout; needs TR_BITBRAIN_LOG=1). A provably-zero placebo emits ZERO [bb] lines.
|
||||
arm runs w/log lines min max zeros
|
||||
old 0/10 0 - - -
|
||||
pillaoff 0/10 0 - - -
|
||||
tau3 0/10 0 - - -
|
||||
tau5 0/10 0 - - -
|
||||
tau9 0/10 0 - - -
|
||||
tau15 0/10 0 - - -
|
||||
|
||||
ROUND-WIN ATTRIBUTION (events primary; score tie-break for mutual-kill / timeout rounds)
|
||||
old wins==firstPlaces 10/10 runs OK; single-death rounds agree with score 70/70 (0 tie-broken)
|
||||
pillaoff wins==firstPlaces 10/10 runs OK; single-death rounds agree with score 70/70 (0 tie-broken)
|
||||
tau3 wins==firstPlaces 10/10 runs OK; single-death rounds agree with score 69/69 (1 tie-broken)
|
||||
tau5 wins==firstPlaces 10/10 runs OK; single-death rounds agree with score 69/69 (1 tie-broken)
|
||||
tau9 wins==firstPlaces 10/10 runs OK; single-death rounds agree with score 70/70 (0 tie-broken)
|
||||
tau15 wins==firstPlaces 10/10 runs OK; single-death rounds agree with score 69/69 (1 tie-broken)
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user