The first operator, reproduction, works by attempting to imitate. In general, it selects another agent to observe its fitness value. If its fitness value is greater than its own, then it elects to adopt the other agent's string. Otherwise, it perservespreserves it own. These strings are then placed into an offspring pool to undergo the mutation operators, crossover and mutation. Most functions are [[stochastic]] and designed so that a small proportion of less fit solutions are selected. This helps keep the diversity of the population large, preventing premature convergence on poor solutions. Popular and well-studied selection methods include [[fitness proportionate selection|roulette wheel selection]] and [[tournament selection]].