Evolutionary Computation (EC) refers to the study of algorithms that are inspired by the evolutionary process. Algorithms traditionally found under the EC umbrella include Genetic Algorithms (GA), Evolutionary Strategies (ES), and Genetic Programming (GP).

Evolutionary Computation is very closely related to Digital Evolution. However, Digital Evolution focuses on the reproduction / instantiation of evolutionary processes in digital agents, to understand and reproduce the mechanisms of evolution. Evolutionary Computation, on the other hand, usually refers to algorithms used for solving optimization problems. Although a lot of overlap exists between the two disciplines.

General Idea

To solve a problem using Evolutionary Computation, the following components need to be defined:

  • A Genotype: An encoding that represents a solution to the problem as a data structure.
  • A Fitness Function: A program that evaluates a solution to the program, and scores that solution according to its quality;
  • A set of variation operators: Functions that create new Genotypes / Solutions from one or more existing ones.
  • A selection function: A function that will select a subset of Genotypes based on their fitness score.

The general loop of an Evolutionary Algorithm is to generate a set of initial solutions (an Initial Population), evaluate those solutions using the Fitness Function, select some of the solutions to reproduce using the Selection Function, and generate a new population using the Variation Operators. This loop is repeated until some stopping criteria is reached, such as a maximum number of evaluations, or a target fitness value.

References

4204406 {4204406:B4FR834D} 1 apa 50 default 3706 https://alife.org/wp-content/plugins/zotpress/
%7B%22status%22%3A%22success%22%2C%22updateneeded%22%3Afalse%2C%22instance%22%3Afalse%2C%22meta%22%3A%7B%22request_last%22%3A0%2C%22request_next%22%3A0%2C%22used_cache%22%3Atrue%7D%2C%22data%22%3A%5B%7B%22key%22%3A%22B4FR834D%22%2C%22library%22%3A%7B%22id%22%3A4204406%7D%2C%22meta%22%3A%7B%22creatorSummary%22%3A%22A.E.%20Eiben%20and%20J.E.%20Smith%22%2C%22parsedDate%22%3A%222015%22%2C%22numChildren%22%3A0%7D%2C%22bib%22%3A%22%26lt%3Bdiv%20class%3D%26quot%3Bcsl-bib-body%26quot%3B%20style%3D%26quot%3Bline-height%3A%202%3B%20padding-left%3A%201em%3B%20text-indent%3A-1em%3B%26quot%3B%26gt%3B%5Cn%20%20%26lt%3Bdiv%20class%3D%26quot%3Bcsl-entry%26quot%3B%26gt%3BA.E.%20Eiben%20and%20J.E.%20Smith.%20%282015%29.%20%26lt%3Bi%26gt%3BIntroduction%20to%20Evolutionary%20Computing%26lt%3B%5C%2Fi%26gt%3B%20%282nd%20ed.%29.%20Springer.%26lt%3B%5C%2Fdiv%26gt%3B%5Cn%26lt%3B%5C%2Fdiv%26gt%3B%22%2C%22data%22%3A%7B%22itemType%22%3A%22book%22%2C%22title%22%3A%22Introduction%20to%20Evolutionary%20Computing%22%2C%22creators%22%3A%5B%7B%22creatorType%22%3A%22author%22%2C%22name%22%3A%22A.E.%20Eiben%20and%20J.E.%20Smith%22%7D%5D%2C%22abstractNote%22%3A%22%22%2C%22date%22%3A%222015%22%2C%22originalDate%22%3A%22%22%2C%22originalPublisher%22%3A%22%22%2C%22originalPlace%22%3A%22%22%2C%22format%22%3A%22%22%2C%22ISBN%22%3A%22978-3-662-44873-1%22%2C%22DOI%22%3A%22%22%2C%22citationKey%22%3A%22%22%2C%22url%22%3A%22%22%2C%22ISSN%22%3A%22%22%2C%22language%22%3A%22English%22%2C%22collections%22%3A%5B%5D%2C%22dateModified%22%3A%222023-07-28T06%3A01%3A30Z%22%7D%7D%5D%7D
A.E. Eiben and J.E. Smith. (2015). Introduction to Evolutionary Computing (2nd ed.). Springer.