Evolutionary Algorithms Article Index for
Evolutionary
Shopping
Evolutionary
Website Links For
Evolutionary
 

Information About

Evolutionary Algorithms




In , Mutation , Recombination , Natural Selection and Survival Of The Fittest . Candidate Solution s to the optimization problem play the role of individuals in a population, and the Cost Function determines the environment within which the solutions "live" (see also Fitness Function ). Evolution of the population then takes place after the repeated application of the above operators. ''Artificial evolution'' (AE) describes a process involving individual ''evolutionary algorithm''s; EAs are individual components that participate in an AE.

Evolutionary algorithms consistently perform well approximating solutions to all types of problems because they do not make any assumption about the underlying Fitness Landscape ; this generality is shown by successes in fields as diverse as Engineering , Art , Biology , Economics , Genetics , Operations Research , Robotics , Social Sciences , Physics , and Chemistry .

Apart from their use as mathematical optimizers, evolutionary computation and algorithms have also been used as an experimental framework within which to validate theories about Biological Evolution and Natural Selection , particularly through work in the field of Artificial Life . Techniques from evolutionary algorithms applied to the modelling of biological evolution are generally limited to explorations of Microevolutionary Processes , however some computer simulations, such as '' Tierra '' and '' Avida '', attempt to model Macroevolution ary dynamics.

A limitation of evolutionary algorithms is their lack of a clear Genotype-phenotype Distinction . In nature, the fertilized egg cell undergoes a complex process known as Embryogenesis to become a mature phenotype. This indirect Encoding is believed to make the genetic search more robust (i.e. reduce the probability of fatal mutations), and also may improve the Evolvability of the organism. Recent work in the field of artificial embryogeny, or artificial developmental systems, seeks to address these concerns.


IMPLEMENTATION OF BIOLOGICAL PROCESSES

Usually, an initial population of randomly generated candidate solutions comprise the first generation. The fitness function is applied to the candidate solutions and any subsequent offspring. Two main classes of fitness functions exist: one where the fitness function does not change, as in optimizing a fixed function or testing with a fixed set of test cases; and one where the fitness function is mutable, as in using Niche Differentiation or Co-evolving the set of test cases.

In selection, parents for the next generation are chosen with a bias towards higher fitness. The parents reproduce by copying with recombination and/or mutation. '''Recombination''' acts on the two selected parents (candidates) and results in one or two children (new candidates). '''Mutation''' acts on one candidate and results in a new candidate. These operators create the offspring (a set of new candidates). These new candidates compete with old candidates for their place in the next generation ('''survival of the fittest''').

This process can be repeated until a candidate with sufficient quality (a solution) is found or a previously determined computational limit is reached.


EVOLUTIONARY ALGORITHM TECHNIQUES

Similar techniques differ in the implementation details and the nature of the particular applied problem.
  • Genetic Algorithm - This is the most popular type of EA. One seeks the solution of a problem in the form of strings of numbers (traditionally binary, although the best representations are usually those that reflect something about the problem being solved - these are not normally binary), virtually always applying recombination operators in addition to selection and mutation. This type of EA is often used in Optimization problems;

  • Evolutionary Programming - Like genetic programming, only the structure of the program is fixed and its numerical parameters are allowed to evolve;

  • Evolution Strategy - Works with vectors of real numbers as representations of solutions, and typically uses self-adaptive mutation rates;

  • Genetic Programming - Here the solutions are in the form of computer programs, and their fitness is determined by their ability to solve a computational problem.

  • Learning Classifier System - Instead of using a fitness function, rule utility is decided by a reinforcement learning technique.



RELATED TECHNIQUES



BIBLIOGRAPHY

  • Ingo Rechenberg (1971): Evolutionsstrategie - Optimierung technischer Systeme nach Prinzipien der biologischen Evolution (PhD thesis). Reprinted by Fromman-Holzboog (1973).

  • Hans-Paul Schwefel (1974): Numerische Optimierung von Computer-Modellen (PhD thesis). Reprinted by Birkhäuser (1977).

  • Bäck, T. (1996), ''Evolutionary Algorithms in Theory and Practice: Evolution Strategies, Evolutionary Programming, Genetic Algorithms'', Oxford Univ. Press.

  • Bäck, T., Fogel, D., Michalewicz, Z. (1997), ''Handbook of Evolutionary Computation'', Oxford Univ. Press.

  • Eiben, A.E., Smith, J.E. (2003), ''Introduction to Evolutionary Computing'', Springer.

  • Holland, J. H. (1975), ''Adaptation in Natural and Artificial Systems'', The University of Michigan Press, Ann Arbor

  • Ashlock, D. (2006), ''Evolutionary Computation for Modeling and Optimization'', Springer, ISBN 0-387-22196-4.



SEE ALSO



EXTERNAL LINKS