org.jgap.impl
Class ThresholdSelector

java.lang.Object
  extended byorg.jgap.NaturalSelector
      extended byorg.jgap.impl.ThresholdSelector
All Implemented Interfaces:
INaturalSelector

public class ThresholdSelector
extends NaturalSelector

Implementation of a NaturalSelector that plays tournaments to determine the chromosomes to be taken to the next generation.

The tournament size can be adjusted as well as the probability for selecting an individual.

Since:
2.0
Author:
Klaus Meffert

Constructor Summary
ThresholdSelector(double a_bestChromosomes_Percentage)
          Standard constructor
 
Method Summary
 void empty()
          Empty out the working pool of Chromosomes.
 boolean returnsUniqueChromosomes()
           
 void select(int a_howManyToSelect, Population a_from_pop, Population a_to_pop)
          Select a given number of Chromosomes from the pool that will move on to the next generation population.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThresholdSelector

public ThresholdSelector(double a_bestChromosomes_Percentage)
Standard constructor

Parameters:
a_bestChromosomes_Percentage - indicates the number of best chromosomes from the population to be selected for granted. All other chromosomes will be selected in a random fashion.
Since:
2.0
Method Detail

select

public void select(int a_howManyToSelect,
                   Population a_from_pop,
                   Population a_to_pop)
Select a given number of Chromosomes from the pool that will move on to the next generation population. This selection will be guided by the fitness values. The chromosomes with the best fitness value win.

Parameters:
a_howManyToSelect - The number of Chromosomes to select.
a_from_pop - the population the Chromosomes will be selected from.
a_to_pop - the population the Chromosomes will be added to.
Since:
2.0

returnsUniqueChromosomes

public boolean returnsUniqueChromosomes()
Returns:
false as we allow to return the same chromosome multiple times
Since:
2.0

empty

public void empty()
Description copied from interface: INaturalSelector
Empty out the working pool of Chromosomes. This will be invoked after each evolution cycle so that the natural selector can be reused for the next one.