evolutionary computation
Evolutionary computation is a sub-field of artificial intelligence (AI) and is used extensively in complex optimization problems and for continuous optimization. Evolutionary computation is used to solve problems that have too many variables for traditional algorithms. Computers performing evolutionary computing run such evolutionary algorithms as genetic algorithms, evolutionary programming, genetic programming and swarm intelligence models like ant colony optimization or particle swarm optimization.
The computational models using evolutionary algorithms apply evolutionary processes in order to solve complex problems. These evolutionary processes are inspired by biological evolution theory. Evolving algorithms use principles such as inheritance from previous successful generations, and natural selection where the best solutions pass their traits on to the successive generations.
How evolutionary computation works
An initial batch of possible solutions is created with the start of an evolutionary computation. The solutions once tried are refined as weaker solutions are stochastically removed and small random changes are introduced to successive generations. As the generations pass the solutions become increasingly refined. In the end the solutions produced by evolutionary computation can be tightly optimized, even though in the beginning, the approach is not understood.