Microwave’s history files include both pre-training games and tournament games. I removed the pre-training games, and these tables show only tournament results. I looked at it both ways and decided this way was more informative. Yesterday’s table includes both prepared data and tournament games.
The enemy strategies listed in the form “HeavyRush -> SafeExpand” are the initially predicted and the later recognized enemy play, as explained by MicroDK in a comment. When they’re the same, the prediction was correct.
#1 stardust
opening
games
wins
first
last
10Hatch9Pool9gas
3
0%
60
107
10HatchMain9Pool9Gas
1
0%
133
133
12HatchMain
2
0%
14
49
12Pool
1
0%
110
110
12PoolMain
1
0%
121
121
12PoolMuta
2
0%
46
142
2HatchMuta
7
0%
20
98
3Hatch
3
0%
17
112
3HatchExpo
2
0%
43
57
3HatchHydra
1
0%
139
139
3HatchHydra_BHG
1
0%
38
38
3HatchLingBust
9
11%
24
144
3HatchMuta
36
0%
0
143
3HatchPoolHydra
7
0%
27
147
3HatchPoolHydraExpo
1
0%
114
114
4PoolHard
1
0%
123
123
4PoolSoft
2
0%
16
70
5HatchPoolHydra
18
0%
5
149
5Pool
2
0%
8
81
6Pool
2
0%
40
41
6PoolSpeed
4
0%
28
146
7Pool
1
0%
148
148
9Hatch9Pool9Gas
1
0%
134
134
9HatchMain8Pool8Gas
1
0%
117
117
9Pool
1
0%
15
15
9PoolGasHatchSpeed7D
1
0%
132
132
9PoolGasHatchSpeed8D
1
0%
3
3
9PoolHatchGasSpeed7D
1
0%
34
34
9PoolHatchGasSpeed8D
12
0%
6
138
9PoolHydra
1
0%
118
118
9PoolLurker
1
0%
95
95
9PoolSpeed
1
0%
137
137
9PoolSpeedLing
1
0%
58
58
9PoolSunkHatch
2
0%
71
105
9PoolSunken
1
0%
140
140
OverpoolLurker
1
0%
73
73
OverpoolSpeed
1
0%
116
116
OverpoolTurtle
1
0%
104
104
ZvP_10Hatch9Pool
2
0%
77
109
ZvP_11Hatch10Pool
1
0%
80
80
ZvP_2HatchHydra
2
0%
87
129
ZvP_9Hatch9Pool
2
0%
127
145
ZvZ_Overgas11Pool
2
0%
33
61
ZvZ_Overgas9Pool
2
0%
2
128
ZvZ_Overpool11Gas
2
0%
67
82
ZvZ_Overpool9Gas
1
0%
48
48
ZvZ_OverpoolTurtle
1
0%
122
122
47 openings
150
1%
enemy
games
wins
HeavyRush -> HeavyRush
127
1%
HeavyRush -> Unknown
21
0%
SafeExpand -> HeavyRush
2
0%
3 openings
150
1%
Stardust always plays the same strategy, so it’s no wonder that Microwave was able to predict it. Not that it helped. 3HatchMuta was tried repeatedly because it scored some wins in training.
#2 purplewave
opening
games
wins
first
last
10Hatch9Pool9gas
3
0%
4
122
11HatchTurtleHydra
3
0%
72
139
11HatchTurtleLurker
1
0%
57
57
12HatchMain
1
0%
44
44
12PoolMuta
11
18%
20
121
2HatchLurkerAllIn
1
0%
47
47
3HatchHydraBust
1
0%
40
40
3HatchHydra_BHG
1
0%
16
16
3HatchMuta
9
33%
26
149
3HatchMutaExpo
1
0%
17
17
3HatchPoolHydra
1
0%
94
94
4HatchPoolHydra
1
0%
56
56
4PoolHard
8
12%
7
147
6Pool
1
0%
55
55
6PoolSpeed
10
30%
32
135
7Pool
3
0%
38
86
7PoolHydraLingRush7D
1
0%
108
108
8PoolHydraRush8D
2
0%
19
49
9Hatch9Pool9Gas
1
0%
124
124
9HatchMain8Pool8Gas
8
25%
15
128
9Pool
2
0%
9
102
9PoolGasHatchSpeed7D
28
50%
0
142
9PoolHatchGasSpeed7D
17
65%
11
141
9PoolHatchGasSpeed8D
9
56%
114
146
9PoolSpeed
4
25%
1
54
9PoolSpeedLing
2
0%
60
119
9PoolSunkHatch
1
0%
109
109
9PoolSunken
1
0%
145
145
OverpoolSpeed
7
14%
23
143
OverpoolTurtle
6
17%
14
123
ZvP_10Hatch9Pool
1
0%
66
66
ZvP_2HatchHydra
1
0%
92
92
ZvP_9Hatch9Pool
2
0%
130
148
ZvZ_Overpool9Gas
1
0%
43
43
34 openings
150
29%
enemy
games
wins
HeavyRush -> HeavyRush
103
23%
HeavyRush -> NakedExpand
2
50%
HeavyRush -> SafeExpand
2
0%
HeavyRush -> Turtle
5
40%
HeavyRush -> Unknown
16
31%
NakedExpand -> HeavyRush
2
0%
SafeExpand -> HeavyRush
1
100%
SafeExpand -> SafeExpand
3
33%
SafeExpand -> Turtle
2
50%
Turtle -> HeavyRush
3
33%
Turtle -> NakedExpand
4
100%
Turtle -> SafeExpand
3
33%
Turtle -> Turtle
4
75%
13 openings
150
29%
PurpleWave opened with 2 gate most games. Microwave was able to predict it, but as we saw in UAlbertaBot’s table, the zealots are a Microwave weakness and PurpleWave was able to exploit it. Nevertheless, Microwave was no pushover. The more successful zerg tries were zergling openings, especially variants of the Styx build (9PoolHatchGasSpeed).
#3 bananabrain
opening
games
wins
first
last
10Hatch9Pool9gas
2
0%
4
20
10HatchMain9Pool9Gas
1
0%
5
5
11HatchTurtleHydra
1
0%
83
83
12Hatch
1
0%
60
60
12PoolMain
43
51%
37
139
12PoolMuta
1
0%
68
68
1HatchMuta_Sparkle
1
0%
65
65
2HatchMuta
5
20%
30
80
3HatchHydraBust
1
0%
109
109
3HatchHydra_BHG
1
0%
122
122
3HatchLingBust
6
33%
12
130
3HatchMuta
1
0%
11
11
3HatchPoolHydraExpo
1
0%
49
49
4HatchBeforeGas
1
0%
3
3
4HatchPoolHydra
2
0%
1
27
4PoolHard
6
33%
55
145
4PoolSoft
1
0%
108
108
6Pool
1
0%
81
81
7Pool
1
0%
13
13
8Pool
1
0%
53
53
8PoolHydraRush8D
1
0%
31
31
9PoolGasHatchSpeed8D
18
67%
70
149
9PoolHatchGasSpeed7D
1
0%
34
34
9PoolHatchGasSpeed8D
32
53%
0
146
9PoolSpeed
3
0%
25
147
9PoolSpeedLing
5
20%
7
123
9PoolSunkHatch
1
0%
142
142
Overpool
1
0%
127
127
OverpoolSpeed
3
0%
79
92
ZvP_10Hatch9Pool
3
33%
29
110
ZvP_11Hatch10Pool
1
0%
121
121
ZvZ_Overgas9Pool
1
0%
106
106
ZvZ_Overpool11Gas
2
0%
21
134
33 openings
150
39%
enemy
games
wins
HeavyRush -> HeavyRush
22
32%
HeavyRush -> NakedExpand
14
86%
HeavyRush -> SafeExpand
12
0%
HeavyRush -> Turtle
6
17%
HeavyRush -> Unknown
25
32%
NakedExpand -> HeavyRush
14
43%
NakedExpand -> NakedExpand
14
79%
NakedExpand -> SafeExpand
5
0%
NakedExpand -> Turtle
2
0%
NakedExpand -> Unknown
12
33%
SafeExpand -> HeavyRush
8
25%
SafeExpand -> NakedExpand
4
75%
SafeExpand -> SafeExpand
4
25%
SafeExpand -> Turtle
2
0%
SafeExpand -> Unknown
5
40%
Turtle -> NakedExpand
1
100%
16 openings
150
39%
BananaBrain is not predictable, and Microwave could not predict its play. Again, the more successful zerg builds were zergling openings.
#4 dragon
opening
games
wins
first
last
10HatchTurtleHydra
1
0%
131
131
11HatchTurtleLurker
1
0%
76
76
12PoolMain
1
0%
141
141
2HatchMuta
68
53%
1
148
3HatchHydraExpo
3
33%
122
135
3HatchMutaExpo
38
47%
0
144
4HatchPoolHydra
8
25%
73
136
4PoolSoft
18
28%
38
147
5HatchPoolHydra
5
60%
126
149
5PoolSpeed
1
0%
118
118
7PoolHydraLingRush7D
1
0%
78
78
9PoolHatchGasSpeed8D
1
0%
128
128
9PoolSunkHatch
1
0%
115
115
Overpool
1
0%
53
53
OverpoolLurker
1
0%
107
107
OverpoolTurtle
1
0%
62
62
16 openings
150
43%
enemy
games
wins
Factory -> Factory
18
56%
Factory -> HeavyRush
13
46%
Factory -> SafeExpand
2
0%
Factory -> Unknown
14
71%
Factory -> WorkerRush
3
33%
HeavyRush -> Factory
15
27%
HeavyRush -> HeavyRush
28
54%
HeavyRush -> NakedExpand
1
0%
HeavyRush -> SafeExpand
4
0%
HeavyRush -> Turtle
2
0%
HeavyRush -> Unknown
31
26%
NakedExpand -> HeavyRush
1
100%
SafeExpand -> HeavyRush
1
100%
SafeExpand -> Unknown
2
50%
WorkerRush -> Factory
2
50%
WorkerRush -> HeavyRush
2
100%
WorkerRush -> Unknown
4
50%
WorkerRush -> WorkerRush
7
43%
18 openings
150
43%
Microwave was moderately successful in predicting Dragon’s play, because Dragon tends to stick with a successful strategy as long as it remains successful. Look at that mix of zerg openings! 4 pool, hydra builds, and mutalisk builds.
#5 mcrave
opening
games
wins
first
last
10Hatch9Pool9gas
1
0%
133
133
10HatchMain9Pool9Gas
4
25%
42
72
10HatchTurtleHydra
1
0%
83
83
11HatchTurtleLurker
1
0%
36
36
12Hatch
1
0%
15
15
12Pool
17
18%
4
147
12PoolMain
2
0%
110
139
2HatchLurker
1
0%
32
32
3Hatch
2
0%
113
137
3HatchLurker
1
0%
95
95
3HatchMuta
1
0%
148
148
3HatchMutaExpo
1
0%
106
106
3HatchPoolHydra
2
0%
92
102
3HatchPoolHydraExpo
12
25%
49
145
4HatchBeforeGas
1
0%
71
71
4PoolSoft
1
0%
38
38
5PoolSpeed
1
0%
73
73
6PoolSpeed
4
25%
128
138
7PoolHydraLingRush7D
1
0%
134
134
8Pool
1
0%
62
62
9HatchMain8Pool8Gas
1
0%
47
47
9Pool
1
0%
104
104
9PoolGasHatchSpeed8D
1
0%
17
17
9PoolSpeed
28
46%
33
146
9PoolSpeedLing
1
0%
76
76
Overpool
1
0%
79
79
OverpoolSpeed
27
22%
0
149
ZvP_2HatchHydra
2
0%
14
54
ZvP_9Hatch9Pool
21
33%
1
143
ZvZ_Overpool11Gas
6
0%
7
108
ZvZ_Overpool9Gas
5
0%
8
67
31 openings
150
23%
enemy
games
wins
FastRush -> HeavyRush
1
0%
HeavyRush -> NakedExpand
3
67%
HeavyRush -> Unknown
1
0%
NakedExpand -> FastRush
1
100%
NakedExpand -> HeavyRush
3
33%
NakedExpand -> NakedExpand
8
38%
NakedExpand -> Turtle
7
14%
NakedExpand -> Unknown
29
7%
Turtle -> FastRush
1
0%
Turtle -> HeavyRush
1
100%
Turtle -> NakedExpand
11
64%
Turtle -> Turtle
23
26%
Turtle -> Unknown
61
16%
13 openings
150
23%
Microwave tried a lot of stuff versus McRave—three hatch before pool hydralisk opening in ZvZ? And it worked sometimes? I should try to find some of those games.
#7 steamhammer
opening
games
wins
first
last
10Hatch9Pool9gas
9
44%
68
142
10HatchMain9Pool9Gas
4
25%
101
113
10HatchTurtleHydra
1
0%
39
39
11HatchTurtleMuta
1
0%
108
108
12HatchMain
1
0%
15
15
12Pool
25
20%
0
144
12PoolMain
5
20%
24
92
2HatchLurker
2
0%
54
83
3HatchHydraBust
1
0%
104
104
3HatchHydraExpo
2
0%
67
86
3HatchPoolHydra
2
0%
7
149
4HatchPoolHydra
1
0%
34
34
5Pool
4
0%
5
96
5PoolSpeed
3
33%
94
133
7Pool
1
0%
36
36
7PoolHydraLingRush7D
1
0%
89
89
9Hatch9Pool9Gas
1
0%
106
106
9HatchTurtleHydra
1
0%
127
127
9PoolGasHatchSpeed8D
1
0%
42
42
9PoolHatch
2
0%
19
29
9PoolSpeed
31
55%
9
138
9PoolSpeedLing
1
0%
117
117
9PoolSunken
7
0%
1
95
OverpoolSpeed
3
33%
47
121
ZvP_11Hatch10Pool
4
50%
135
145
ZvP_2HatchHydra
9
0%
3
84
ZvP_9Hatch9Pool
1
0%
16
16
ZvZ_Overgas11Pool
20
50%
6
147
ZvZ_Overpool11Gas
2
0%
79
93
ZvZ_Overpool9Gas
4
25%
61
148
30 openings
150
29%
enemy
games
wins
HeavyRush -> HeavyRush
2
50%
HeavyRush -> Turtle
4
0%
Turtle -> FastRush
1
100%
Turtle -> HeavyRush
14
57%
Turtle -> NakedExpand
16
38%
Turtle -> Turtle
96
23%
Turtle -> Unknown
17
29%
7 openings
150
29%
Microwave recognizes turtle builds in most games. That will be Steamhammer’s OverpoolTurtle opening, which builds as many sunkens at it can afford (2) without delaying mutalisks. It’s tough for bots to handle, because the build is safe on the ground while giving nothing away in the air. Microwave mainly preferred speed zergling openings in response, taking advantage of its superior zergling-on-zergling micro (which is not really a difference in micro as much as in engagement skills).
#8 daqin
opening
games
wins
first
last
1HatchMuta_Sparkle
62
90%
49
148
3HatchLingBust
17
65%
1
130
3HatchMuta
59
90%
0
149
3HatchMutaExpo
9
56%
12
48
3HatchPoolHydraExpo
1
0%
3
3
9Pool
1
0%
22
22
OverpoolLurker
1
0%
19
19
7 openings
150
83%
enemy
games
wins
HeavyRush -> HeavyRush
4
100%
HeavyRush -> SafeExpand
3
100%
HeavyRush -> Turtle
6
100%
HeavyRush -> Unknown
2
100%
NakedExpand -> Turtle
3
67%
SafeExpand -> NakedExpand
1
100%
SafeExpand -> SafeExpand
2
100%
SafeExpand -> Turtle
5
100%
Turtle -> HeavyRush
20
85%
Turtle -> NakedExpand
16
100%
Turtle -> Proxy
1
0%
Turtle -> SafeExpand
16
62%
Turtle -> Turtle
55
85%
Turtle -> Unknown
16
62%
14 openings
150
83%
#9 zzzkbot
opening
games
wins
first
last
OverpoolSpeed
147
95%
2
149
ZvZ_Overgas11Pool
3
0%
0
3
2 openings
150
93%
enemy
games
wins
FastRush -> FastRush
96
94%
FastRush -> Turtle
1
100%
FastRush -> Unknown
51
96%
Turtle -> FastRush
2
0%
4 openings
150
93%
It looks like ZZZKBot played its 4 pool about 2/3 of the time, and the rest of the time did something that Microwave could not recognize. But no matter, Microwave played overpool nearly all the time, fast enough to stop the rush and, in Microwave’s hands, flexible enough to counter ZZZKBot’s other builds.
#10 ualbertabot
opening
games
wins
first
last
1HatchMuta_Sparkle
2
0%
123
143
3HatchHydraExpo
1
0%
91
91
4PoolSoft
51
75%
0
147
5Pool
7
57%
44
133
5PoolSpeed
22
68%
3
146
7PoolHydraLingRush7D
1
0%
79
79
7PoolHydraRush7D
1
0%
50
50
8PoolHydraRush8D
10
50%
34
85
9PoolGasHatchSpeed8D
2
50%
27
28
9PoolSunkHatch
9
56%
113
135
OverpoolSunken
15
53%
102
148
ZvP_10Hatch9Pool
27
56%
21
120
ZvZ_Overpool11Gas
1
0%
82
82
13 openings
149
61%
enemy
games
wins
Factory -> FastRush
2
50%
Factory -> HeavyRush
2
0%
Factory -> NakedExpand
1
100%
Factory -> Unknown
2
0%
FastRush -> Factory
3
100%
FastRush -> FastRush
4
75%
FastRush -> HeavyRush
9
67%
FastRush -> NakedExpand
2
100%
FastRush -> Unknown
3
67%
HeavyRush -> Factory
2
100%
HeavyRush -> FastRush
22
64%
HeavyRush -> HeavyRush
49
41%
HeavyRush -> NakedExpand
9
100%
HeavyRush -> Unknown
22
68%
NakedExpand -> Factory
4
100%
NakedExpand -> FastRush
2
50%
NakedExpand -> HeavyRush
5
40%
NakedExpand -> NakedExpand
3
100%
NakedExpand -> Unknown
2
100%
Unknown -> HeavyRush
1
100%
20 openings
149
61%
Compare this to UAlbertaBot’s table. Microwave did not do perfectly against any UAlbertaBot race, and suffered badly against the zealot rush. Microwave had neither a universal build that works against all UAlbertaBot plays (which is how Steamhammer succeeded against UAlbertaBot), nor was it able to adapt its build well enough to counter what it saw (compare ZZZKBot above). Still, it found that 4 pool and 5 pool were not bad! Fight fire with fire.
#11 willyt
opening
games
wins
first
last
10Hatch9Pool9gas
15
73%
1
143
11HatchTurtleLurker
6
17%
26
74
11HatchTurtleMuta
4
25%
25
73
12PoolMain
3
33%
121
149
12PoolMuta
2
100%
64
80
2HatchMuta_Sparkle
1
0%
36
36
3HatchExpo
1
0%
77
77
3HatchHydra
1
0%
58
58
3HatchLurker
2
0%
57
141
3HatchMuta
4
75%
76
146
3HatchMutaExpo
8
50%
56
145
9Hatch9Pool9Gas
13
77%
123
144
9PoolExpo
40
78%
9
147
9PoolGasHatchSpeed8D
4
100%
53
142
9PoolHydra
1
0%
91
91
9PoolLurker
10
40%
5
115
9PoolSpeed
21
81%
0
148
9PoolSunkHatch
4
25%
3
43
9PoolSunken
9
78%
51
103
ZvZ_Overgas11Pool
1
0%
84
84
20 openings
150
65%
enemy
games
wins
Factory -> Factory
1
100%
Factory -> NakedExpand
4
100%
Factory -> SafeExpand
1
0%
Factory -> Unknown
4
100%
HeavyRush -> Factory
2
50%
HeavyRush -> HeavyRush
4
100%
HeavyRush -> NakedExpand
5
100%
HeavyRush -> SafeExpand
4
25%
HeavyRush -> Unknown
2
50%
NakedExpand -> Factory
8
62%
NakedExpand -> HeavyRush
10
50%
NakedExpand -> NakedExpand
43
100%
NakedExpand -> SafeExpand
13
46%
NakedExpand -> Unknown
31
23%
SafeExpand -> Factory
2
50%
SafeExpand -> NakedExpand
7
100%
SafeExpand -> SafeExpand
6
33%
SafeExpand -> Unknown
3
0%
18 openings
150
65%
#12 ecgberht
opening
games
wins
first
last
2HatchHydra
147
88%
0
149
9PoolLurker
3
67%
5
25
2 openings
150
88%
enemy
games
wins
Factory -> Factory
1
100%
Factory -> NakedExpand
8
100%
Factory -> SafeExpand
1
0%
Factory -> Unknown
6
100%
FastRush -> Factory
1
100%
FastRush -> Unknown
2
100%
HeavyRush -> Factory
4
100%
HeavyRush -> FastRush
2
50%
HeavyRush -> HeavyRush
1
100%
HeavyRush -> NakedExpand
4
100%
HeavyRush -> SafeExpand
1
100%
HeavyRush -> Unknown
1
100%
NakedExpand -> Factory
13
100%
NakedExpand -> FastRush
4
75%
NakedExpand -> HeavyRush
16
88%
NakedExpand -> NakedExpand
35
100%
NakedExpand -> SafeExpand
2
50%
NakedExpand -> Unknown
45
73%
SafeExpand -> Factory
1
100%
SafeExpand -> HeavyRush
1
100%
SafeExpand -> Unknown
1
100%
21 openings
150
88%
#13 eggbot
opening
games
wins
first
last
9Pool
150
100%
0
149
1 openings
150
100%
enemy
games
wins
Proxy -> Turtle
2
100%
Turtle -> Proxy
15
100%
Turtle -> Turtle
84
100%
Turtle -> Unknown
49
100%
4 openings
150
100%
Microwave did not understand how to recognize EggBot’s cannon play, but it knew from training how to win.
Trackbacks
No Trackbacks
Comments
MicroDK on :
Great analysis! It looks like Microwave trained against the wrong version of UAlbertaBot. I used the one from SSCAIT / Basil, but that is a version from 2015, where it only plays the rush strategies for each race and no learning.
But even if I train with the right one, it looks like Microwave is doing worse than against UAlbertaBot in AIIDE 2019 last year. I get around 66% winrate, down from 83% in AIIDE 2019. :(
It is also seen in games on Basil against David Churchill (UAlbertaBot) and WuliBot. Microwave has more losses against Zealot rushes than before. :(
It’s difficult to make an improvement that improves play against all opponents.... A new strength usually introduces a weakness somewhere else.
MicroDK on :
Also, it looks like Microwave often finds strategies that are better than the overall winrate... but it still plays strategies than in the end seems less effective. Eg. vs PurpleWave and BananaBrain it had strategies with more than 60% winrate but it ended up with at lot less overall winrate.
I recommend looking at games to find out whether the >60% win rates would keep up if Microwave played the strategy consistently. The opponent likely has a counter, and if so, the strategies may have succeeded because they weren’t played too often.
MicroDK on :
Yah, you are right. When I let Microwave play more games against UAlbertaBot it seems to push the winrate up to around 75% playing only 4PoolSoft. So I think I was looking at too few games.
Also, Microwave takes the learning data into consideration. It will play the strategies that it learned to play, and slowly adjust when new learning data become available.
I have been thinking how to adjust to change of opponents more quickly. In Basil it plays 9PoolSpeed vs Dragon because the previous 200 games indicated this is a good idea, but now Dragon has been updated and now it looses with this strategy. The problem is that I have added that if a strategy is above 80% succesful, it should play it... this is good against older opponents with a known weekness and that are not updated. But this hurts now when opponents learns or gets updated to play differently.
Maybe I should only look at the previous 50 games when calculating the strategy winrate. The learning files have 1000 games as a limit so Microwave could be using very old data.
Steamhammer decays the value of old game records, so that a recent game counts more in its decision and older games progressively less. It still adapts too slowly to changes.
MicroDK on :
In OpponentModel::predictEnemyPlan() where you predict the enemy plan I can see that recent game records are weighted more heavily using weight *= 1.25.
But I cannot see that old game records decay in OpponentModel::considerOpenings() where you gather basic information from the game records.
You later use a weighted winrate for each opening but that is based on map weight.
The theory is that the opponent’s choice of build may change quickly, while the nature of each build doesn’t. A lot of the edge that that might give is lost by the weakness of the predictions and they way they are used, though. Steamhammer also keeps many fewer game records than Microwave, originally 100, more recently 200.
Comments
MicroDK on :
But even if I train with the right one, it looks like Microwave is doing worse than against UAlbertaBot in AIIDE 2019 last year. I get around 66% winrate, down from 83% in AIIDE 2019. :(
It is also seen in games on Basil against David Churchill (UAlbertaBot) and WuliBot. Microwave has more losses against Zealot rushes than before. :(
Jay Scott on :
MicroDK on :
Jay Scott on :
MicroDK on :
Also, Microwave takes the learning data into consideration. It will play the strategies that it learned to play, and slowly adjust when new learning data become available.
I have been thinking how to adjust to change of opponents more quickly. In Basil it plays 9PoolSpeed vs Dragon because the previous 200 games indicated this is a good idea, but now Dragon has been updated and now it looses with this strategy. The problem is that I have added that if a strategy is above 80% succesful, it should play it... this is good against older opponents with a known weekness and that are not updated. But this hurts now when opponents learns or gets updated to play differently.
Maybe I should only look at the previous 50 games when calculating the strategy winrate. The learning files have 1000 games as a limit so Microwave could be using very old data.
Jay Scott on :
MicroDK on :
But I cannot see that old game records decay in OpponentModel::considerOpenings() where you gather basic information from the game records.
You later use a weighted winrate for each opening but that is based on map weight.
Jay Scott on :