Genetic Algorithms: Cool Name and Damn Simple is a very nice explanation with python code of genetic algorithms.
What Can Genetic Algorithms Do?
In a word, genetic algorithms optimize. They can find better answers to a question, but not solve new questions. Given the definition of a car, they might create a better car, but they’ll never give you an airplane.
…
For each generation we’ll take a portion of the best performing individuals as judged by our fitness function. These high-performers will be the parents of the next generation.
In a word, genetic algorithms optimize. They can find better answers to a question, but not solve new questions. Given the definition of a car, they might create a better car, but they’ll never give you an airplane.
…
For each generation we’ll take a portion of the best performing individuals as judged by our fitness function. These high-performers will be the parents of the next generation.
We’ll also randomly select some lesser performing individuals to be parents, because we want to promote genetic diversity. Abandoning the metaphor, one of the dangers of optimization algorithms is getting stuck at a local maximum and consequently being unable to find the real maximum. By including some individuals who are not performing as well, we decrease our likelihood of getting stuck.
Related: DNA Seen Through the Eyes of a Coder – Evolutionary Design – Algorithmic Self-Assembly – The Chip That Designs Itself

Pingback: Curious Cat Science Blog » Evolutionary Robotics