Mutation is a
genetic operator
A genetic operator is an Operator (programming), operator used in evolutionary algorithms (EA) to guide the algorithm towards a solution to a given problem. There are three main types of operators (Mutation (evolutionary algorithm) , mutation, Cro ...
used to maintain
genetic diversity
Genetic diversity is the total number of genetic characteristics in the genetic makeup of a species. It ranges widely, from the number of species to differences within species, and can be correlated to the span of survival for a species. It is d ...
of the
chromosomes
A chromosome is a package of DNA containing part or all of the genetic material of an organism. In most chromosomes, the very long thin DNA fibers are coated with nucleosome-forming packaging proteins; in eukaryotic cells, the most importa ...
of a population of an
evolutionary algorithm
Evolutionary algorithms (EA) reproduce essential elements of the biological evolution in a computer algorithm in order to solve "difficult" problems, at least Approximation, approximately, for which no exact or satisfactory solution methods are k ...
(EA), including
genetic algorithms
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to g ...
in particular. It is analogous to biological
mutation
In biology, a mutation is an alteration in the nucleic acid sequence of the genome of an organism, virus, or extrachromosomal DNA. Viral genomes contain either DNA or RNA. Mutations result from errors during DNA or viral replication, ...
.
The classic example of a mutation operator of a binary coded genetic algorithm (GA) involves a probability that an arbitrary
bit in a
genetic sequence
Genetic may refer to:
*Genetics, in biology, the science of genes, heredity, and the variation of organisms
**Genetic, used as an adjective, refers to genes
*** Genetic disorder, any disorder caused by a genetic mutation, whether inherited or de no ...
will be flipped from its original state. A common method of implementing the mutation operator involves generating a
random variable
A random variable (also called random quantity, aleatory variable, or stochastic variable) is a Mathematics, mathematical formalization of a quantity or object which depends on randomness, random events. The term 'random variable' in its mathema ...
for each bit in a sequence. This random variable tells whether or not a particular bit will be flipped. This mutation procedure, based on the biological
point mutation
A point mutation is a genetic mutation where a single nucleotide base is changed, inserted or deleted from a DNA or RNA sequence of an organism's genome. Point mutations have a variety of effects on the downstream protein product—consequences ...
, is called single point mutation. Other types of mutation operators are commonly used for representations other than binary, such as floating-point encodings or representations for combinatorial problems.
The purpose of mutation in EAs is to introduce diversity into the sampled
population
Population is a set of humans or other organisms in a given region or area. Governments conduct a census to quantify the resident population size within a given jurisdiction. The term is also applied to non-human animals, microorganisms, and pl ...
. Mutation operators are used in an attempt to avoid
local minima by preventing the population of chromosomes from becoming too similar to each other, thus slowing or even stopping convergence to the global optimum. This reasoning also leads most EAs to avoid only taking the
fittest of the population in generating the next generation, but rather selecting a random (or semi-random) set with a weighting toward those that are fitter.
The following requirements apply to all mutation operators used in an EA:
# every point in the search space must be reachable by one or more mutations.
# there must be no preference for parts or directions in the search space (no drift).
# small mutations should be more probable than large ones.
For different genome types, different mutation types are suitable. Some mutations are Gaussian, Uniform, Zigzag, Scramble, Insertion, Inversion, Swap, and so on. An overview and more operators than those presented below can be found in the introductory book by Eiben and Smith or in.
Bit string mutation
The mutation of bit strings ensue through bit flips at random positions.
Example:
The probability of a mutation of a bit is
, where
is the length of the binary vector. Thus, a mutation rate of
per mutation and individual selected for mutation is reached.
Mutation of real numbers
Many EAs, such as the
evolution strategy
Evolution strategy (ES) from computer science is a subclass of evolutionary algorithms, which serves as an optimization (mathematics), optimization technique. It uses the major genetic operators mutation (evolutionary algorithm), mutation, recomb ...
or the real-coded
genetic algorithms
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to g ...
,
work with real numbers instead of bit strings. This is due to the good experiences that have been made with this type of coding.
The value of a real-valued gene can either be changed or redetermined. A mutation that implements the latter should only ever be used in conjunction with the value-changing mutations and then only with comparatively low probability, as it can lead to large changes.
In practical applications, the respective value range of the decision variables to be changed of the optimisation problem to be solved is usually limited. Accordingly, the values of the associated genes are each
restricted to an interval