The theory suggests that in a population of individuals, some individuals have better characteristics than others. These characteristics allow those individuals to better adapt to their environment. These individuals are said to be fitter than the rest. Due to the environmental conditions, these fit individuals survive while those that are unfit perish away. The fit individuals reproduce and pass on the characteristics to their offspring. Thus, over successive generations, the individuals become fitter and better suited to survive in their environment.
The characteristics described above are encoded in what is known as a gene, which are present in every organism's DNA. It is from these genes that the term "genetic algorithms" was coined.
Genetic algorithms are basically search algorithms that employ the concepts of natural selection and survival of the fittest to find the optimal solution to a problem.
A typical genetic algorithm has the following stages:
- Encoding of characteristics on a chromosome.
- Generation of a random population of chromosomes.
- Evaluating the fitness of each individual on the basis of a fitness function.
- Selecting the individuals that would act as parents for next generation.
- Forming a new generation through recombination and/or variation.
- Repeating steps 3-5 until the population converges to an optimum solution.
- the encoding of chromosomes.
- the fitness function.
- the criterion for selecting parents for next generation.
- the techniques used for recombination and variation.
Genetic algorithms have been employed in a wide variety of problems, ranging from biology to chemistry to finance. One of the major applications is to use genetic algorithms to evolve neural networks. For more info, you may want to follow these links: