Evolutionary programming
Encyclopedia
Evolutionary programming is one of the four major evolutionary algorithm
paradigms. It is similar to genetic programming
, but the structure of the program to be optimized is fixed, while its numerical parameters are allowed to evolve.
It was first used by Lawrence J. Fogel
in the US in 1960 in order to use simulated evolution
as a learning process aiming to generate artificial intelligence
. Fogel used finite state machine
s as predictors and evolved them.
Currently evolutionary programming is a wide evolutionary computing dialect with no fixed structure or (representation
), in contrast with some of the other dialects. It is becoming harder to distinguish from evolutionary strategies
.
Its main variation operator is mutation
; members of the population are viewed as part of a specific species rather than members of the same species therefore each parent generates an offspring, using a (μ + μ) survivor selection
.
Evolutionary algorithm
In artificial intelligence, an evolutionary algorithm is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An EA uses some mechanisms inspired by biological evolution: reproduction, mutation, recombination, and selection...
paradigms. It is similar to genetic programming
Genetic programming
In artificial intelligence, genetic programming is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task. It is a specialization of genetic algorithms where each individual is a computer program...
, but the structure of the program to be optimized is fixed, while its numerical parameters are allowed to evolve.
It was first used by Lawrence J. Fogel
Lawrence J. Fogel
Dr. Lawrence J. Fogel , was a pioneer in evolutionary computation and human factors analysis. He is known as the father of evolutionary programming. Born in Brooklyn, New York, he earned his B.E.E. from New York University in 1948, M.S. from Rutgers University in 1952 and Ph.D...
in the US in 1960 in order to use simulated evolution
Evolution
Evolution is any change across successive generations in the heritable characteristics of biological populations. Evolutionary processes give rise to diversity at every level of biological organisation, including species, individual organisms and molecules such as DNA and proteins.Life on Earth...
as a learning process aiming to generate artificial intelligence
Artificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
. Fogel used finite state machine
Finite state machine
A finite-state machine or finite-state automaton , or simply a state machine, is a mathematical model used to design computer programs and digital logic circuits. It is conceived as an abstract machine that can be in one of a finite number of states...
s as predictors and evolved them.
Currently evolutionary programming is a wide evolutionary computing dialect with no fixed structure or (representation
Genetic representation
Genetic representation is a way of representing solutions/individuals in evolutionary computation methods. Genetic representation can encode appearance, behavior, physical qualities of individuals. Designing a good genetic representation that is expressive and evolvable is a hard problem in...
), in contrast with some of the other dialects. It is becoming harder to distinguish from evolutionary strategies
Evolution strategy
In computer science, evolution strategy is an optimization technique based on ideas of adaptation and evolution. It belongs to the general class of evolutionary computation or artificial evolution methodologies.-History:...
.
Its main variation operator is mutation
Mutation (genetic algorithm)
In genetic algorithms of computing, mutation is a genetic operator used to maintain genetic diversity from one generation of a population of algorithm chromosomes to the next...
; members of the population are viewed as part of a specific species rather than members of the same species therefore each parent generates an offspring, using a (μ + μ) survivor selection
Selection (genetic algorithm)
Selection is the stage of a genetic algorithm in which individual genomes are chosen from a population for later breeding .A generic selection procedure may be implemented as follows:...
.