"Genetic Algorithms" Starting with Euclid's algorithm for finding the greatest common divisor, mathematicians have had centuries to think up ways of solving important mathematical problems. Computers were able to implement these algorithms and rapidly solve a host of problems. Now we are left with a pile of problems for which it's really hard to think of solution methods. Many of these problems can be thought of as challenges to find the top of the highest mountain in a blinding snowstorm. You can always tell how high up you are, and you can even estimate which way is up, but you don't know how far you have to go, or whether you're on the highest peak. One class of methods for trying to deal efficiently with these problems takes its inspiration from genetics. We start out with a random "population" of guesses for the solution. We let the poorest solutions "die off", while we "cross breed" the better solutions, and even apply a random "mutation" occasionally. If we repeat this process often enough, we may find that this artificial genetic simulation stumbles upon solutions that we could never otherwise have determined.