Crossover operators on strings are inherently limited in that they cannot introduce letters at positions where no such letter is present in the same position. More generally, crossover operators produce offsprings that are "between" the parents and thus more similar to their parents than the parents to each other . This can lead to a loss of diversity that, in GA implementations, is counteracted by mutation operators designed to increase diversity.