Tuesday, January 6, 2009

Using ANJI

One of the things that led me on the path back to school was a rekindling of my interest in neural networks and artificial intelligence. In 2002 my friend Philip took a neural networks class at The University of Texas at Dallas, and I audited it along with him. After that, I started reading a lot of academic papers related to neural networks and game AI. At some point I came across Ken Stanley's work, which involved using evolutionary algorithms to optimize the organization and weights of neural networks. That really lit things up for me.

After looking at the existing implementations of Stanley's algorithm, called NEAT (NeuroEvolution of Augmenting Topologies), we decided to implement our own version, which we called ANJI (Another NEAT Java Implementation). There was already an existing NEAT Java implementation, but we wanted to do our own, partially to really learn the algorithm inside and out.

We made the software open source, which means that anyone can access it, use it, and alter it in just about any way they want, and we released it in January of 2004 on SourceForge. Here's the homepage of the project (though I should probably update it).

In the past four years, it's been downloaded over 1,500 times, and used in various projects and research. I hadn't Googled it in a while, but I was pleased to see some of the following examples of people using ANJI:

Rudolf Kradec used it in his 2008 Master's Thesis on the evolution of intelligent behavior in computer games at Charles University in Prague.

John Peberdy used it for a final project for a computer science class at The University of Waterloo last year on evolving agents (he's got some cool movies, too).

And Oliver Chamberlain used it for work on evolving controllers for robotic soccer players at The University of Birmingham in 2008.

The download rate has been fairly consistent over the past four years, with about 400 downloads per year. These aren't staggering numbers, but I think they're pretty good for a highly-specialized piece of scientific software. Anyway, it's cool to see people consistently using something you worked on to investigate the same kinds of questions you're interested in.


Philip said...
This comment has been removed by the author.
Philip said...

It's the logo. We never would have gotten so many downloads without the bitchin' logo.