| Part ofa series on the |
| Evolutionary algorithm |
|---|
| Genetic algorithm (GA) |
| Genetic programming (GP) |
| Differential evolution |
| Evolution strategy |
| Evolutionary programming |
| Related topics |
Agenetic operator is anoperator used inevolutionary algorithms (EA) to guide the algorithm towards a solution to a given problem. There are three main types of operators (mutation,crossover andselection), which must work in conjunction with one another in order for the algorithm to be successful.[1] Genetic operators are used to create and maintaingenetic diversity (mutation operator), combine existing solutions (also known aschromosomes) into new solutions (crossover) and select between solutions (selection).[2][3]
The classic representatives of evolutionary algorithms includegenetic algorithms,evolution strategies,genetic programming andevolutionary programming. In his book discussing the use of genetic programming for the optimization of complex problems, computer scientistJohn Koza has also identified an 'inversion' or 'permutation' operator; however, the effectiveness of this operator has never been conclusively demonstrated and this operator is rarely discussed in the field of genetic programming.[4][5] Forcombinatorial problems, however,these and other operators tailored topermutations are frequently used by other EAs.[6][7]
Mutation (or mutation-like) operators are said to beunary operators, as they only operate on one chromosome at a time. In contrast, crossover operators are said to bebinary operators, as they operate on two chromosomes at a time, combining two existing chromosomes into one new chromosome.[8][9]
Genetic variation is a necessity for the process ofevolution. Genetic operators used in evolutionary algorithms are analogous to those in the natural world:survival of the fittest, orselection; reproduction (crossover, also called recombination); andmutation.
Selection operators give preference to better candidate solutions (chromosomes), allowing them to pass on their 'genes' to the next generation (iteration) of the algorithm. The best solutions are determined using some form ofobjective function (also known as a 'fitness function' in evolutionary algorithms), before being passed to the crossover operator. Different methods for choosing the best solutions exist, for example,fitness proportionate selection andtournament selection.[10] A further or the same selection operator is used to determine the individuals for being selected to form the next parental generation. The selection operator may also ensure that the best solution(s) from the current generation always become(s) a member of the next generation without being altered;[11] this is known aselitism orelitist selection.[2][12][13]
Crossover is the process of taking more than one parent solutions (chromosomes) and producing a child solution from them. By recombining portions of good solutions, the evolutionary algorithm is more likely to create a better solution.[2] As with selection, there are a number of different methods for combining the parent solutions, including theedge recombination operator (ERO) and the 'cut and splice crossover' and 'uniform crossover' methods. The crossover method is often chosen to closely match the chromosome's representation of the solution; this may become particularly important when variables are grouped together asbuilding blocks, which might be disrupted by a non-respectful crossover operator. Similarly, crossover methods may be particularly suited to certain problems; the ERO is considered a good option for solving thetravelling salesman problem.[14]
The mutation operator encourages genetic diversity amongst solutions and attempts to prevent the evolutionary algorithm converging to alocal minimum by stopping the solutions becoming too close to one another. In mutating the current pool of solutions, a given solution may change between slightly and entirely from the previous solution.[15] By mutating the solutions, an evolutionary algorithm can reach an improved solution solely through the mutation operator.[2] Again, different methods of mutation may be used; these range from a simplebit mutation (flipping random bits in a binary string chromosome with some low probability) to more complex mutation methods in which genes in the solution are changed, for example by adding a random value from theGaussian distribution to the current gene value. As with the crossover operator, the mutation method is usually chosen to match the representation of the solution within the chromosome.[15][3]
While each operator acts to improve the solutions produced by the evolutionary algorithm working individually, the operators must work in conjunction with each other for the algorithm to be successful in finding a good solution.[3] Using the selection operator on its own will tend to fill the solution population with copies of the best solution from the population. If the selection and crossover operators are used without the mutation operator, the algorithm will tend to converge to alocal minimum, that is, a good but sub-optimal solution to the problem. Using the mutation operator on its own leads to arandom walk through the search space. Only by using all three operators together can the evolutionary algorithm become a noise-tolerant global search algorithm, yielding good solutions to the problem at hand.[2]
{{citation}}: CS1 maint: work parameter with ISBN (link)