Tournament Selection is a Selection Strategy used for selecting the fittest candidates from the current generation in a Genetic Algorithm. These selected candidates are then passed on to the next generation. In a K-way tournament selection, we select k-individuals and run a tournament among them. Only the fittest candidate amongst those selected candidates is chosen and is passed on to the next generation. In this way many such tournaments take place and we have our final selection of candidates who move on to the next generation. It also has a parameter called the selection pressure which is a probabilistic measure of a candidate’s likelihood of participation in a tournament. If the tournament size is larger, weak candidates have a smaller chance of getting selected as it has to compete with a stronger candidate. The selection pressure parameter determines the rate of convergence of the GA. More the selection pressure more will be the Convergence rate. GAs are able to identify optimal or near-optimal solutions over a wide range of selection pressures. Tournament Selection also works for negative fitness values.
Algorithm -- 1.Select k individuals from the population and perform a tournament amongst them 2.Select the best individual from the k individuals 3. Repeat process 1 and 2 until you have the desired amount of population
Let us have a 3-way tournament selection and our desired population size is 6 and the initial population with their fitness scores is [1, 2, 3, 4, 5, 6]. Our first tournament will look something like this (see the diagram) and the winner candidate with fitness value 6 moves on to the next generation.
After the first tournament we have our selected population as .
After a few such tournaments, we might have a selected population as [6, 6, 6, 5, 4, 3]. It might even be [6, 6, 5, 4, 3, 2]. Hence the fittest candidate is more likely to be selected for the next generation.
If the best candidate is selected with probability p
then the next best candidate will be selected with a probability of p*(1-p)
and the next one with p*(1-p)2
and so on …