Evolution is a fascinating process in that it produces biodiversity, the most complex thing in the universe, through a simple yet elegant mechanism: variation is generated in a population and then at variation is acted upon by natural selection. Being the crafty species that we are, humans have adapted this powerful mechanism in both agriculture and various fields of engineering. But is evolution an intelligence process? This question becomes especially interesting when we look into the field of artificial intelligence (AI), the study of computer algorithms capable of achieving human level performance in certain intellectual tasks. The simplest type of AI, one which sits on the border between intelligence and non-intelligence, mimics the very process responsible for producing all forms of biological complexity, one which is also completely blind and unguided.
The Genetic Algorithm (GA) is a type of AI that mimics the process of biological evolution to solve complex optimization problems. For example, what shape of a race car would allow it to move most efficiently? What mixture of chemicals will produce the most efficient fuel of an engine?
To solve these problems, GA first generates a population of potential solutions. Each solution has a set of parameters whose values may vary, and these parameters determine how well the solution works. In the fuel example, these variables could include the types of substances in the fuel and their respective concentrations. The values for the parameters are encoded in the “chromosomes” of each solution, which are essentially strings of numbers that determine the values of the parameters. Variation is generated in the population of solutions through point mutations in each chromosome or recombination between different chromosomes, and these mutations produce solutions that are slightly different from each other. Finally, the population of solutions is subject to a selection process that assigns a fitness value to each solution based on how well it could perform the desired task, often through computer simulations. Solutions with the highest fitness values are allowed to “reproduce” and start a new generation of solutions. After many generations, an optimal solution is produced.
Genetic Algorithms are widely used in engineering to design optimal structures (such as the race car example) but it also has applications in the medical field, as well as research science. GA’s medical and research applications stem from its ability to analyze data. For example, GA programs can be used to scan MRI, CT, or ultrasound images and detect for signs of abnormalities indicative of certain designs. GA can also be used to analyze gene expression data in DNA microarrays. GA can even be coupled with other AI algorithms to create AI programs that could learn to perform certain tasks through trial and error. In the following example, the evolutionary process is used to create a neural network algorithm that can play Super Mario.
Video from Youtube
Of course, true biological evolution is a lot more complex than simply mutations and natural selection. However, GA captures the most important mechanisms of evolution and shows that an elegant blind process can create solutions to problems that stump the most intelligence human engineers.