In the context of evolutionary computation, in particular genetic algorithms, there are two stochastic operations "mutation" and "crossover". What are the differences between them?
4 Answers
The mutation is an operation that is applied to a single individual in the population. It can e.g. introduce some noise in the chromosome. For example, if the chromosomes are binary, a mutation may simply be the flip of a bit (or gene).
The crossover is an operation which takes as input two individuals (often called the "parents") and somehow combines their chromosomes, so as to produce usually two other chromosomes (the "children"), which inherit, in a certain way, the genes of both parents.
For more details about these operations, you can use the book Genetic Algorithms in Search, Optimization, and Machine Learning by David E. Goldberg (who is an expert in genetic algorithms and was just advised by John H. Holland). You can also take a look at the book Computational Intelligence: An Introduction (2nd edition, 2007) by Andries P. Engelbrecht.
-
$\begingroup$ Crossover usually has a stricter definition than "somehow combines their chromosomes", which might be worth mentioning as it behaves a lot like its biological inspiration. $\endgroup$ Nov 20, 2018 at 16:00
-
2$\begingroup$ I don't know that I would agree to that limitation. Early crossover operators certainly aimed at biological inspiration, but I don't think that's a common aspect of a useful definition today. Look at something like Cycle Crossover (CX) for permutation encodings. This isn't really attempting to mimic any strict interpretation of biological crossover. They're just trying to combine information from two parents in a way that effectively generates offspring. That seems to me to be the more modern way of thinking -- operators should be useful; not necessarily biologically motivated. $\endgroup$– deongNov 20, 2018 at 17:13
I like to use the term, "recombination operator" rather than "crossover operator", because the latter term suggests a specific type of operation: constructing an offspring by switching corresponding chromosome segments between two parents. "Recombination" (to me) suggests any operation that forms an offspring from the genetic information of two parents. "Crossover" in that sense doesn't work when the individuals are, for example, permutations; but many "recombination operators" that do work are still possible, which preserve non-conflicting portions of two parent permutations.
In GA, mutation can be thought of as a relatively small random change that occurs within an individual. Mutation usually is a change of the value of one gene without making use of gene values in any other individuals, but can also be a random rearrangement of elements in a permutation, or a random change in the values of several genes. Sometimes the term is applied to a "hill climbing" procedure in which several mutations are applied to an individual and their effect on fitness is tested; then the one that produces the most fitness improvement is retained.
Evolutionary algorithms use it in a very similar way as the two terms are used in biology:
In biology, a mutation is the permanent alteration of the nucleotide sequence of the genome of an organism, virus, or extrachromosomal DNA or other genetic elements.
Source: Wikipedia
Chromosomal crossover [...] is the exchange of genetic material [...] that results in recombinant chromosomes during sexual reproduction.
Source: Wikipedia
Hence the main difference is that mutations happen within one individual while crossover is between two individuals.
-
1$\begingroup$ Although we use biological definition with the same meaning, I think the OP has made it clear The OP wants it in context of Evolutionary Comp., so your answer is more suitable as a comment. $\endgroup$– user9947Nov 21, 2018 at 6:09
-
$\begingroup$ As a comment it would be hard to get a good, readable formatting. $\endgroup$ Nov 21, 2018 at 6:13
Mutation is secondary operator (10%) while Crossover is Primary (90%) which creates offspring while mutation can only shuffle information within the Choromsome