Genetic Algorithms And Evolutionary Learning .*;
- The Algorithm
- Selection and Fitness
- Two Critical Design Issues
- GA Applications and Trivia
Genetic algorithms (also known as evolutionary algorithms) use evolutionary principles to design systems that perform specific functions. Among other areas, computer programming with genetic algorithms is used to create programs and data structures that are continually redefined and refined to accomplish a particular state or purpose.
Evolution is an immensely rich and powerful method of creating and designing systems. Its achievements are results of a few simple concepts: sexual recombination, mutation and natural selection, all of which are recursed over many generations (Koza, et. al., 2003). Each generation is composed of the many qualities, and more, of the many generations before it. The span of generations is a search space of all possible designs. In order to speed up the process of natural selection, genetic algorithms can be run on isolated subpopulations, and after some period of time, the surviving populations are mixed together and further algorithms are performed.
Advantages of genetic programming design:
- Solutions to some problems involve imperfect mathematical functions; especially were humans and culture are concerned. Genetic programming is particularly good with obstacles like these because it doesn't favor specialized creations, but rather favors those creations with plenty of room for improvement.
- Exploring all possible combinations of a problems variables isn't the most efficient route to a solution. For example, all possible combinations of eight variables with values of 0 through 9 is 108 (or, 100,000,000). Fourteen variables with values between 0 and 9 is 1014--that's 100,000,000,000,000 possible combinations! Well tuned genetic algorithms can find solutions after trying only 103 combinations or less!
- Genetic algorithms are good at discovering topographical arrangements of various properties, mixing and matching as they progress.
- Human designers tend to narrow their range of research to arrive at a conclusion, but genetic algorithms do just the opposite by expanding the range of research, thereby arriving at many creations that humans might have otherwise missed.
Koza, John R., Keane, Martin A. & Streeter, Matthew J. (2003, February). Evolving inventions. Scientific American, 52-59.
Links related to John Koza's work:
"a source of information about the field of genetic programming and the field of genetic and evolutionary computation"
Other links related to genetic algorithms:
"Directory for information about Genetic Programming, Artificial Intelligence, Genetic Algorithms, Evolutionary Computation and robotics."