Package org.biojavax.ga
Interface GeneticAlgorithm
-
- All Superinterfaces:
Changeable
- All Known Implementing Classes:
AbstractGeneticAlgorithm
,SimpleGeneticAlgorithm
public interface GeneticAlgorithm extends Changeable
The class that runs the cycles of reproduction, evolution and selection, potentially on multiplePopulation
s- Since:
- 1.5
- Version:
- 1.1
- Author:
- Mark Schreiber, Susanne Merz, Andreas Dräger
-
-
Field Summary
Fields Modifier and Type Field Description static ChangeType
CROSS_OVER_FUNCTION
static ChangeType
FITNESS_FUNCTION
static ChangeType
FUNCTION
static ChangeType
MUTATION_FUNCTION
static ChangeType
POPULATION
static ChangeType
SELECTION_FUNCTION
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CrossOverFunction
getCrossOverFunction()
FitnessFunction
getFitnessFunction()
Returns the fitness function, i.e. the class that computes the fitness of each organism in a population.int
getGeneration()
MutationFunction
getMutationFunction()
Population
getPopulation()
The registeredPopulation
SelectionFunction
getSelectionFunction()
void
run(GAStoppingCriteria stoppingCriteria)
Iterates the Algorithm until the stopping criteria are met.void
setCrossOverFunction(CrossOverFunction function)
Changes theCrossOverFunction
used to CrossOver Chromosomesvoid
setFitnessFunction(FitnessFunction func)
The fitness function that will be used to compute the fitness of each organism.void
setMutationFunction(MutationFunction function)
Sets the currentMutationFunction
void
setPopulation(Population pop)
Sets thePopulation
ofOrganisms
to the Algorithm.void
setSelectionFunction(SelectionFunction function)
Changes theSelectionFunction
used to select candidates for the next generation-
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
-
-
-
-
Field Detail
-
FITNESS_FUNCTION
static final ChangeType FITNESS_FUNCTION
-
POPULATION
static final ChangeType POPULATION
-
FUNCTION
static final ChangeType FUNCTION
-
CROSS_OVER_FUNCTION
static final ChangeType CROSS_OVER_FUNCTION
-
MUTATION_FUNCTION
static final ChangeType MUTATION_FUNCTION
-
SELECTION_FUNCTION
static final ChangeType SELECTION_FUNCTION
-
-
Method Detail
-
setFitnessFunction
void setFitnessFunction(FitnessFunction func) throws ChangeVetoException
The fitness function that will be used to compute the fitness of each organism.- Parameters:
func
- theFitnessFunction
to be used- Throws:
ChangeVetoException
- if the change is vetoed.
-
getFitnessFunction
FitnessFunction getFitnessFunction()
Returns the fitness function, i.e. the class that computes the fitness of each organism in a population.- Returns:
- the fitness function
-
setPopulation
void setPopulation(Population pop) throws ChangeVetoException
Sets thePopulation
ofOrganisms
to the Algorithm.- Parameters:
pop
- the population to add.- Throws:
ChangeVetoException
- if new populations are not allowed.
-
getPopulation
Population getPopulation()
The registeredPopulation
- Returns:
- the
Population
being operated on.
-
setSelectionFunction
void setSelectionFunction(SelectionFunction function) throws ChangeVetoException
Changes theSelectionFunction
used to select candidates for the next generation- Parameters:
function
- aSelectionFunction
- Throws:
ChangeVetoException
- if theSelectionFunction
is not allowed to be changed
-
getSelectionFunction
SelectionFunction getSelectionFunction()
- Returns:
- the current
SelectionFunction
-
setCrossOverFunction
void setCrossOverFunction(CrossOverFunction function) throws ChangeVetoException
Changes theCrossOverFunction
used to CrossOver Chromosomes- Parameters:
function
- aCrossOverFunction
- Throws:
ChangeVetoException
- if theCrossOverFunction
is not allowed to be changed
-
getCrossOverFunction
CrossOverFunction getCrossOverFunction()
- Returns:
- the current CrossOverFunction
-
setMutationFunction
void setMutationFunction(MutationFunction function) throws ChangeVetoException
Sets the currentMutationFunction
- Parameters:
function
- aMutationFunction
- Throws:
ChangeVetoException
- if theMutationFunction
change is Vetoed by a listener.
-
getMutationFunction
MutationFunction getMutationFunction()
- Returns:
- the current
MutationFunction
-
getGeneration
int getGeneration()
- Returns:
- the Current generation number
-
run
void run(GAStoppingCriteria stoppingCriteria) throws ChangeVetoException, IllegalAlphabetException, IllegalSymbolException
Iterates the Algorithm until the stopping criteria are met. For saftey implementations should synchronize on this method.- Parameters:
stoppingCriteria
- determines when to stop.- Throws:
ChangeVetoException
- if the Population being modified is lockedIllegalAlphabetException
- if the MutationFunction chosen attempts to modify a Symbol from one of the Chromosomes to a Symbol outside of its Alphabet.IllegalSymbolException
- if the MutationFunction chosen is using the wrong Alphabet.
-
-