da4a971ca9
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.
665 lines
6.1 KiB
JSON
665 lines
6.1 KiB
JSON
{
|
|
"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
|
|
]
|
|
}
|
|
}
|
|
} |