Mating pool


A mating pool is a concept used in evolutionary computation. More specifically, it is one of the four steps in genetic algorithm operations that places value on the fitness of individuals in a population.
Typically, the population of candidate solutions for a genetic algorithm is treated as a single entity. An alternative approach is to separate only individuals who will produce offspring from the remainder of the current population. These are placed into a mating pool.
Selection operators are applied to the entire population in order to determine the fittest individuals of the current population, which are then placed into the mating pool. Genetic operations, such as crossover and mutation, are then applied to the mating pool to create the next generation.
There are multiple ways to create a mating pool, including selecting the best individuals based on certain criteria, known as truncation selection, and choosing individuals randomly with the probability of being chosen based on fitness level, known as fitness proportionate selection. Additionally, a random sub-group can be selected from the population and then the individuals with the highest fitness are selected for the mating pool, known as tournament selection.