The Evolution of Genetic Algorithms
Category:
Artificial Intelligence, Technology
Genetic Algorithms are an attempt to harness the power of nature to evolve algorithms. This is done through natural selection, a process proven successful in the wild. So how do they work?
In nature, species evolve through natural selection, or survival of the fittest. The idea is simple. Species live and die in the wild, with the strong surviving, and the weak going extinct. The survivors reproduce to create a genetically stronger, more evolved species that is more capable of surviving in the wilderness, thus improving the species as a whole. This cycle repeats over and over again until by the end, you ideally have a perfect species, one capable of surviving anything its environment has to offer.
J.H. Holland described this idea in his book “Genetic Algorithms”. He wanted to “harness the mechanism of evolution and ‘breed’ programs that solve problems even when no person can fully understand their structure”. To create a natural selection cycle for programs, however, three things are needed: the way information is processed, the selection method, and the crossbreeding method.
Information can be processed by algorithms through an input-output system. Each algorithm is given several inputs, all of which produce varying outputs. What determines these outputs varies. Holland, however, suggested a “classifier” system, which used a list of letters that acted as a program's “genotype”. In nature, the genotype of an animal determines its phenotype, or what it can do. Translating that to algorithms, the genotype of a program determines what its responses are to different inputs or, in other words, its phenotype. This allows different algorithms to give unique responses to the same input, which is essential for natural selection to work.
The selection method, as Holland describes it, can be done through a fitness test. A fitness test is a numerical measure of a program’s effectiveness at solving a problem. An example of a fitness test would be how many numbers in a list were sorted correctly, or how many words in an article make sense. This, ideally, gives a numerical value that can be compared. Programs with a higher fitness are considered strong, while those with a lower fitness are considered weak. Weaker programs are scrapped, and the stronger programs are used in the crossbreeding phase.
Finally, the crossbreeding method creates new programs that will be used in the next natural selection cycle. The strong programs undergo “mating”. The system used here varies, however the most common one is “splice”. Half of the genotype of one algorithm and half of another algorithm’s genotype are combined into one genotype. This new genotype is then used in the new program. This is repeated until a new population is created, with some randomness inserted to keep the gene pool fresh.
Through Genetic Algorithms, scientists can re-create natural selection in programs as a way of training new programs. This allows the programs to solve problems unsolvable before. As of today, Genetic Algorithms are used in several cases, and have become integrated into how people live their lives.