A
genetic operator is an
operator used in
genetic algorithms 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. 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). 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.