feat(ModularBot): 6 guns, pattern matcher, melee modules, adversarial bots

- New guns: guess-factor (GF histogram), pattern-matcher (movement tape replay)
- New modules: minimum-risk melee movement, spinning melee radar
- New test bots: PatternMover, RandomMover, WaveSurfer
- Fixed: FeedbackEvent now carries actualX/actualY for proper GF learning
- Fixed: TM gun warmup gating + directional residuals
- Fixed: circular gun integrated formula + multi-bin omega cache
- Fixed: oscillator wall-bounce lockout
- Fixed: phantom meteor perpendicular body orientation
- 6/6 battle wins across all enemy types
This commit is contained in:
2026-09-20 00:59:53 +02:00
parent 254c7dc997
commit 1ed7797cb6
184 changed files with 80149 additions and 21 deletions
@@ -0,0 +1,40 @@
================================================================================
ALTERNATIVE LEARNING METHODS BACKTEST
Dataset: 277 rows | Rep power: p1.07 | Hit threshold: 18.0px
Baselines: linear MAE≈12.24 | WiSARD K=12 MAE≈9.93
================================================================================
Method MAE Hit% F50 MAE L50 MAE vs Lin
--------------------------------------------------------------------------------
Linear (baseline) 10.18 80.1% 20.74 8.19 ---
WiSARD K=12 (reference) 9.93 ~55% --- --- -2.31
1. Echo State Net (res=512) 8.29 85.2% 15.76 2.11 -1.89
2. Kanerva SDM (addr=2000) 10.16 80.1% 20.74 8.19 -0.02
3. N-gram Markov (4×69 chunks) 10.11 80.5% 20.36 8.19 -0.07
4. Bloom Filter (8192 slots) 17.08 59.2% 23.67 13.15 +6.90
5. HDC (n_hd=2000, 32 cls) 65.33 0.0% 56.11 65.33 +55.15
6. RandSubspace (30×50bits) 8.31 90.6% 15.45 6.00 -1.88
7. WiSARD+Elig (k=12,tr=5) 8.24 90.3% 15.21 5.74 -1.94
================================================================================
RANKING by MAE (lower is better, rep power p1.07)
================================================================================
Rank Method MAE Hit% F50 L50
----------------------------------------------------------------------
1 7. WiSARD+Elig (k=12,tr=5) 8.24 90.3% 15.21 5.74
2 1. Echo State Net (res=512) 8.29 85.2% 15.76 2.11
3 6. RandSubspace (30×50bits) 8.31 90.6% 15.45 6.00
4 3. N-gram Markov (4×69 chunks) 10.11 80.5% 20.36 8.19
5 2. Kanerva SDM (addr=2000) 10.16 80.1% 20.74 8.19
6 4. Bloom Filter (8192 slots) 17.08 59.2% 23.67 13.15
7 5. HDC (n_hd=2000, 32 cls) 65.33 0.0% 56.11 65.33
Linear baseline: MAE=10.18 Hit=80.1%
WiSARD K=12 ref: MAE=9.93 Hit=~55%
Notes:
F50/L50 = MAE on first/last 50 samples (learning speed proxy).
Hit% = fraction within 18px (Robocode bullet half-width).
All methods: online, binary input, no gradients, no supervised labels.
Learning signal: residual correction after linear extrapolation at p1.07.