Reputation: 2309
I have been working on a literature study on Genetic Algorithms in preparation of a project. When researching mutation I encountered the terms "Uniform mutation" and "Non-Uniform mutation" quite often.
Wikipedia explains uniform and non-uniform mutation mutation as a "type":
Uniform Mutation: 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.
Non-Uniform Mutation: 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.
A powerpoint presentation on the subject of genetic algorithms explains uniform mutation in the context of floating point mutations:
xi' is drawn randomly (uniform) from [Lower bound, Upper bound]. It is analogous to bit-flipping of binary strings or random resetting of integer strings.
The MathWorks documentation explains uniform mutation as:
Uniform mutation is a two-step process. First, the algorithm selects a fraction of the vector entries of an individual for mutation, where each entry has a probability Rate of being mutated. The default value of Rate is 0.01. In the second step, the algorithm replaces each selected entry by a random number selected uniformly from the range for that entry.
In line with MathWorks' explanation of uniform as "random", I found this source, which doesn't even name uniform or non-uniform mutation.
However, no information is given on what it actually is. I am unsure if it is an umbrella term for certain methods adhering to some properties, or if it is a method on its own, like Wikipedia says. I can't find any real demonstration of the term as a method. But I can't find any definition of the term as an umbrella term either. Since one source cited it as being analogous to bit-flipping I am unsure.
What is meant, in a genetic algorithms context, with uniform and non-uniform mutation and what is an example of the use of such methods or terms?
Upvotes: 4
Views: 5868
Reputation: 6404
uniform mutation - choose a certain percentage of genes, say 1%, at random and set them to random values, and do this at the same rate throughout the program.
non-uniform mutation - any other scheme, but typically you either lower the mutation rate as the population gets fitter (so mutate 0.1 % of genes after several thousand generations) or you make the mutations smaller as time progresses (so add or subtract one or two places instead of setting to random).
Upvotes: 3