All Topics  
Evolutionary algorithm

 

   Email Print
   Bookmark   Link






 

Evolutionary algorithm



 
 
In artificial intelligence
Artificial intelligence

Artificial intelligence is the intelligence of machines and the branch of computer science which aims to create it. Major AI textbooks define the field as "the study and design of intelligent agents,"...
, an evolutionary algorithm (EA) is a subset
Subset

In mathematics, especially in set theory, a Set A is a subset of a set B if A is "contained" inside B. Notice that A and B may coincide....
 of evolutionary computation
Evolutionary computation

In computer science evolutionary computation is a subfield of artificial intelligence that involves combinatorial optimization problems.Evolutionary computation uses iterative progress, such as growth or development in a population....
, a generic population-based metaheuristic
Metaheuristic

A metaheuristic is a heuristic method for solving a very general class of computing problems by combining user-given procedural parameters ? usually heuristics themselves ? in the hope of obtaining a more efficient or more robust procedure....
 optimization
Optimization (mathematics)

In mathematics, the simplest case of optimization, or mathematical programming, refers to the study of problems in which one seeks to maxima and minima or maxima and minima a Function of a real variable by systematically choosing the values of Real number or integer variables from within an allowed set....
 algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
. An EA uses some mechanisms inspired by biological evolution: reproduction, mutation
Mutation

In biology, mutations are changes to the nucleotide sequence of the genetic material of an organism. Mutations can be caused by copying errors in the genetic material during cell division, by exposure to ultraviolet or ionizing radiation, chemical mutagens, or virus , or can be induced by the organism, itself, by cellular processes such as s...
, recombination
Recombination

Recombination may refer to:* Genetic recombination, the process by which genetic material is broken and joined to other genetic material* Carrier generation and recombination, processes by which mobile electrons and electron holes are created and eliminated...
, and selection
Natural selection

Natural selection is the process by which favorable heritable trait become more common in successive generations of a population of Reproduction organisms, and unfavorable heritable traits become less common, due to differential reproduction of genotypes....
. Candidate solution
Candidate solution

In optimization , a candidate solution is a Element of a Set of possible solutions to a given problem. A candidate solution does not have to be a likely or reasonable solution to the problem....
s to the optimization problem play the role of individuals in a population, and the fitness function
Fitness function

A fitness function is a particular type of objective function that quantifies the optimality of a solution in a genetic algorithm so that that particular chromosome may be ranked against all the other chromosomes....
 determines the environment within which the solutions "live" (see also cost function). Evolution
Evolution

In biology, evolution is change in the heritability trait of a population of organisms from one generation to the next. These changes are caused by a combination of three main processes: variation, reproduction, and selection....
 of the population then takes place after the repeated application of the above operators.






Discussion
Ask a question about 'Evolutionary algorithm'
Start a new discussion about 'Evolutionary algorithm'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In artificial intelligence
Artificial intelligence

Artificial intelligence is the intelligence of machines and the branch of computer science which aims to create it. Major AI textbooks define the field as "the study and design of intelligent agents,"...
, an evolutionary algorithm (EA) is a subset
Subset

In mathematics, especially in set theory, a Set A is a subset of a set B if A is "contained" inside B. Notice that A and B may coincide....
 of evolutionary computation
Evolutionary computation

In computer science evolutionary computation is a subfield of artificial intelligence that involves combinatorial optimization problems.Evolutionary computation uses iterative progress, such as growth or development in a population....
, a generic population-based metaheuristic
Metaheuristic

A metaheuristic is a heuristic method for solving a very general class of computing problems by combining user-given procedural parameters ? usually heuristics themselves ? in the hope of obtaining a more efficient or more robust procedure....
 optimization
Optimization (mathematics)

In mathematics, the simplest case of optimization, or mathematical programming, refers to the study of problems in which one seeks to maxima and minima or maxima and minima a Function of a real variable by systematically choosing the values of Real number or integer variables from within an allowed set....
 algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
. An EA uses some mechanisms inspired by biological evolution: reproduction, mutation
Mutation

In biology, mutations are changes to the nucleotide sequence of the genetic material of an organism. Mutations can be caused by copying errors in the genetic material during cell division, by exposure to ultraviolet or ionizing radiation, chemical mutagens, or virus , or can be induced by the organism, itself, by cellular processes such as s...
, recombination
Recombination

Recombination may refer to:* Genetic recombination, the process by which genetic material is broken and joined to other genetic material* Carrier generation and recombination, processes by which mobile electrons and electron holes are created and eliminated...
, and selection
Natural selection

Natural selection is the process by which favorable heritable trait become more common in successive generations of a population of Reproduction organisms, and unfavorable heritable traits become less common, due to differential reproduction of genotypes....
. Candidate solution
Candidate solution

In optimization , a candidate solution is a Element of a Set of possible solutions to a given problem. A candidate solution does not have to be a likely or reasonable solution to the problem....
s to the optimization problem play the role of individuals in a population, and the fitness function
Fitness function

A fitness function is a particular type of objective function that quantifies the optimality of a solution in a genetic algorithm so that that particular chromosome may be ranked against all the other chromosomes....
 determines the environment within which the solutions "live" (see also cost function). Evolution
Evolution

In biology, evolution is change in the heritability trait of a population of organisms from one generation to the next. These changes are caused by a combination of three main processes: variation, reproduction, and selection....
 of the population then takes place after the repeated application of the above operators. Artificial evolution (AE) describes a process involving individual evolutionary algorithms; EAs are individual components that participate in an AE.

Evolutionary algorithms often perform well approximating solutions to all types of problems because they ideally do not make any assumption about the underlying fitness landscape
Fitness landscape

In evolutionary biology, fitness landscapes or adaptive landscapes are used to visualize the relationship between genotypes and reproductive success....
; this generality is shown by successes in fields as diverse as engineering
Engineering

Engineering is the discipline and profession of applying Technology and science knowledge and utilizing natural laws and physical resources in order to design and implement materials, structures, machines, devices, systems, and process that safely realize a desired objective and meet specified criteria....
, art
Art

Art is the process or product of deliberately arranging elements in a way that appeals to the senses or emotions. It encompasses a diverse range of human activities, creations, and modes of expression, including music and literature....
, biology
Biology

Biology is a branch of the natural sciences concerned with the study of living organisms and their interaction with each other and their environment ....
, economics
Economics

File:Ballard Farmers' Market - vegetables.jpgEconomics is the Social sciences that studies the Production theory basics, Distribution , and Consumption of Good and Service ....
, marketing
Marketing

Marketing is defined by the American Marketing Association as the activity, set of institutions, and processes for creating, communicating, delivering, and exchanging offerings that have value for customers, clients, partners, and society at large....
, genetics
Genetics

Genetics , a discipline of biology, is the science of heredity and Genetic variation in living organisms. The fact that living things inherit traits from their parents has been used since prehistoric times to improve crop plants and animals through selective breeding....
, operations research
Operations research

Operations Research in the USA, South Africa and Australia, and Operational Research in Europe and Canada, is an interdisciplinary branch of applied mathematics and formal science that uses methods such as mathematical modeling, statistics, and algorithms to arrive at optimal or near optimal solutions to complex problems....
, robotics
Evolutionary robotics

Evolutionary Robotics is a methodology that uses evolutionary computation to develop controller for autonomous robots.Algorithms in ER frequently operate on populations of candidate controller ,...
, social sciences
Social sciences

The social sciences comprise academic disciplines concerned with the study of the social life of human groups and individuals including anthropology, communication studies, economics, human geography, history, political science, psychology and sociology....
, physics
Physics

Physics is the natural science which examines basic concepts such as energy, force, and spacetime and all that derives from these, such as mass, charge, matter and its Motion ....
, politics
Politics

Politics is the process by which groups of people make decisions. The term is generally applied to behaviour within civil governments, but politics has been observed in all human group interactions, including corporation, academia, and religion institutions....
 and chemistry
Chemistry

Chemistry is the science concerned with the composition, structure, and properties of matter, as well as the changes it undergoes during chemical reactions....
.

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
Natural selection

Natural selection is the process by which favorable heritable trait become more common in successive generations of a population of Reproduction organisms, and unfavorable heritable traits become less common, due to differential reproduction of genotypes....
, particularly through work in the field of artificial life
Artificial life

Artificial life is a field of study and an associated art form which examine systems related to life, its processes, and its evolution through simulations using computer models, robotics, and biochemistry....
. Techniques from evolutionary algorithms applied to the modelling of biological evolution are generally limited to explorations of microevolutionary processes
Microevolution

Microevolution is the occurrence of small-scale changes in allele frequencies in a population, over a few generations, also known as change at or below the species level ....
, however some computer simulations, such as Tierra
Tierra (computer simulation)

Tierra is a computer simulation developed by ecologist Thomas S. Ray in the early 1990s in which computer programs compete for central processing unit time and access to main memory....
 and Avida
Avida

Avida is an artificial life software platform to study the evolutionary biology of self-replicating and evolving computer programs . Avida is under active development by Charles Ofria's Digital Evolution Lab at Michigan State University and was originally designed by Ofria, Chris Adami and C....
, attempt to model macroevolution
Macroevolution

Macroevolution is a scale of analysis of evolution in separated gene pools. Macroevolutionary studies focus on change that occurs at or above the level of species, in contrast with microevolution, which refers to smaller evolutionary changes within a species or population....
ary dynamics.

A possible limitation of many evolutionary algorithms is their lack of a clear genotype-phenotype distinction
Genotype-phenotype distinction

The genotype-phenotype distinction is drawn in genetics. "Genotype" is an organism's full hereditary information, even if not expressed. "Phenotype" is an organism's actual observed properties, such as morphology , development, or behavior....
. In nature, the fertilized egg cell undergoes a complex process known as embryogenesis
Embryogenesis

Embryogenesis is the process by which the embryo is formed and develops. It starts with the fertilization of the ovum, egg, which, after fertilization, is then called a zygote....
 to become a mature phenotype. This indirect encoding
Encoding

Encoding is the process of transforming information from one format into another. The opposite operation is called decoding.There are a number of more specific meanings that apply in certain contexts:...
 is believed to make the genetic search more robust (i.e. reduce the probability of fatal mutations), and also may improve the evolvability
Evolvability

Evolvability is a concept within the Darwinian understanding of biological evolution. Darwin's theory of evolution by natural selection requires that plants, animals, and other organisms be able to produce offspring that are sometimes better adapted to the circumstances of life than the parents are....
 of the organism. Recent work in the field of artificial embryogeny
Artificial development

Artificial development is an area of computer science and engineering concerned with computational models motivated by genotype-phenotype mappings in biological systems....
, 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
Niche differentiation

The term niche differentiation , as it applies to the field of ecology, refers to the process by which natural selection drives competing species into different patterns of resource use or different niches....
 or co-evolving
Co-evolution

In a broad sense, biological coevolution is "the change of a biological object triggered by the change of a related object". Coevolution can occur at multiple levels of biology: it can be as microscopic as correlated mutations between amino acids in a protein, or as macroscopic as covarying traits between different species in an environment...
 the set of test cases.

In selection
Selection

In the context of evolution, certain traits or alleles of a species may be subject to selection depending on the Pragmatics the user has with the word....
, parents for the next generation are chosen with a bias towards higher fitness. The parents reproduce by copying with recombination and/or mutation. Recombination
Recombination

Recombination may refer to:* Genetic recombination, the process by which genetic material is broken and joined to other genetic material* Carrier generation and recombination, processes by which mobile electrons and electron holes are created and eliminated...
 acts on the two selected parents (candidates) and results in one or two children (new candidates). Mutation
Mutation

In biology, mutations are changes to the nucleotide sequence of the genetic material of an organism. Mutations can be caused by copying errors in the genetic material during cell division, by exposure to ultraviolet or ionizing radiation, chemical mutagens, or virus , or can be induced by the organism, itself, by cellular processes such as s...
 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
Survival of the fittest

"Survival of the fittest" is a phrase which is shorthand for a concept relating to competition for survival or predominance. Originally applied by Herbert Spencer in his Principles of Biology of 1864, Spencer drew parallels to his ideas of economics with Charles Darwin's theory of evolution by what Darwin termed natural selection....
).

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

Evolutionary algorithm techniques

Similar techniques differ in the implementation details and the nature of the particular applied problem.
  • Genetic algorithm
    Genetic algorithm

    A genetic algorithm is a Search algorithm wikt:technique used in computing to find exact or approximate solutions to Optimization and Search algorithm problems....
     - 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), by applying operators such as recombination and mutation (sometimes one, sometimes both). This type of EA is often used in optimization
    Optimization (mathematics)

    In mathematics, the simplest case of optimization, or mathematical programming, refers to the study of problems in which one seeks to maxima and minima or maxima and minima a Function of a real variable by systematically choosing the values of Real number or integer variables from within an allowed set....
     problems;
  • Genetic programming
    Genetic programming

    In artificial intelligence, genetic programming is an evolutionary algorithm-based methodology bio-inspired computing by biological evolution to find computer programs that perform a user-defined task....
     - Here the solutions are in the form of computer programs, and their fitness is determined by their ability to solve a computational problem.
  • Evolutionary programming
    Evolutionary programming

    Evolutionary programming is one of the four major evolutionary algorithm paradigms.It was first used by Lawrence J. Fogel in 1960 in order to use simulated evolution as a learning process aiming to generate artificial intelligence....
     - Like genetic programming, only the structure of the program is fixed and its numerical parameters are allowed to evolve;
  • Evolution strategy
    Evolution strategy

    In computer science, evolution strategy is an optimization technique based on ideas of adaptation and evolution. It was created in the early 1960s and developed further along the 1970s and later by Ingo Rechenberg, Hans-Paul Schwefel and his co-workers, and belongs to the more general class of evolutionary computation or artificial evolutio...
     - Works with vectors of real numbers as representations of solutions, and typically uses self-adaptive mutation rates;


Related techniques

  • Differential evolution
    Differential evolution

    Differential Evolution is a method of mathematical Optimization of multidimensional functions and belongs to the class of evolution strategy optimizers....
     - Based on vector differences and is therefore primarily suited for numerical optimization problems.
  • Particle swarm optimization
    Particle swarm optimization

    Particle swarm optimization is a swarm intelligence based algorithm to find a solution to an optimization problem in a search space, or model and predict social behavior in the presence of objectives....
     - Based on the ideas of animal flocking behaviour. Also primarily suited for numerical optimization problems.
  • Ant colony optimization
    Ant colony optimization

    The ant colony optimization algorithm , is a probability technique for solving computational problems which can be reduced to finding good paths through graph s....
     - Based on the ideas of ant foraging by pheromone communication to form path. Primarily suited for combinatorial optimization
    Combinatorial optimization

    Combinatorial optimization is a branch of Optimization . Its domain is optimization problems where the set of feasible solutions is Discrete set or can be reduced to a discrete one, and the goal is to find the best possible solution....
     problems.
  • Invasive weed optimization algorithm - Based on the ideas of weed colony behavior in searching and finding a suitable place for growth and reproduction.
  • Harmony search
    Harmony search

    Harmony search is a metaheuristic algorithm mimicking the improvisation process of musicians. In the process, each musician plays a note for finding a best harmony all together....
     - Based on the ideas of musicians behavior in searching for better harmonies. This algorithm is suitable for combinatorial optimization as well as parameter optimization.
  • Gaussian adaptation
    Gaussian adaptation

    Gaussian adaptation is an evolutionary algorithm designed for the maximization of manufacturing yield due to statistical deviation of component values of signal processing systems....
     - Based on information theory. Used for maximization of manufacturing yield, mean fitness or average information. See for instance Entropy in thermodynamics and information theory
    Entropy in thermodynamics and information theory

    There are close parallels between the mathematical expressions for the thermodynamic entropy, usually denoted by S, of a physical system in the statistical thermodynamics established by Ludwig Boltzmann and J....
    .


Bibliography

  • Ashlock, D. (2006), Evolutionary Computation for Modeling and Optimization, Springer, ISBN 0-387-22196-4.
  • 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* Ingo Rechenberg
    Ingo Rechenberg

    Ingo Rechenberg is a Germany computer science and professor. Rechenberg is a pioneer of the fields of evolutionary computation and artificial evolution....
     (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).


See also

  • Developmental biology
    Developmental biology

    Developmental biology is the study of the process by which organisms grow and develop. Modern developmental biology studies the genetic control of cell growth, cellular differentiation and "morphogenesis," which is the process that gives rise to biological tissues, organ s and anatomy....
  • Evolutionary computation
    Evolutionary computation

    In computer science evolutionary computation is a subfield of artificial intelligence that involves combinatorial optimization problems.Evolutionary computation uses iterative progress, such as growth or development in a population....
  • Evolutionary robotics
    Evolutionary robotics

    Evolutionary Robotics is a methodology that uses evolutionary computation to develop controller for autonomous robots.Algorithms in ER frequently operate on populations of candidate controller ,...
  • Fitness landscape
    Fitness landscape

    In evolutionary biology, fitness landscapes or adaptive landscapes are used to visualize the relationship between genotypes and reproductive success....
  • Genetic operators
  • Interactive evolutionary computation
    Interactive evolutionary computation

    Interactive evolutionary computation or Aesthetic Selection is a general term for methods of evolutionary computation that use human evaluation....
  • No free lunch in search and optimization
  • Program synthesis
    Program synthesis

    Program synthesis comprises a range of technologies for the automatic generation of executable computer programs from high-level specifications of their behaviour....
  • Digital organism
    Digital organism

    A digital organism is a self-replication computer program that mutation and evolution . Digital organisms are used as a tool to study the dynamics of Darwinian evolution, and to test or verify specific hypotheses or mathematical models of evolution....
  • List of digital organism simulators
  • Pervasive adaptation
    Pervasive adaptation

    Pervasive Adaptation is concerned with technologies used in information and communication systems which are capable of autonomously adapting to highly dynamic user contexts....


External links

  • by Poli, Langdon, and McPhee. Available as a free PDF, or in printed form from Lulu.com.
  • - Home of the largest conference on the subject, GECCO (since January 1, 2005 reorganized to become of the ACM)
  • .
  • - A project for evolutionary algorithms
  • - GPLed computational intelligence simulation and research environment written in Java, includes various EC implementations
  • - A very tiny (less than 1000 lines of C!) evolvable instruction set virtual machine that exhibits striking emergent behaviors.
  • - GPLed C++ framework for evolutionary computation
  • - Global Optimization Algorithms - Theory and Application
  • - a showcase of real-world EA examples


Implementations:
  • (Java), popular evolutionary computation toolkit.
  • (C++) another popular EC toolkit
  • (Java), a rich open source EA and heuristic optimization framework with GUI.
  • (Java) Open source API for implementing genetic algorithms and genetic programming applications
  • (C++) yet another popular EC toolkit.