org.apache.commons.math.genetics
Class TournamentSelection

java.lang.Object
  extended by org.apache.commons.math.genetics.TournamentSelection
All Implemented Interfaces:
SelectionPolicy

public class TournamentSelection
extends java.lang.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:
$Revision: 811685 $ $Date: 2009-09-05 13:36:48 -0400 (Sat, 05 Sep 2009) $

Field Summary
private  int arity
          number of chromosomes included in the tournament selections
 
Constructor Summary
TournamentSelection(int arity)
          Creates a new TournamentSelection instance.
 
Method Summary
 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).
private  Chromosome tournament(ListPopulation population)
          Helper for select(Population).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

arity

private int arity
number of chromosomes included in the tournament selections

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.

tournament

private Chromosome tournament(ListPopulation population)
Helper for select(Population). Draw arity random chromosomes without replacement from the population, and then select the fittest chromosome among them.

Parameters:
population - the population from which the chromosomes are choosen.
Returns:
the selected chromosome.

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 (c) 2003-2012 Apache Software Foundation