Google’s AI Challenge: Who Can Build The Smartest Ant Colony

16,876

Want to prove to Google that you’ve got some serious programming chops? Then you better prepare yourself for war. Ant war. The Fall 2011 AI Challenge, sponsored by the giant of search engines, is now underway and pits programmers against one another as rulers of virtual ant colonies. Write code that teaches your pixelated ants how to find food and conquer rival ant hills and you could come out on top. More than 4000 users have already signed up, with 13,000+ games played so far. Check out a typical AI ant vs AI ant match in the video below. While relatively low tech, the Google AI Challenge ant game is designed to pull in a new horde of amateur and semi-professional programmers. The winners of today’s challenge could be tomorrow’s innovators of artificial intelligence.

The ants simulation is a fairly straightforward strategy game where each ant from a hill is depicted as a single brightly colored pixel. Ants use their programmer’s code to tell them how to explore the space around them. Gather brown food pellets (also just a single pixel) to generate new ants, attack rival ants of different colors, and seal off enemy mounds to gain victory points. The simulation ends when all but one team is destroyed, when the strength of each team causes a stalemate, or when time is up. The ant hill that has the most points at the end of the game wins. Here’s “Andrew” from the AI challenge to give you a look at a typical game with three competing ant hills. Imagine this scenario played out tens of thousands of times with different AIs controlling the ants each time and you get a good idea of what goes on at the Google AI Challenge Fall 2011 competition:

As an AI challenge, ant wrangling is pretty straight forward. You need to teach your ants how to find a path based on what they can ‘see’. You have to give them preferences for finding/retrieving food. You also have to teach them how and when to go in for the kill. Master those tasks and you’ll perform really well in the AI challenge, but that’s easier said than done. Of the 13k+ matches simulated, almost half (~48%) end because ant teams can’t manage to find food.

The reason for the high rate of failure is also one of the AI Challenge’s most interesting goals: to draw in a lot of competitors. With starter packages ready to download, almost anyone can register and get a team started with just a few minutes of work. Really, just minutes. There’s a wide variety of programming languages supported (C++, Python, Java, etc) and the AI Challenge team is willing to work with you if you prefer a language they haven’t developed yet. Even people relatively new to programming can enter the competition and try their hand at insect domination. As everything is handled online, there’s no geographic boundaries either. Teams from all over the world can submit code, see how they do, and improve their ideas as they learn from their matches.

Of course, casting the fishing net wide means you get a lot of old tires in your catch. Current results show that about 15% of games end with a lone survivor, about 15% with a stabilized war (no hill able to beat another), and about 20% reach a time limit. Those are the three outcomes that really show AI routines competing against one another. The remaining 50% of games end basically due to fundamental programming errors – ants can’t find food or they don’t attack rival hills. Even with half the games ending on error, the AI Challenge already has more than 13,000 games played. That’s in less than a week of competition! And because this is all run in simulation, the challenge website can run 4500 games a day, so we can expect a lot more meaningful match ups. By the end of this ongoing series of online ant battles we’re probably going to see a low level AI that’s REALLY good at commanding an ant hill.

ant example2
After the simulation is over, every game can be reviewed step by step so that programmers can see what their ants (and competitors) were doing. Click the image to jump to the 'visualizer' and watch a game unfold at your command.

So what? Well, whatever artificial intelligence developed by the AI challenge is going to be fairly rudimentary relatively speaking. We’re not going to see anything to rival the narrow AI applications we’ve reviewed in the past nor anything in even the same ecosystem as the artificial general intelligences (AGIs) most of us think about when we talk about smart computers. But that doesn’t matter. The reason Google sponsors the AI Challenge is that competitions like this help teach the rising new generation of programmers how to think creatively and innovate their code as they learn. Ideally, they’ll build their code so it adapts during each game. That sort of education is what makes the AI Challenge worthwhile, and it’s an investment that will pay dividends to Google (and every other computer based company out there) in the years ahead.

It’s important to remember that this challenge is just one of many around the world that helps grow the size and skills of the programmer community. We’ve discussed the ongoing Ms. Pac-Man wars to see who can build the best AI ghosts or orb-gobbling heroine. You can also include robot competitions with heavy problem solving elements like Rubik’s Cube racing and Micromouse maze runs. Each of these challenges provide great opportunities to have fun and develop job skills at the same time, and they’re increasing in number and scale every year. The AI Challenge started off as a much smaller competition at the University of Waterloo. Now its open to everyone with funding from the biggest name on the internet. As it and other challenges continue to grow, they will attract many more into pursuing careers in computer science and engineering. Who knows, somewhere among these ant hills may be the programmer that eventually creates the artificial intelligences we’ve been dreaming about for centuries.

Hopefully he or she won’t include the seek and destroy skills they honed competing for Google’s attention.

[image credits: AI Challenge]

[source: AI Challenge]