Overview of Genetic Algorithms - what they are, why you might use one, how to make one