Genetic operator

A genetic operator is an 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, crossover and selection), which must work in conjunction with one another in order for the algorithm to be successful.[1] Genetic operators are used to create and maintain genetic diversity (mutation operator), combine existing solutions (also known as chromosomes) into new solutions (crossover) and select between solutions (selection).[2][3]

The classic representatives of evolutionary algorithms include genetic algorithms, evolution strategies, genetic programming and evolutionary programming. In his book discussing the use of genetic programming for the optimization of complex problems, computer scientist John 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] For combinatorial problems, however, these and other operators tailored to permutations are frequently used by other EAs.[6][7]

Mutation (or mutation-like) operators are said to be unary operators, as they only operate on one chromosome at a time. In contrast, crossover operators are said to be binary operators, as they operate on two chromosomes at a time, combining two existing chromosomes into one new chromosome.[8][9]

  1. ^ Jiang, Dazhi; Tian, Zhihang; He, Zhihui; Tu, Geng; Huang, Ruixiang (1 September 2021). "A framework for designing of genetic operators automatically based on gene expression programming and differential evolution". Natural Computing. 20 (3): 395–411. doi:10.1007/s11047-020-09830-2. ISSN 1572-9796.
  2. ^ "Introduction to Genetic Algorithms". Archived from the original on 11 August 2015. Retrieved 20 August 2015.
  3. ^ Cite error: The named reference :0 was invoked but never defined (see the help page).
  4. ^ Koza, John R. (1996). Genetic programming : on the programming of computers by means of natural selection (6th ed.). Cambridge, Mass.: MIT Press. ISBN 0-262-11170-5.
  5. ^ "Genetic programming operators". Retrieved 20 August 2015.
  6. ^ Eiben, A.E.; Smith, J.E. (2015). "Mutation for Permutation Representation". Introduction to Evolutionary Computing. Natural Computing Series (2nd ed.). Berlin, Heidelberg: Springer. pp. 69–70. doi:10.1007/978-3-662-44874-8. ISBN 978-3-662-44873-1.
  7. ^ Yu, Xinjie; Gen, Mitsuo (2010). "Mutation Operators". Introduction to Evolutionary Algorithms. Decision Engineering. London: Springer. pp. 286–288. doi:10.1007/978-1-84996-129-5. ISBN 978-1-84996-128-8.
  8. ^ "Genetic operators". Archived from the original on 30 December 2017. Retrieved 20 August 2015.
  9. ^ Eiben, A.E.; Smith, J.E. (2015). "Variation Operators (Mutation and Recombination)". Introduction to Evolutionary Computing. Natural Computing Series (2nd ed.). Berlin, Heidelberg: Springer. pp. 31–33. doi:10.1007/978-3-662-44874-8. ISBN 978-3-662-44873-1.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search