Tournament selection

Tournament selection is a method of selecting an individual from a population of individuals in a genetic algorithm.[1] Tournament selection involves running several "tournaments" among a few individuals (or "chromosomes") chosen at random from the population. The winner of each tournament (the one with the best fitness) is selected for crossover. Selection pressure, a probabilistic measure of a chromosome's likelihood of participation in the tournament based on the participant selection pool size, is easily adjusted by changing the tournament size, the reason is that if the tournament size is larger, weak individuals have a smaller chance to be selected, because, if a weak individual is selected to be in a tournament, there is a higher probability that a stronger individual is also in that tournament.

The tournament selection method may be described in pseudo code:

choose k (the tournament size) individuals from the population at random
choose the best individual from the tournament with probability p
choose the second best individual with probability p*(1-p)
choose the third best individual with probability p*((1-p)^2)
and so on

Deterministic tournament selection selects the best individual (when p = 1) in any tournament. A 1-way tournament (k = 1) selection is equivalent to random selection. There are two variants of the selection: with and without replacement. The variant without replacement guarantees that when selecting N individuals from a population of N elements, each individual participates in exactly k tournaments. An algorithm is proposed in [2]. Note that depending on the number of elements selected, selection without replacement does not guarantee that no individual is selected more than once. It just guarantees that each individual has an equal chance of participating in the same number of tournaments.

In comparison with the (stochastic) fitness proportionate selection method, tournament selection is often implemented in practice due to its lack of stochastic noise.[3]

Tournament selection has several benefits over alternative selection methods for genetic algorithms (for example, fitness proportionate selection and reward-based selection): it is efficient to code, works on parallel architectures and allows the selection pressure to be easily adjusted.[1] Tournament selection has also been shown to be independent of the scaling of the genetic algorithm fitness function (or 'objective function') in some classifier systems.[4][5]

Tournament scheduling

Tournament scheduling[6], a variant of tournament selection, can be used as a resource-efficient method for scheduling computing tasks, such as in the context of a cloud computing service. Here the problem is to share tasks equally between resources, such as individual servers, when the load that each task will require cannot be determined in advance, and where it would be inefficient or slow to poll every available server to determine its current load. Failure to schedule tasks appropriately may lead to individual tasks becoming resource-constrained, or even fail. Tournament scheduling proceeds by polling servers in a small, randomly-selected, pool, and assigning the task to the server with the current most capacity. In many contexts this gives an efficient and robust tradeoff between the resource and time required to determine the load on each server, and ensuring an equitable distribution of load.

See also

References

  1. Miller, Brad; Goldberg, David (1995). "Genetic Algorithms, Tournament Selection, and the Effects of Noise" (PDF). Complex Systems. 9: 193–212.
  2. Goldberg, David E.; Korb, Bradley; Deb, Kalyanmoy (1989). "Messy Genetic Algorithms: Motivation, Analysis, and First Results" (PDF). Complex Systems. 3 (5): 493–530.
  3. Blickle, Tobias; Thiele, Lothar (December 1996). "A Comparison of Selection Schemes Used in Evolutionary Algorithms". Evolutionary Computation. 4 (4): 361–394. CiteSeerX 10.1.1.15.9584. doi:10.1162/evco.1996.4.4.361.
  4. Miller, edited by Erick Cant-Paz, James A. Foster, Kalyanmoy Deb, Lawrence David Davis, Rajkumar Roy, Una-May OReilly, Hans-Georg Beyer, Russell Standish, Graham Kendall, Stewart Wilson, Mark Harman, Joachim Wegener, Dipankar Dasgupta, Mitch A. Potter, Alan C. Schultz, Kathryn A. Dowsland, Natasha Jonoska, Julian (2003). Genetic and Evolutionary Computation GECCO 2003 00 Genetic and Evolutionary Computation Conference Chicago, IL, USA, July 1216, 2003 Proceedings, Part II. Berlin: Springer-Verlag Berlin Heidelberg. ISBN 978-3-540-45110-5.CS1 maint: extra text: authors list (link)
  5. Goldberg, David; Deb, Kalyanmoy (1991). "A comparative analysis of selection schemes used in genetic algorithms" (PDF). Foundations of Genetic Algorithms: 69–93.
  6. US 9807008, "Linearly scalable algorithm for scheduling tasks across resources, such as cloud infrastructure"
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.