org.apache.commons.math3.genetics

## Class TournamentSelection

- java.lang.Object
- - org.apache.commons.math3.genetics.TournamentSelection

- All Implemented Interfaces:
    SelectionPolicy

      public class TournamentSelection
      extends Object
      implements SelectionPolicy

  Tournament selection scheme. Each of the two selected chromosomes is selected based on n-ary tournament -- this is done by drawing `arity` random chromosomes without replacement from the population, and then selecting the fittest chromosome among them.
  Since:
    2.0
  Version:
    $Id: TournamentSelection.java 1244107 2012-02-14 16:17:55Z erans $

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TournamentSelection(int arity)` Creates a new TournamentSelection instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getArity()` Gets the arity (number of chromosomes drawn to the tournament).
    `ChromosomePair` | `select(Population population)` Select two chromosomes from the population.
    `void` | `setArity(int arity)` Sets the arity (number of chromosomes drawn to the tournament).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TournamentSelection

          public TournamentSelection(int arity)

      Creates a new TournamentSelection instance.
      Parameters:
        `arity` - how many chromosomes will be drawn to the tournament

  - ### Method Detail

    - #### select

          public ChromosomePair select(Population population)

      Select two chromosomes from the population. Each of the two selected chromosomes is selected based on n-ary tournament -- this is done by drawing `arity` random chromosomes without replacement from the population, and then selecting the fittest chromosome among them.
      Specified by:
        `select` in interface `SelectionPolicy`
      Parameters:
        `population` - the population from which the chromosomes are choosen.
      Returns:
        the selected chromosomes.

    - #### getArity

          public int getArity()

      Gets the arity (number of chromosomes drawn to the tournament).
      Returns:
        arity of the tournament

    - #### setArity

          public void setArity(int arity)

      Sets the arity (number of chromosomes drawn to the tournament).
      Parameters:
        `arity` - arity of the tournament

Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.