Starcraft AI Competition

post by JoshuaZ · 2011-01-19T21:45:59.444Z · LW · GW · Legacy · 7 comments

Ars Technica has an article about A Starcraft AI competition.. While this is clearly narrow AI there are some details which may interest people at LW. The article is about the best performing AI, the "Berkeley Overmind." (The AI in question only played as Zerg, one of the three possible sides in Starcraft. In fact, it seems that the AIs in general were all specialized for a single one of the three sides. While human players are often much better at one specific side, they are not nearly this specialized).

Highlights from the article:

StarCraft was released in 1998, an eternity ago by video game standards. Over those years Blizzard Entertainment, the game’s creator, has continually updated it so that it’s one of the most finely tuned and balanced Real Time Strategy (RTS) games ever made. It has three playable races: the human-like Terrans, with familiar tanks and starships, the alien Zerg, with large swarms of organic creatures, and the Protoss, technologically advanced aliens reliant on powerful but expensive units. Each race has different units and gameplay philosophies, yet no one race or combination of units has an unbeatable advantage. Player skill, ingenuity, and the ability to react intelligently to enemy actions determine victory.

This refinement and complexity makes StarCraft an ideal environment for conducting AI research. In an RTS game, events unfold in real-time and players’ orders are carried out immediately. Resources have to be gathered so fighting units can be produced and commanded into battle. The map is shrouded in fog-of-war, so enemy units and buildings are only visible when they’re near friendly buildings or units. A StarCraft player has to acquire and allocate resources to create units, coordinate those units in combat, discover, reason about and react to enemy actions, and do all this in real-time. These are all hard problems for a computer to solve.

Note, that using the interface that humans need to use was not one of the restrictions. This was an advantage that the Berkeley group used to full effect, as did other AIs in the comptetion.

We had to limit ourselves. David Burkett, another of Dan’s PhD students and the other team lead, says, “It turns out building control nodes for units is hard, so there’s a huge cost associated with building more than one [type of] unit. So we started asking: what one unit type [would be] the most effective overall?”

We focused our efforts on Zerg mutalisks: fast, dragon-like flying creatures that can attack both air and ground targets. Their mobility is unmatched, and we suspected they would be particularly amenable to computer control. Mutalisks are cheap for their strength, but large numbers are rarely seen in human play because it’s hard for a human to manage mutalisks without clumping them and making them easy prey for enemies with area attacks (attacks that do damage to all units in an area instead of a single target). A computer would have no such limitations.

The programmers then used a series of potential fields to control what the mutalisks did, with different entities and events creating different potential fields. A major issue became how to weigh these fields:

Using StarCraft’s map editor, we built Valhalla for the Overmind, where it could repeatedly and automatically run through different combat scenarios. By running repeated trials in Valhalla and varying the potential field strengths, the agent learned the best combination of parameters for each kind of engagement.

The article unfortunately doesn't go into great detail about the exact learning mechanism. Note however that this implies that the Overmind should be able to learn how to respond to other unit types.

There are other details in the article that are also interesting. For example, they replaced the standard path tracing algorithm that units do automatically with their own algorithms.

The final form of the AI can play well against very skilled human players, but it isn't at the top of the game. Note also that the Overmind is designed for one-on-one games. It should be interesting to see how this AI and similar AIs improve over the next few years. I'd be very curious how an AIXI would do in this sort of situation.

 

 

 

7 comments

Comments sorted by top scores.

comment by nhamann · 2011-01-19T22:10:25.860Z · LW(p) · GW(p)

The most interesting part to me was the machine learning with groups of mutalisks to avoid AoE attacks. Watching the videos, I'm pretty sure that kind of micro could defeat any human player (I'm not sure that even Boxer could deal with that).

The thing that mystifies me with this kind of research is why people still call it "Artificial Intelligence." Taboo those words and what are you left with, really? Essentially, using machine learning techniques and heuristics based on extensive domain knowledge to solve complicated software engineering problems. It's impressive, but it's also not clear that this has much of anything to do with making machines that can "use language [and] form abstractions and concepts". Then again, this is probably a good thing given the mainstream's apparent unwillingness to consider problems of friendliness.

Replies from: cousin_it
comment by cousin_it · 2011-01-21T13:34:40.269Z · LW(p) · GW(p)

Agreed about the micro-ing. I'm surprised that human players can put up any resistance against a computer that micromanages many fast units simultaneously, to the point of making them dodge individual attacks.

Replies from: ShardPhoenix, CronoDAS
comment by ShardPhoenix · 2011-01-22T15:00:48.362Z · LW(p) · GW(p)

It helps that most attacks in Starcraft can't actually be dodged.

comment by CronoDAS · 2011-01-21T14:02:56.977Z · LW(p) · GW(p)

I suspect that the idea is to get a big enough advantage with macro-level strategy to make the computer's micro-level strategy irrelevant.

comment by [deleted] · 2011-01-19T22:56:25.490Z · LW(p) · GW(p)

It would be very interesting to see something similar to Douglas Lenat's Eurisko applied here, as it seems like the winning "AI" had a lot more guidance than Lenat's did when he originally implemented it.

Replies from: Douglas_Knight
comment by Douglas_Knight · 2011-01-20T00:37:35.489Z · LW(p) · GW(p)

Eurisko received a lot of guidance; in some accounts, Lenat gives himself 60% credit.

I would say that Eurisko and the Berkeley group worked on different problems: strategy and tactics, roughly. Lenat played the fleet Eurisko designed, never having played before. That suggests that he didn't think tactics mattered in Traveller. It is not clear whether this belief lead him to the project or whether Eurisko discovered this in training. Eurisko had to have some opinion on tactics, since it simulated games.

It is not clear that Eurisko did well anything more than apply the heuristic "look for extremes." It tried looking for interior local maxima, but we don't know how well it, since it rejected them. The second win seems like evidence that Eurisko knew something general about the game, since it used 100x less computer time to assess the adjusted rules. But some accounts make it sound like it reused the same strategy and the rules just weren't adjusted well to eliminate its strategy.

comment by ShardPhoenix · 2011-01-20T06:53:30.329Z · LW(p) · GW(p)

Here's a fast-forwarded before-after video of the bot training against a particular enemy type:

http://www.youtube.com/watch?v=0BS8Mbqbnmk&feature=player_embedded

Note that the units it's learning to beat here would normally win easily.

edit: Also, to make this more interesting in an AI sense you'd probably want to rate-limit the computer to issuing orders no faster than a really fast human player can (about 400 per minute).

edit2: The player who lost a game to the AI points out that he was not playing a serious game at the time: http://www.teamliquid.net/forum/viewmessage.php?topic_id=185949&currentpage=7#140