Robo Home | Changes | Preferences | AllPages

Automated Neural Networks (often ANN for short) are a very popular approach to Machine Learning (ML). ANNs are modeled after the brain in natures animals. ANNs consist of an input layer of neurons connected with synapses (or weights) to one or more hidden layers of neurons which are in turn connected to the output layer of neurons (the simplest networks at least). Each neuron uses an activation function that produces a known output for a given input (though the activation function can vary between neurons if I have understood things correctly). Neural networks are most often trained using known data (input and output) and it's those synapses/weights that are adjusted automatigically until the network produces correct (or close enough) output for the input data contained in the training set. Sorry if this doesn't make sense, I'm less than a layman in these subjects. Read more about ANNs here: ftp://ftp.sas.com/pub/neural/FAQ.html -- PEZ

How does this relate to Robocode then? Well, when I and Crippa checked the book stores for books on Artifical Intelligence in general and ANNs in particular, we found four meters of books and the bulk was about robots. I think there even was seven or eight books about LegoMindStorms? alone! No books on Robocode yet, but it might be on its way. =) In theory at least it should be possible to train a neural network on guessing where enemy bots will be (and when) based on data like recent movement history (see PatternMatching), battle field boundaries, number of enemies... and whatever. I know of only one robot using this method and it is BlotBot by Joachim Hofer, which is a really tough robot to meet. It includes source code, GPL even, so anyone curious can take a look and use the code in their own bots. -- PEZ

Actually BlotBot doesn't use a neural net. An earlier bot of his, XBot, uses them, but it learns too slowly so he switched to more conventional pattern matching for BlotBot. --David Alves

Neural Nets are complicated, large, and tricky to get right. If you want to attempt to understand them better, or you're considering using them in your bots, I highly suggest the [Wikipedia] article and its listed sources. Good luck. This topic has stumped many great coders. --Speal

I have been experimenting with Simple Self Orginizing Maps (No such thing right!?). Here are my results of a simple color matching on a randomized 100x100 starting field, this ran through a loop 100 times. (I had a few underlaying sets of fors to locate the bmu, however, I have a neat idea for finding the bmu faster, even if its not the "best" one).


I'm gonna take my time and do some reading on this subject.

I'm looking into a statistical process with [Markov Chains], has anyone tried these before for targeting and/or movement? --Chase-san

Nope, but we did cover Hidden Markov Models in a Machine Learning course I took this past semester. Interesting stuff... Good luck. It's always good to explore some new statistical analysis methods. -- Voidious

In general as far as I read the only reliable way to use a markov chain in a robot would be almost exactly like a normal guessfactor gun, except that you would recalculate the probabilities each time, instead of just stacking up over time. So much for that idea huh. I have unexpectanly suddenly started understanding what the article was saying. ;) --Chase-san

See also NeuralTargeting

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited January 23, 2007 17:32 EST by webmail.wolverine.k12.mi.us (diff)