MELEE A/B: BitBrain vs shipped Pattern rack — repo's first melee measurement (null)
Adds common_libs/tests/measure_melee_bitbrain_ab.nim (+ .sh driver, .py analyzer,
committed per-run fixtures) and docs/melee_bitbrain_ab.md.
Experiment: 4-bot Free-For-All (ModularBot + WaveSurfer + PatternMover +
RandomMover), 4 arms x 16 runs x 7 rounds, frozen ModularBot from git archive
HEAD (commit 0f5cfe3, binary 11bba27), shipped tfil movement in every run.
Arms differ only in the gun rack: pattern (shipped), bb_round, bb_ret, bb_learn.
Result: NOT DETECTABLE. Score (server round score = damage + survival bonus)
differs by -63..+33 pts (perm p=0.16-0.71) against an MDE of 151 (~5.1%).
Every arm finishes rank 1. Round wins hint BitBrain's way (112/112 and 111/112
vs 109/112) but p=0.225 (MW 0.080), half the 0.40-win MDE.
Liveness proven: rack boot lines flip (rack active melee = PATTERN / BITBRAIN),
every run faced 3 distinct targets and ~66-69 target changes, and the bb arms
logged one [bb-reset] reason=target_change per switch. The melee premise was
exercised; the fast adaptation bought no measurable score edge at this sample.
This commit is contained in:
@@ -0,0 +1,665 @@
|
||||
{
|
||||
"reference": "pattern",
|
||||
"arms": {
|
||||
"bb_learn": {
|
||||
"n": 16,
|
||||
"wins": [
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"rounds": [
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"score": [
|
||||
2883,
|
||||
2757,
|
||||
2906,
|
||||
3145,
|
||||
2911,
|
||||
3068,
|
||||
2758,
|
||||
2715,
|
||||
3107,
|
||||
2848,
|
||||
3190,
|
||||
2912,
|
||||
2859,
|
||||
3092,
|
||||
2907,
|
||||
3066
|
||||
],
|
||||
"survival": [
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050
|
||||
],
|
||||
"mean_rank": [
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"rack_melee": [
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN"
|
||||
],
|
||||
"target_changes": [
|
||||
63,
|
||||
68,
|
||||
68,
|
||||
72,
|
||||
80,
|
||||
55,
|
||||
58,
|
||||
77,
|
||||
78,
|
||||
72,
|
||||
66,
|
||||
62,
|
||||
62,
|
||||
64,
|
||||
60,
|
||||
63
|
||||
],
|
||||
"distinct_targets": [
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3
|
||||
],
|
||||
"bb_reset": [
|
||||
63,
|
||||
68,
|
||||
68,
|
||||
72,
|
||||
80,
|
||||
55,
|
||||
58,
|
||||
77,
|
||||
78,
|
||||
72,
|
||||
66,
|
||||
62,
|
||||
62,
|
||||
64,
|
||||
60,
|
||||
63
|
||||
]
|
||||
},
|
||||
"bb_ret": {
|
||||
"n": 16,
|
||||
"wins": [
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"rounds": [
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"score": [
|
||||
2891,
|
||||
2770,
|
||||
2792,
|
||||
2934,
|
||||
2943,
|
||||
2890,
|
||||
2817,
|
||||
2999,
|
||||
2994,
|
||||
2913,
|
||||
2920,
|
||||
2890,
|
||||
3011,
|
||||
2945,
|
||||
2943,
|
||||
2802
|
||||
],
|
||||
"survival": [
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1000,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050
|
||||
],
|
||||
"mean_rank": [
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"rack_melee": [
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN"
|
||||
],
|
||||
"target_changes": [
|
||||
60,
|
||||
67,
|
||||
73,
|
||||
54,
|
||||
63,
|
||||
70,
|
||||
83,
|
||||
65,
|
||||
73,
|
||||
71,
|
||||
55,
|
||||
82,
|
||||
74,
|
||||
84,
|
||||
56,
|
||||
59
|
||||
],
|
||||
"distinct_targets": [
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3
|
||||
],
|
||||
"bb_reset": [
|
||||
62,
|
||||
67,
|
||||
73,
|
||||
54,
|
||||
63,
|
||||
70,
|
||||
83,
|
||||
65,
|
||||
73,
|
||||
71,
|
||||
55,
|
||||
82,
|
||||
74,
|
||||
84,
|
||||
56,
|
||||
59
|
||||
]
|
||||
},
|
||||
"bb_round": {
|
||||
"n": 16,
|
||||
"wins": [
|
||||
7,
|
||||
6,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"rounds": [
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"score": [
|
||||
3040,
|
||||
2944,
|
||||
3125,
|
||||
3110,
|
||||
3037,
|
||||
2993,
|
||||
2985,
|
||||
2842,
|
||||
2835,
|
||||
3045,
|
||||
3180,
|
||||
2952,
|
||||
3126,
|
||||
2927,
|
||||
3021,
|
||||
2804
|
||||
],
|
||||
"survival": [
|
||||
1050,
|
||||
900,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
950
|
||||
],
|
||||
"mean_rank": [
|
||||
1.0,
|
||||
1.1429,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"rack_melee": [
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN",
|
||||
"BITBRAIN"
|
||||
],
|
||||
"target_changes": [
|
||||
62,
|
||||
60,
|
||||
81,
|
||||
62,
|
||||
69,
|
||||
61,
|
||||
73,
|
||||
70,
|
||||
67,
|
||||
63,
|
||||
66,
|
||||
70,
|
||||
71,
|
||||
75,
|
||||
83,
|
||||
67
|
||||
],
|
||||
"distinct_targets": [
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3
|
||||
],
|
||||
"bb_reset": [
|
||||
62,
|
||||
60,
|
||||
81,
|
||||
62,
|
||||
69,
|
||||
61,
|
||||
73,
|
||||
70,
|
||||
67,
|
||||
63,
|
||||
66,
|
||||
70,
|
||||
71,
|
||||
75,
|
||||
83,
|
||||
67
|
||||
]
|
||||
},
|
||||
"pattern": {
|
||||
"n": 16,
|
||||
"wins": [
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
6,
|
||||
7,
|
||||
6,
|
||||
7,
|
||||
6,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"rounds": [
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7,
|
||||
7
|
||||
],
|
||||
"score": [
|
||||
3082,
|
||||
2795,
|
||||
2897,
|
||||
2915,
|
||||
3176,
|
||||
2922,
|
||||
2860,
|
||||
2878,
|
||||
3261,
|
||||
2957,
|
||||
3106,
|
||||
2869,
|
||||
3194,
|
||||
2728,
|
||||
2869,
|
||||
2931
|
||||
],
|
||||
"survival": [
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
950,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
1000,
|
||||
1050,
|
||||
1050,
|
||||
1050,
|
||||
900,
|
||||
1050,
|
||||
1050
|
||||
],
|
||||
"mean_rank": [
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"rack_melee": [
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN",
|
||||
"PATTERN"
|
||||
],
|
||||
"target_changes": [
|
||||
66,
|
||||
56,
|
||||
73,
|
||||
77,
|
||||
53,
|
||||
67,
|
||||
67,
|
||||
69,
|
||||
79,
|
||||
67,
|
||||
51,
|
||||
51,
|
||||
67,
|
||||
64,
|
||||
81,
|
||||
75
|
||||
],
|
||||
"distinct_targets": [
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3,
|
||||
3
|
||||
],
|
||||
"bb_reset": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user