JAGA Homepage

org.jaga.definitions
Interface SelectionAlgorithm

All Known Implementing Classes:
RouletteWheelSelection, TournamentSelection, TwoTournamentProbabalisticSelection

public interface SelectionAlgorithm

Basis for all algorithms which perform selection for reproduction.

Project: JAGA - Java API for Genetic Algorithms.

Company: University College London and JAGA.Org (http://www.jaga.org).

Copyright: (c) 2004 by G. Paperin.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, ONLY if you include a note of the original author(s) in any redistributed/modified copy.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA or see http://www.gnu.org/licenses/gpl.html

Version:
JAGA public release 1.0 beta
Author:
Greg Paperin (greg@jaga.org)

Method Summary
 java.lang.Class getApplicableFitnessClass()
          Gets the Fitness-class handles by this selector.
 Individual select(Population population, int age, GAParameterSet params)
          Selects an individual from the specified population according to the fitness.
 Individual[] select(Population population, int howMany, int age, GAParameterSet params)
          Selects a spacified number of individuals from the population according to their fitness.
 

Method Detail

select

Individual select(Population population,
                  int age,
                  GAParameterSet params)
                  throws java.lang.ClassCastException
Selects an individual from the specified population according to the fitness.

Parameters:
population - The population to select from. All individuals in the population should return a fitness object which is possible to cast to the class returned by getApplicableFitnessClass.
age - The current generation of the population.
params - Experiment parameters.
Returns:
A selected individual.
Throws:
java.lang.ClassCastException - If the population specified contains individuals which return a fitness-object, which cannot be cast to the class returned by getApplicableFitnessClass.

select

Individual[] select(Population population,
                    int howMany,
                    int age,
                    GAParameterSet params)
                    throws java.lang.ClassCastException
Selects a spacified number of individuals from the population according to their fitness.

Parameters:
population - The population to select from. All individuals in the population should return a fitness object which is possible to cast to the class returned by getApplicableFitnessClass.
howMany - The numbetr of individuals to select.
age - The current generation of the population.
params - Experiment parameters.
Returns:
An array of selected individuals.
Throws:
java.lang.ClassCastException - If the population specified contains individuals which return a fitness-object, which cannot be cast to the class returned by getApplicableFitnessClass.

getApplicableFitnessClass

java.lang.Class getApplicableFitnessClass()
Gets the Fitness-class handles by this selector.

Returns:
A class, such that all individuals in the populations passed to the select-methods must have a fitness of that class or its subclass.

JAGA Homepage

Go to JAGA Homepage