Mutation (genetic algorithm)

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. It is analogous to biological mutation.Mutation alters one or more gene values in a chromosome from its initial state.In mutation,the solution may change entirely from the previous solution.Hence GA can come to better solution by using mutation.Mutation occurs during evolution according to a user-definable mutation probability.This probability should be set low. If it is set to high, the search will turn into a primitive random search.

The classic example of a mutation operator involves a probability that an arbitrary bit in a genetic sequence will be changed from its original state. A common method of implementing the mutation operator involves generating a random variable for each bit in a sequence. This random variable tells whether or not a particular bit will be modified. This mutation procedure, based on the biological point mutation, is called single point mutation. Other types are inversion and floating point mutation. When the gene encoding is restrictive as in permutation problems, mutations are swaps, inversions and scrambles.

The purpose of mutation in GAs is preserving and introducing diversity. Mutation should allow the algorithm to avoid local minima by preventing the population of chromosomes from becoming too similar to each other, thus slowing or even stopping evolution. This reasoning also explains the fact that most GA systems avoid only taking the fittest of the population in generating the next but rather a random (or semi-random) selection with a weighting toward those that are fitter.[1]

For different genome types, different mutation types are suitable:

  • Bit string mutation
The mutation of bit strings ensue through bit flips at random positions.
Example:
1 0 1 0 0 1 0
1 0 1 0 1 1 0
The probability of a mutation of a bits is \frac{1}{l}, where l is the length of the binary vector. Thus, a mutation rate of 1 per mutation and individual selected for mutation is reached.
  • Flip Bit

This mutation operator takes the chosen genome and invert the bits. (i.e. if the genome bit is 1,it is changed to 0 and vice versa)

  • Boundary

This mutation operator replaces the genome with either lower or upper bound randomly. This can be used for integer and float genes.

  • Non-Uniform

The probability that amount of mutation will go to 0 with the next generation is increased by using non-uniform mutation operator.It keeps the population from stagnating in the early stages of the evolution.It tunes solution in later stages of evolution.This mutation operator can only be used for integer and float genes.

  • Uniform

This operator replaces the value of the chosen gene with a uniform random value selected between the user-specified upper and lower bounds for that gene. This mutation operator can only be used for integer and float genes.


  • Gaussian

This operator adds a unit Gaussian distributed random value to the chosen gene. If it falls outside of the user-specified lower or upper bounds for that gene,the new gene value is clipped. This mutation operator can only be used for integer and float genes.


Reference

See also

Bibliography

  • John Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, Michigan. 1975. ISBN 0-262-58111-6.

Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Genetic algorithm — A genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to generate useful solutions to optimization and search problems. Genetic algorithms belong to the larger class of… …   Wikipedia

  • Genetic algorithm in economics — Genetic algorithms are used to model the learning behaviour of economic agents. The term genetic algorithm is often abbreviated as GA. The genetic algorithm is a particular class of evolutionary algorithm inspired by evolutionary biology. A… …   Wikipedia

  • Crossover (genetic algorithm) — In genetic algorithms, crossover is a genetic operator used to vary the programming of a chromosome or chromosomes from one generation to the next. It is analogous to reproduction and biological crossover, upon which genetic algorithms are based …   Wikipedia

  • Genetic algorithm scheduling — To be competitive, corporations must minimize inefficiencies and maximize productivity. In manufacturing, productivity is inherently linked to how well you can optimize the resources you have, reduce waste and increase efficiency. Finding the… …   Wikipedia

  • Chromosome (genetic algorithm) — For information about chromosomes in biology, see chromosome. In genetic algorithms, a chromosome (also sometimes called a genome) is a set of parameters which define a proposed solution to the problem that the genetic algorithm is trying to… …   Wikipedia

  • Human-based genetic algorithm — In evolutionary computation, a human based genetic algorithm (HBGA) is a genetic algorithm that allows humans to contribute innovative solutions to the evolutionary process. For this purpose, an HBGA has human interfaces for initialization,… …   Wikipedia

  • Mutation (disambiguation) — A mutation is a change in the sequence of an organism s genetic material. Mutation may also refer to: Contents 1 Literature 2 Music 3 Sciences …   Wikipedia

  • 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… …   Wikipedia

  • Genetic programming — In artificial intelligence, genetic programming (GP) 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… …   Wikipedia

  • Evolutionary algorithm — In artificial intelligence, an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population based metaheuristic optimization algorithm. An EA uses some mechanisms inspired by biological evolution: reproduction,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”