AIIDE 2018 - what UAlbertaBot learned
UAlbertaBot played random, and its openings are chosen, not according to the opponent’s race, but according to its own once the game starts. It has 3 protoss, 4 terran, and 4 zerg openings. Playing random gives the disadvantage of having about 1/3 as many games to figure out how to counter the opponent with each race. The countervailing advantage, of course, is that the opponent can’t predict what is coming its way.
103 rounds were played and UAlbertaBot does not deliberately drop data, so some of the totals add up to more than the 100 official rounds. UAlbertaBot also had 46 crashes, so some totals add up to less. For example, it recorded 96 games against LastOrder.
The official site doesn’t offer binaries for the bots which were carried over from last year, but this should be the 2017 version of UAlbertaBot. It has enemy-specific strategies configured for 13 opponents, of which 5 are also in this tournament: #9 Iron, #10 ZZZKBot, #16 LetaBot, #2o Ximp, and #22 Aiur. For ZZZKBot, only the protoss opening is set; for the others, all 3 races have openings set. Looking at the table, we see that UAlbertaBot did not always try all of its openings, and the blanks in the table do not always correspond to enemy-specific openings. Apparently in this UAlbertaBot version, the enemy-specific strategies act as hints rather than requirements: When available they are tried first, and when not, the default opening is tried first (ZealotRush, MarineRush, or ZerglingRush). If the first opening tried performs well enough, UAlbertaBot sticks with it.
# | bot | total | Protoss | Terran | Zerg | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DTRush | DragoonRush | ZealotRush | 4RaxMarines | MarineRush | TankPush | VultureRush | 2HatchHydra | 3HatchMuta | 3HatchScourge | ZerglingRush | |||
#1 | saida | 13-88 13% | 12-7 63% | 0-2 0% | 0-5 0% | 0-9 0% | 0-9 0% | 1-13 7% | 0-9 0% | 0-9 0% | 0-9 0% | 0-8 0% | 0-8 0% |
#2 | cherrypi | 1-99 1% | 0-8 0% | 0-7 0% | 0-7 0% | 0-8 0% | 1-11 8% | 0-8 0% | 0-8 0% | 0-11 0% | 0-11 0% | 0-10 0% | 0-10 0% |
#3 | cse | 2-99 2% | 0-7 0% | 2-14 12% | 0-7 0% | 0-11 0% | 0-10 0% | 0-10 0% | 0-10 0% | 0-8 0% | 0-8 0% | 0-7 0% | 0-7 0% |
#4 | bluebluesky | 11-92 11% | 0-4 0% | 3-10 23% | 4-11 27% | 0-5 0% | 0-5 0% | 2-11 15% | 0-5 0% | 0-9 0% | 0-8 0% | 0-8 0% | 2-16 11% |
#5 | locutus | 6-97 6% | 0-7 0% | 4-17 19% | 0-7 0% | 0-8 0% | 0-8 0% | 1-11 8% | 0-8 0% | 1-10 9% | 0-7 0% | 0-7 0% | 0-7 0% |
#6 | isamind | 5-96 5% | 0-7 0% | 4-17 19% | 0-7 0% | 0-9 0% | 0-8 0% | 0-8 0% | 0-8 0% | 0-7 0% | 0-7 0% | 0-7 0% | 1-11 8% |
#7 | daqin | 12-90 12% | 4-12 25% | 0-4 0% | 2-9 18% | 0-6 0% | 0-6 0% | 1-6 14% | 0-5 0% | 2-13 13% | 0-7 0% | 0-7 0% | 3-15 17% |
#8 | mcrave | 29-71 29% | 5-12 29% | 1-6 14% | 0-5 0% | 0-3 0% | 10-13 43% | 1-5 17% | 0-3 0% | 2-6 25% | 0-3 0% | 0-3 0% | 10-12 45% |
#9 | iron | 9-94 9% | 0-10 0% | 1-14 7% | 0-9 0% | 0-8 0% | 0-8 0% | 0-8 0% | 1-12 8% | 1-6 14% | 1-6 14% | 0-4 0% | 5-9 36% |
#10 | zzzkbot | 13-87 13% | 0-3 0% | 0-3 0% | 13-20 39% | 0-9 0% | 0-9 0% | 0-9 0% | 0-9 0% | 0-7 0% | 0-6 0% | 0-6 0% | 0-6 0% |
#11 | steamhammer | 11-92 11% | 0-5 0% | 0-5 0% | 8-19 30% | 1-10 9% | 0-6 0% | 0-6 0% | 0-6 0% | 0-7 0% | 0-7 0% | 0-7 0% | 2-14 12% |
#12 | microwave | 20-81 20% | - | - | 18-7 72% | 0-7 0% | 2-14 12% | 0-7 0% | 0-7 0% | 0-10 0% | 0-10 0% | 0-10 0% | 0-9 0% |
#13 | lastorder | 4-92 4% | 0-6 0% | 0-6 0% | 2-12 14% | 2-10 17% | 0-5 0% | 0-5 0% | 0-5 0% | 0-11 0% | 0-11 0% | 0-11 0% | 0-10 0% |
#14 | tyr | 36-61 37% | 5-12 29% | 0-4 0% | 0-5 0% | 0-2 0% | 3-4 43% | 13-7 65% | 1-2 33% | 13-15 46% | 0-3 0% | 0-3 0% | 1-4 20% |
#15 | metabot | 35-56 38% | 4-5 44% | 6-5 55% | 2-4 33% | 1-6 14% | 3-9 25% | 1-6 14% | 0-3 0% | 0-2 0% | 6-3 67% | 3-3 50% | 9-10 47% |
#16 | letabot | 48-44 52% | 11-14 44% | 0-3 0% | 2-6 25% | 0-2 0% | 1-4 20% | 0-2 0% | 4-7 36% | 30-6 83% | - | - | - |
#17 | arrakhammer | 56-41 58% | - | - | 23-6 79% | 0-6 0% | 0-6 0% | 0-6 0% | 0-6 0% | - | - | - | 33-11 75% |
#18 | ecgberht | 40-56 42% | 9-7 56% | 9-8 53% | 1-4 20% | 0-2 0% | 0-5 0% | 0-2 0% | 6-7 46% | 0-3 0% | 0-3 0% | 0-3 0% | 15-12 56% |
#20 | ximp | 38-56 40% | 0-2 0% | 7-7 50% | 4-5 44% | 0-4 0% | 0-4 0% | 9-19 32% | 1-6 14% | - | - | 17-9 65% | - |
#21 | cdbot | 44-54 45% | - | - | 23-4 85% | 0-2 0% | 19-15 56% | 0-2 0% | 0-2 0% | 0-6 0% | 1-9 10% | 0-5 0% | 1-9 10% |
#22 | aiur | 57-45 56% | 35-1 97% | - | - | 0-2 0% | 0-2 0% | 0-2 0% | 11-10 52% | 1-5 17% | 9-15 38% | 0-3 0% | 1-5 17% |
#23 | killall | 73-27 73% | - | - | 30-8 79% | 0-2 0% | 12-6 67% | 0-2 0% | 0-2 0% | - | - | - | 31-7 82% |
#24 | willyt | 36-55 40% | 3-12 20% | 1-8 11% | 0-5 0% | 0-4 0% | 0-5 0% | 0-4 0% | 10-11 48% | - | - | - | 22-6 79% |
#25 | ailien | 71-30 70% | - | - | 18-11 62% | 16-10 62% | 2-4 33% | 0-2 0% | 0-2 0% | - | - | - | 35-1 97% |
#26 | cunybot | 75-15 83% | - | - | 23-1 96% | - | 30-7 81% | - | - | - | - | - | 22-7 76% |
#27 | hellbot | 100-2 98% | - | - | 33-0 100% | - | 41-2 95% | - | - | - | - | - | 26-0 100% |
overall | - 33% | 88-141 38% | 38-140 21% | 206-184 53% | 20-145 12% | 124-185 40% | 29-161 15% | 34-153 18% | 50-151 25% | 17-133 11% | 20-121 14% | 219-206 52% |
The DT rush caused surprising problems for SAIDA, but terran and zerg had nothing. Did playing random contribute? Does the updated current SAIDA, flame-hardened on SSCAIT, react better? The hand-chosen 2 hatch hydra also did strikingly well against LetaBot, not an obvious choice. Every opening had a plus score against some opponent, though VultureRush barely made it over. Looking across the bottom row, the default openings had the best overall results for each race—they were chosen correctly. Also, we can see that protoss was UAlbertaBot’s best race, and terran the worst; we already knew that, but here we see it in the numbers.
Comments
McRave on :
Jay Scott on :
I think it’s a strong argument for understanding what a strategy does, so you can make an informed decision about when to follow it.