Genetic Algorithm

From DmWiki

Genetic algorithms are a way of solving problems based on an evolving "survival-of-the-fittest" approach, inspired by Darwin's theory of evolution.


Table of contents


Method

The algorithm begins with a set of solutions called a population. Each unit in the population is made up of "chromosomes".

A fitness function is defined, which determines how "well" a unit in the population is doing: how close it is to the "real" solution. After each unit has been evaluated with the fitness function, a new population is formed. This new population is based on the offspring of the previous generation: the units with high fitness values reproduce, those with low fitness values simply die out.

Crossover is the term used to describe how the chromosomes from each parent contribute to the offspring. If no crossover occurs, the offspring will have exactly the same chromosomes as its parents.

Mutation is the slight random factor that occurs as generations pass. Each offspring is mutated slightly to keep the system from getting "stuck".

An end condition is defined, where the fitness function is "good enough" for our approximate solution.

History

Evolutionary computing was first experimented with by I. Rechenberg in the 1960's. His work "Evolutionsstrategie" (Evolution strategies) defined what we consider to be genetic algorithms today.


DevMaster navigation