archive by month
Skip to content

AIIDE 2020 - what Microwave learned 2

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

openinggameswinsfirstlast
10Hatch9Pool9gas30%60107
10HatchMain9Pool9Gas10%133133
12HatchMain20%1449
12Pool10%110110
12PoolMain10%121121
12PoolMuta20%46142
2HatchMuta70%2098
3Hatch30%17112
3HatchExpo20%4357
3HatchHydra10%139139
3HatchHydra_BHG10%3838
3HatchLingBust911%24144
3HatchMuta360%0143
3HatchPoolHydra70%27147
3HatchPoolHydraExpo10%114114
4PoolHard10%123123
4PoolSoft20%1670
5HatchPoolHydra180%5149
5Pool20%881
6Pool20%4041
6PoolSpeed40%28146
7Pool10%148148
9Hatch9Pool9Gas10%134134
9HatchMain8Pool8Gas10%117117
9Pool10%1515
9PoolGasHatchSpeed7D10%132132
9PoolGasHatchSpeed8D10%33
9PoolHatchGasSpeed7D10%3434
9PoolHatchGasSpeed8D120%6138
9PoolHydra10%118118
9PoolLurker10%9595
9PoolSpeed10%137137
9PoolSpeedLing10%5858
9PoolSunkHatch20%71105
9PoolSunken10%140140
OverpoolLurker10%7373
OverpoolSpeed10%116116
OverpoolTurtle10%104104
ZvP_10Hatch9Pool20%77109
ZvP_11Hatch10Pool10%8080
ZvP_2HatchHydra20%87129
ZvP_9Hatch9Pool20%127145
ZvZ_Overgas11Pool20%3361
ZvZ_Overgas9Pool20%2128
ZvZ_Overpool11Gas20%6782
ZvZ_Overpool9Gas10%4848
ZvZ_OverpoolTurtle10%122122
47 openings1501%
enemygameswins
HeavyRush -> HeavyRush1271%
HeavyRush -> Unknown210%
SafeExpand -> HeavyRush20%
3 openings1501%


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

openinggameswinsfirstlast
10Hatch9Pool9gas30%4122
11HatchTurtleHydra30%72139
11HatchTurtleLurker10%5757
12HatchMain10%4444
12PoolMuta1118%20121
2HatchLurkerAllIn10%4747
3HatchHydraBust10%4040
3HatchHydra_BHG10%1616
3HatchMuta933%26149
3HatchMutaExpo10%1717
3HatchPoolHydra10%9494
4HatchPoolHydra10%5656
4PoolHard812%7147
6Pool10%5555
6PoolSpeed1030%32135
7Pool30%3886
7PoolHydraLingRush7D10%108108
8PoolHydraRush8D20%1949
9Hatch9Pool9Gas10%124124
9HatchMain8Pool8Gas825%15128
9Pool20%9102
9PoolGasHatchSpeed7D2850%0142
9PoolHatchGasSpeed7D1765%11141
9PoolHatchGasSpeed8D956%114146
9PoolSpeed425%154
9PoolSpeedLing20%60119
9PoolSunkHatch10%109109
9PoolSunken10%145145
OverpoolSpeed714%23143
OverpoolTurtle617%14123
ZvP_10Hatch9Pool10%6666
ZvP_2HatchHydra10%9292
ZvP_9Hatch9Pool20%130148
ZvZ_Overpool9Gas10%4343
34 openings15029%
enemygameswins
HeavyRush -> HeavyRush10323%
HeavyRush -> NakedExpand250%
HeavyRush -> SafeExpand20%
HeavyRush -> Turtle540%
HeavyRush -> Unknown1631%
NakedExpand -> HeavyRush20%
SafeExpand -> HeavyRush1100%
SafeExpand -> SafeExpand333%
SafeExpand -> Turtle250%
Turtle -> HeavyRush333%
Turtle -> NakedExpand4100%
Turtle -> SafeExpand333%
Turtle -> Turtle475%
13 openings15029%


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

openinggameswinsfirstlast
10Hatch9Pool9gas20%420
10HatchMain9Pool9Gas10%55
11HatchTurtleHydra10%8383
12Hatch10%6060
12PoolMain4351%37139
12PoolMuta10%6868
1HatchMuta_Sparkle10%6565
2HatchMuta520%3080
3HatchHydraBust10%109109
3HatchHydra_BHG10%122122
3HatchLingBust633%12130
3HatchMuta10%1111
3HatchPoolHydraExpo10%4949
4HatchBeforeGas10%33
4HatchPoolHydra20%127
4PoolHard633%55145
4PoolSoft10%108108
6Pool10%8181
7Pool10%1313
8Pool10%5353
8PoolHydraRush8D10%3131
9PoolGasHatchSpeed8D1867%70149
9PoolHatchGasSpeed7D10%3434
9PoolHatchGasSpeed8D3253%0146
9PoolSpeed30%25147
9PoolSpeedLing520%7123
9PoolSunkHatch10%142142
Overpool10%127127
OverpoolSpeed30%7992
ZvP_10Hatch9Pool333%29110
ZvP_11Hatch10Pool10%121121
ZvZ_Overgas9Pool10%106106
ZvZ_Overpool11Gas20%21134
33 openings15039%
enemygameswins
HeavyRush -> HeavyRush2232%
HeavyRush -> NakedExpand1486%
HeavyRush -> SafeExpand120%
HeavyRush -> Turtle617%
HeavyRush -> Unknown2532%
NakedExpand -> HeavyRush1443%
NakedExpand -> NakedExpand1479%
NakedExpand -> SafeExpand50%
NakedExpand -> Turtle20%
NakedExpand -> Unknown1233%
SafeExpand -> HeavyRush825%
SafeExpand -> NakedExpand475%
SafeExpand -> SafeExpand425%
SafeExpand -> Turtle20%
SafeExpand -> Unknown540%
Turtle -> NakedExpand1100%
16 openings15039%


BananaBrain is not predictable, and Microwave could not predict its play. Again, the more successful zerg builds were zergling openings.


#4 dragon

openinggameswinsfirstlast
10HatchTurtleHydra10%131131
11HatchTurtleLurker10%7676
12PoolMain10%141141
2HatchMuta6853%1148
3HatchHydraExpo333%122135
3HatchMutaExpo3847%0144
4HatchPoolHydra825%73136
4PoolSoft1828%38147
5HatchPoolHydra560%126149
5PoolSpeed10%118118
7PoolHydraLingRush7D10%7878
9PoolHatchGasSpeed8D10%128128
9PoolSunkHatch10%115115
Overpool10%5353
OverpoolLurker10%107107
OverpoolTurtle10%6262
16 openings15043%
enemygameswins
Factory -> Factory1856%
Factory -> HeavyRush1346%
Factory -> SafeExpand20%
Factory -> Unknown1471%
Factory -> WorkerRush333%
HeavyRush -> Factory1527%
HeavyRush -> HeavyRush2854%
HeavyRush -> NakedExpand10%
HeavyRush -> SafeExpand40%
HeavyRush -> Turtle20%
HeavyRush -> Unknown3126%
NakedExpand -> HeavyRush1100%
SafeExpand -> HeavyRush1100%
SafeExpand -> Unknown250%
WorkerRush -> Factory250%
WorkerRush -> HeavyRush2100%
WorkerRush -> Unknown450%
WorkerRush -> WorkerRush743%
18 openings15043%


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

openinggameswinsfirstlast
10Hatch9Pool9gas10%133133
10HatchMain9Pool9Gas425%4272
10HatchTurtleHydra10%8383
11HatchTurtleLurker10%3636
12Hatch10%1515
12Pool1718%4147
12PoolMain20%110139
2HatchLurker10%3232
3Hatch20%113137
3HatchLurker10%9595
3HatchMuta10%148148
3HatchMutaExpo10%106106
3HatchPoolHydra20%92102
3HatchPoolHydraExpo1225%49145
4HatchBeforeGas10%7171
4PoolSoft10%3838
5PoolSpeed10%7373
6PoolSpeed425%128138
7PoolHydraLingRush7D10%134134
8Pool10%6262
9HatchMain8Pool8Gas10%4747
9Pool10%104104
9PoolGasHatchSpeed8D10%1717
9PoolSpeed2846%33146
9PoolSpeedLing10%7676
Overpool10%7979
OverpoolSpeed2722%0149
ZvP_2HatchHydra20%1454
ZvP_9Hatch9Pool2133%1143
ZvZ_Overpool11Gas60%7108
ZvZ_Overpool9Gas50%867
31 openings15023%
enemygameswins
FastRush -> HeavyRush10%
HeavyRush -> NakedExpand367%
HeavyRush -> Unknown10%
NakedExpand -> FastRush1100%
NakedExpand -> HeavyRush333%
NakedExpand -> NakedExpand838%
NakedExpand -> Turtle714%
NakedExpand -> Unknown297%
Turtle -> FastRush10%
Turtle -> HeavyRush1100%
Turtle -> NakedExpand1164%
Turtle -> Turtle2326%
Turtle -> Unknown6116%
13 openings15023%


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

openinggameswinsfirstlast
10Hatch9Pool9gas944%68142
10HatchMain9Pool9Gas425%101113
10HatchTurtleHydra10%3939
11HatchTurtleMuta10%108108
12HatchMain10%1515
12Pool2520%0144
12PoolMain520%2492
2HatchLurker20%5483
3HatchHydraBust10%104104
3HatchHydraExpo20%6786
3HatchPoolHydra20%7149
4HatchPoolHydra10%3434
5Pool40%596
5PoolSpeed333%94133
7Pool10%3636
7PoolHydraLingRush7D10%8989
9Hatch9Pool9Gas10%106106
9HatchTurtleHydra10%127127
9PoolGasHatchSpeed8D10%4242
9PoolHatch20%1929
9PoolSpeed3155%9138
9PoolSpeedLing10%117117
9PoolSunken70%195
OverpoolSpeed333%47121
ZvP_11Hatch10Pool450%135145
ZvP_2HatchHydra90%384
ZvP_9Hatch9Pool10%1616
ZvZ_Overgas11Pool2050%6147
ZvZ_Overpool11Gas20%7993
ZvZ_Overpool9Gas425%61148
30 openings15029%
enemygameswins
HeavyRush -> HeavyRush250%
HeavyRush -> Turtle40%
Turtle -> FastRush1100%
Turtle -> HeavyRush1457%
Turtle -> NakedExpand1638%
Turtle -> Turtle9623%
Turtle -> Unknown1729%
7 openings15029%


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

openinggameswinsfirstlast
1HatchMuta_Sparkle6290%49148
3HatchLingBust1765%1130
3HatchMuta5990%0149
3HatchMutaExpo956%1248
3HatchPoolHydraExpo10%33
9Pool10%2222
OverpoolLurker10%1919
7 openings15083%
enemygameswins
HeavyRush -> HeavyRush4100%
HeavyRush -> SafeExpand3100%
HeavyRush -> Turtle6100%
HeavyRush -> Unknown2100%
NakedExpand -> Turtle367%
SafeExpand -> NakedExpand1100%
SafeExpand -> SafeExpand2100%
SafeExpand -> Turtle5100%
Turtle -> HeavyRush2085%
Turtle -> NakedExpand16100%
Turtle -> Proxy10%
Turtle -> SafeExpand1662%
Turtle -> Turtle5585%
Turtle -> Unknown1662%
14 openings15083%

#9 zzzkbot

openinggameswinsfirstlast
OverpoolSpeed14795%2149
ZvZ_Overgas11Pool30%03
2 openings15093%
enemygameswins
FastRush -> FastRush9694%
FastRush -> Turtle1100%
FastRush -> Unknown5196%
Turtle -> FastRush20%
4 openings15093%


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

openinggameswinsfirstlast
1HatchMuta_Sparkle20%123143
3HatchHydraExpo10%9191
4PoolSoft5175%0147
5Pool757%44133
5PoolSpeed2268%3146
7PoolHydraLingRush7D10%7979
7PoolHydraRush7D10%5050
8PoolHydraRush8D1050%3485
9PoolGasHatchSpeed8D250%2728
9PoolSunkHatch956%113135
OverpoolSunken1553%102148
ZvP_10Hatch9Pool2756%21120
ZvZ_Overpool11Gas10%8282
13 openings14961%
enemygameswins
Factory -> FastRush250%
Factory -> HeavyRush20%
Factory -> NakedExpand1100%
Factory -> Unknown20%
FastRush -> Factory3100%
FastRush -> FastRush475%
FastRush -> HeavyRush967%
FastRush -> NakedExpand2100%
FastRush -> Unknown367%
HeavyRush -> Factory2100%
HeavyRush -> FastRush2264%
HeavyRush -> HeavyRush4941%
HeavyRush -> NakedExpand9100%
HeavyRush -> Unknown2268%
NakedExpand -> Factory4100%
NakedExpand -> FastRush250%
NakedExpand -> HeavyRush540%
NakedExpand -> NakedExpand3100%
NakedExpand -> Unknown2100%
Unknown -> HeavyRush1100%
20 openings14961%


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

openinggameswinsfirstlast
10Hatch9Pool9gas1573%1143
11HatchTurtleLurker617%2674
11HatchTurtleMuta425%2573
12PoolMain333%121149
12PoolMuta2100%6480
2HatchMuta_Sparkle10%3636
3HatchExpo10%7777
3HatchHydra10%5858
3HatchLurker20%57141
3HatchMuta475%76146
3HatchMutaExpo850%56145
9Hatch9Pool9Gas1377%123144
9PoolExpo4078%9147
9PoolGasHatchSpeed8D4100%53142
9PoolHydra10%9191
9PoolLurker1040%5115
9PoolSpeed2181%0148
9PoolSunkHatch425%343
9PoolSunken978%51103
ZvZ_Overgas11Pool10%8484
20 openings15065%
enemygameswins
Factory -> Factory1100%
Factory -> NakedExpand4100%
Factory -> SafeExpand10%
Factory -> Unknown4100%
HeavyRush -> Factory250%
HeavyRush -> HeavyRush4100%
HeavyRush -> NakedExpand5100%
HeavyRush -> SafeExpand425%
HeavyRush -> Unknown250%
NakedExpand -> Factory862%
NakedExpand -> HeavyRush1050%
NakedExpand -> NakedExpand43100%
NakedExpand -> SafeExpand1346%
NakedExpand -> Unknown3123%
SafeExpand -> Factory250%
SafeExpand -> NakedExpand7100%
SafeExpand -> SafeExpand633%
SafeExpand -> Unknown30%
18 openings15065%

#12 ecgberht

openinggameswinsfirstlast
2HatchHydra14788%0149
9PoolLurker367%525
2 openings15088%
enemygameswins
Factory -> Factory1100%
Factory -> NakedExpand8100%
Factory -> SafeExpand10%
Factory -> Unknown6100%
FastRush -> Factory1100%
FastRush -> Unknown2100%
HeavyRush -> Factory4100%
HeavyRush -> FastRush250%
HeavyRush -> HeavyRush1100%
HeavyRush -> NakedExpand4100%
HeavyRush -> SafeExpand1100%
HeavyRush -> Unknown1100%
NakedExpand -> Factory13100%
NakedExpand -> FastRush475%
NakedExpand -> HeavyRush1688%
NakedExpand -> NakedExpand35100%
NakedExpand -> SafeExpand250%
NakedExpand -> Unknown4573%
SafeExpand -> Factory1100%
SafeExpand -> HeavyRush1100%
SafeExpand -> Unknown1100%
21 openings15088%

#13 eggbot

openinggameswinsfirstlast
9Pool150100%0149
1 openings150100%
enemygameswins
Proxy -> Turtle2100%
Turtle -> Proxy15100%
Turtle -> Turtle84100%
Turtle -> Unknown49100%
4 openings150100%


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. :(

Jay Scott on :

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.

Jay Scott on :

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.

Jay Scott on :

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.

Jay Scott on :

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.

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Submitted comments will be subject to moderation before being displayed.