Genetic Algorithms
Agenetic algorithm is an optimization technique that is a general and flexible approach to searching for optimal solutions in a large, complex space. A good reference for further reading is Genetic Algorithms in Search, Optimization, and Machine Learning by David E. Goldberg (Addison-Wesley, 1989). The algorithm takes an approach that models itself upon evolutionary forces found in life. There are three main operations that are performed in this model:
- Reproduction gives preference to better solutions surviving into the next generation.
- Crossover allows for random combinations of good solutions.
- Mutation provides the wildcard in the mix, an opportunity for a random discovery of a new solution.
Each of these operations are applied randomly on a population of solutions during each generation, followed by a fitness or rating calculation on each resulting solution (or organism). This fitness calculation is specific to the solution space and is generally the most difficult part of the Genetic Algorithm solution to define.
Each generation successively seeks to improve the population of representative solutions, but allows for randomness to operate on solutions so that a larger area of the solution space can be explored for better solutions.
In general, genetic algorithms can be computationally expensive, but they are a flexible optimization technique that can be applied to a solution space with a large number of potential solutions. A modification of this approach lends itself well to a solution space that is dynamic in nature. This approach is called a "classification system."
M.L.