| |||||||||
Tournament selection runs a tournament among a few individuals and selects the winner (the one with the best fitness) for crossover.
Selection pressure can be easily adjusted by changing the tournament size. If the tournament size is higher, weak individuals have a smaller chance to be selected.
Tournament selection pseudo code:
Deterministic tournament selection selects the best individual in any tournament which is the same as p=1. A 1-way tournament (k=1) selection is equivalent to random selection. The chosen individual can be removed from the population that the selection is made from if desired, otherwise individuals can be selected more than once for the next generation.
Tournament selection has several benefits, it is efficient to code, works on parallel architectures and allows the selection pressure to be easily adjusted.
See "Genetic Algorithms, Tournament Selection, and the Effects of Noise" by Brad L. Miller and David E. Goldberg .