64e23e29d1
Decisive measurement for the j160 firing floor, on the recorded closed-loop corpus (8149 recordings / 35163 rounds / 34.46M ticks, state only): * 61.2% of rounds end with self energy crossing 0. Energy at death: median 0.83, p90 8.90, max 24.83 -- the bot dies BROKE, so the floor's premise is real. Time at energy<=0 is a median of 1 tick: the round ends on the crossing tick, there is no recoverable disabled window. * Reserve that would have absorbed the killing blow: median 0.40, p75 2.00, p90 6.90. * Cannot climb back out: at energy<=5 the next tick brings a landed hit 0.232% of the time and death 0.663% (2.9x). At <=20 recovery is 2x more likely, which is why a floor at 20 is the wrong value. * Cost: floor 5 blocks 9.58% of ticks, median run 53, mean run 118, banking ~9.9 energy against a p75 overshoot of 2.0. * Measured caveat: the recorded ledger closes exactly (residual -0.00 over 35065 rounds), so these captures do NOT charge firepower cost; the cost column is derived from the game rules, and the landed-hit power (mode 1.0, mean 1.42) is what sets the bracket. Honest read: worth an A/B, materially different in magnitude from the geometry arm (smaller damage cost, stronger and directly measured safety claim), so NOT the clean 'protects against nothing' negative. docs/ram_floor_exhaustion_ab.md: replaces the draft with the measurement plus a re-sized A/B proposal (4 arms, 42 runs/opponent/arm, 630 runs/arm for MDE 0.10 wins/run, ~2.7 h at the measured 23 battles/min). NOT RUN -- no battle, server or GUI was started. Both knobs remain default 0.0.
58 lines
3.6 KiB
Plaintext
58 lines
3.6 KiB
Plaintext
recordings=8149 rounds=35163 ticks=34461805
|
|
|
|
=== A) how each round ends ===
|
|
self reached energy<=0 : 21518 rounds ( 61.2%)
|
|
only the enemy did : 12906 rounds ( 36.7%)
|
|
both in the same round : 347 rounds ( 1.0%)
|
|
neither (truncated) : 392 rounds ( 1.1%)
|
|
|
|
=== B) SELF ENERGY AT DEATH (last value above 0 before the kill) ===
|
|
n=21865 min 0.00 p10 0.10 median 0.83 mean 2.50 p90 8.90 max 24.83
|
|
<= 0 energy: 0 ( 0.0% of self deaths, 0.00% of all rounds)
|
|
<= 1 energy: 12217 ( 55.9% of self deaths, 34.74% of all rounds)
|
|
<= 3 energy: 16793 ( 76.8% of self deaths, 47.76% of all rounds)
|
|
<= 5 energy: 18420 ( 84.2% of self deaths, 52.38% of all rounds)
|
|
<= 10 energy: 20290 ( 92.8% of self deaths, 57.70% of all rounds)
|
|
<= 20 energy: 21864 (100.0% of self deaths, 62.18% of all rounds)
|
|
crossing value: median -0.40 p10 -6.90 p90 0.00 (negative = overshoot of the killing hit)
|
|
reserve that WOULD have survived the killing blow (overshoot):
|
|
median 0.40 p75 2.00 p90 6.90 p99 15.00 max 19.50
|
|
a reserve of 3 would have absorbed it in 17301 self deaths ( 79.1%)
|
|
a reserve of 5 would have absorbed it in 18610 self deaths ( 85.1%)
|
|
a reserve of 10 would have absorbed it in 20690 self deaths ( 94.6%)
|
|
a reserve of 20 would have absorbed it in 21865 self deaths (100.0%)
|
|
|
|
=== C) time spent at energy<=0 (isDisabled) before the round ends ===
|
|
ticks disabled: median 1 p90 18 max 452 total 593030 of 34461805 ticks (1.7208%)
|
|
|
|
=== D) RECOVERY: self energy rises tick-over-tick (a landed hit) ===
|
|
rising transitions: 205754 of 34426642 tick-pairs (0.598%), i.e. ~5.85 per round
|
|
self energy just BEFORE the rise: median 45.24 p10 8.04 p90 89.00
|
|
climbs that started from a low reserve:
|
|
from <= 20: 52256 rises (25.40% of rises)
|
|
from <= 10: 25352 rises (12.32% of rises)
|
|
from <= 5: 12812 rises ( 6.23% of rises)
|
|
from <= 3: 8013 rises ( 3.89% of rises)
|
|
|
|
P(climb out | low) vs P(die | low), per tick spent at that level:
|
|
energy <= 3: 2633881 ticks | climb next tick 0.130% | killed on this tick 0.830% -> dying is 6.4x more likely than recovering
|
|
energy <= 5: 3299807 ticks | climb next tick 0.232% | killed on this tick 0.663% -> dying is 2.9x more likely than recovering
|
|
energy <= 10: 5002524 ticks | climb next tick 0.365% | killed on this tick 0.437% -> dying is 1.2x more likely than recovering
|
|
energy <= 20: 8526129 ticks | climb next tick 0.500% | killed on this tick 0.256% -> dying is 0.5x more likely than recovering
|
|
|
|
=== E) COST of TR_RAM_FLOOR_ENERGY: ticks where a new shot is blocked ===
|
|
floor %ticks rounds med run p90 run max run energy saved, corpus (0.1..3.0 p) per med run @1.0p
|
|
3 7.64% 23086 34 299 1104 25822 .. 493853 2.83
|
|
5 9.58% 23739 53 330 1104 32351 .. 618714 4.42
|
|
10 14.52% 25211 89 433 1141 49044 .. 937973 7.42
|
|
20 24.74% 27799 139 621 2059 83590 .. 1598649 11.58
|
|
energy saved over the WHOLE corpus, heat-limited: the 0.1..3.0 power
|
|
bracket, then the p=1.0 column = what one median suppressed RUN is worth
|
|
(1.0 power is the mode of the measured landed-hit histogram).
|
|
Median run lengths 34/53/89/139 ticks; one 1.0-power landed hit = 3.0.
|
|
|
|
CAVEAT, measured: the recorded energy ledger closes EXACTLY on
|
|
start + landed-gains - damage = end (residual -0.00 over 35065 rounds),
|
|
i.e. these captures DO NOT charge the firepower cost. The cost column
|
|
is therefore computed from the game rules, not read off the data.
|