AIIDE 2021 - what UAlbertaBot learned
I haven’t found time to investigate the second instance of “we both lost”. After this post, I’m nearly done with summarizing and aligning the bot learning files. The only bot I haven’t gotten to is FreshMeat, which has a unique learning system, not similar to any other bot’s. FreshMeat’s code is remarkably low-level, and deciphering the learning algorithm and the meaning of the learning files will take time.
In any case, here is UAlbertaBot’s learned data. UAlbertaBot keeps counts of wins and losses per strategy, not full history files, so its data can be laid out in a single table.
opening | total | #1 stardus | #2 bananab | #3 dragon | #4 steamha | #5 mcrave | #6 willyt | #7 microwa | #8 daqin | #9 freshme |
---|---|---|---|---|---|---|---|---|---|---|
total | - 26% | 2-155 1% | 8-147 5% | 27-130 17% | 13-139 9% | 98-57 63% | 48-105 31% | 67-88 43% | 32-124 21% | 68-81 46% |
4RaxMarines | 58-93 38% | 0-15 0% | 0-11 0% | 3-15 17% | 1-17 6% | 40-2 95% | 2-9 18% | 0-5 0% | 0-10 0% | 12-9 57% |
MarineRush | 18-97 16% | 0-15 0% | 1-15 6% | 0-6 0% | 0-11 0% | 2-3 40% | 0-8 0% | 13-25 34% | 0-10 0% | 2-4 33% |
TankPush | 12-102 11% | 0-15 0% | 0-11 0% | 0-6 0% | 0-11 0% | 1-2 33% | 5-25 17% | 0-5 0% | 3-23 12% | 3-4 43% |
VultureRush | 15-90 14% | 0-14 0% | 0-10 0% | 5-19 21% | 0-11 0% | 0-1 0% | 0-8 0% | 1-9 10% | 0-10 0% | 9-8 53% |
DTRush | 41-85 33% | 2-18 10% | 0-11 0% | 10-26 28% | 0-8 0% | 0-2 0% | 0-3 0% | - | 0-4 0% | 29-13 69% |
DragoonRush | 10-62 14% | 0-10 0% | 0-11 0% | 0-6 0% | 1-12 8% | 0-2 0% | 0-3 0% | - | 7-14 33% | 2-4 33% |
ZealotRush | 104-150 41% | 0-10 0% | 4-28 12% | 0-6 0% | 10-16 38% | 24-24 50% | 19-25 43% | 35-15 70% | 12-21 36% | 0-5 0% |
2HatchHydra | 6-72 8% | 0-15 0% | 0-10 0% | 6-20 23% | 0-12 0% | - | 0-2 0% | 0-3 0% | 0-4 0% | 0-6 0% |
3HatchMuta | 1-61 2% | 0-15 0% | 0-10 0% | 0-6 0% | 0-12 0% | - | 0-2 0% | 0-3 0% | 0-4 0% | 1-9 10% |
3HatchScourge | 0-56 0% | 0-14 0% | 0-9 0% | 0-6 0% | 0-12 0% | - | 0-2 0% | 0-3 0% | 0-4 0% | 0-6 0% |
ZerglingRush | 98-158 38% | 0-14 0% | 3-21 12% | 3-14 18% | 1-17 6% | 31-21 60% | 22-18 55% | 18-20 47% | 10-20 33% | 10-13 43% |
Looking down the total column on the left, there is one big surprise. UAlbertaBot has a primary strategy for each race it may roll, and switches away only if the primary strategy turns out poorly. In past years when I analyzed UAlbertaBot’s data (2018, 2019, and 2020), UAlbertaBot’s primary strategy with every race was also its best strategy overall when it rolled that race. This year, the primary terran strategy MarineRush
was no longer best; it was far exceeded by 4RaxMarines
, with better results against 5 opponents and equal zero against 2 more. 4RaxMarines
does not mean build four barracks to train marines, it means build a barracks at supply 4: It is a fast rush. Here is the build order from the config file.
"Terran_4RaxMarines" : { "Race" : "Terran", "OpeningBuildOrder" : ["Barracks", "SCV", "SCV", "Marine", "Supply Depot", "Marine", "SCV", "Marine", "SCV", "Marine", "SCV", "Marine", "Barracks", "Marine", "Marine", "Marine"]}
I guess opponents were less prepared for the fast marine rush. McRave in particular was unable to cope. I looked through BASIL’s build order page and did not see it; I guess no bot plays 4 rax regularly. The version of UAlbertaBot on BASIL is different from the one in the tournament. The BASIL UAlbertaBot does play the slower marine rush, so its opponents have gotten used to it.
The 3HatchScourge
build was useless. The build was specially designed to give UAlbertaBot a chance against XIMP, and apparently has no other value. Curiously, 3HatchMuta
was nearly as helpless, with only 1 win, against FreshMeat. That win was the only win as zerg against FreshMeat, though, so chalk up one advantage.
Comments
MicroDK on :
But I think that Microwave has a better winrate vs the Basil/SSCAIT version which it also used in training. Is the AIIDE version so much different?
Jay Scott on :
Another difference is that AIIDE runs a newer version of UAlbertaBot. Dave Churchill has said that the newer version is weaker than the BASIL version, because of changes that make it more general.