70

Is there a difference between genetic algorithms and evolutionary algorithms?

I have read multiple papers, talking about genetic or evolutionary algorithms, and while very similar, I think they may not be the same thing.

6 Answers 6

74

A genetic algorithm is a class of evolutionary algorithm. Although genetic algorithms are the most frequently encountered type of evolutionary algorithm, there are other types, such as Evolution Strategy. So, evolutionary algorithms encompass genetic algorithms, and more.

Sign up to request clarification or add additional context in comments.

2 Comments

It seems like the genetic algorithm is identical to the (μ/ρ+, λ)-ES. Both include selection, mutation and recombination operators. Both use populations and iteratively improve in generations. I can't figure out what the difference is.
Although I think this answer is generally correct, I don't think that Wikipedia page is of terribly good use here, as it currently states "[Evolutionary Strategy] uses the major genetic operators mutation, recombination and selection of parents" which seems to be contrary to the implicit point that EAs don't have to be genetic.
20

Genetic algorithms use crossover (hence the 'gene' in their name) and mutation to search the space of possible solutions.

Evolutionary programming uses primarily mutation.

As posted already, both are types of evolutionary algorithms.

1 Comment

The question is about the difference between genetic and evolutionary algorithms, but this seems to answer the question "What is the difference between genetic algorithms and evolutionary programming?".
8

From Z. Michalewicz 1996 - "Genetic Algorithms + Data Structures = Evolution Programs" [p.289]:

Evolution programs borrow heavily from genetic algorithms. However, they incorporate problem-specific knowledge by using "natural" data structures and problem-sensitive "genetic" operators. The basic difference between GAs and EPs is that the former are classified as weak, problem-independent methods, which is not the case for the latter.

So a GA should be able to solve any of the problems one solves with an EP/EA, but an EP/EA won't be able to solve all problems solved by the GA. Of course, one pays with efficiency for the generality of GA.

Also, it seems that an algorithm is not an EA/EP if candidate solutions do not exchange information directly with each other (D. Simon 2013 - "Evolutionary Optimization Algorithms" [p.243]).

PS: D. Simon 2013 - "Evolutionary Optimization Algorithms" is an AMAZING book!

Comments

6

Algorithms that follow laws of evolution are called "Evolutionary algorithms". There are two sub-classes of EA. One, Genetic Algorithm that uses crossover, along with mutation as GA operators. Second, Evolutionary programming, that uses only mutation as its operator.

Comments

0

Evolutionary Strategies (Rechenberg 1973) and Genetic Algorithms (Holland 1975) are based on Darwins Evolutionary Theories. Evolutionary Strategies are the basis on Evolutionary Computation, hence Evolutionary Algorithms. In principal genetic algorithms (GA) are a sub-class of EA.

In contrast to EA, GA requires uses genetic representation in the sense of computational representation (genotype) and its real world representation (phenotype).

Comments

0

Genetic Algorithms (GAs) are a sub-class of Evolutionary Algorithms (EAs). The salient feature of GAs is that they replicate evolution by invoking a close, low-level metaphor of biological genes. If this seems obvious or redundant, remember that the theory of evolution was formulated independently of genetics!

From AI - A Modern Approach (Russel & Norvig):

Evolutionary algorithms ... are explicitly motivated by the metaphor of natural selections in biology: there is a population of individuals (states), in which the fittest (highest value) individuals produce offspring (successor states) that populate the next generation, a process called recombination.

Then later:

In genetic algorithms, each individual is a string over a finite alphabet, just as DNA is a string over the alphabet ACGT.

I certainly wasn't aware of this distinction before reading it in R&N. It makes sense to me, although I know that even experts in GAs refer to the use of continuous-value implementations of EAs such as NSGAII as 'genetic'. So I guess it's mostly a technicality.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.