Package org.biojavax.ga.functions
GA functions
A genetic algorithm requires a number of functions. This package provides the interfaces for those functions and simple implementations. By implementing, mixing and matching these functions you can create highly customized genetic algorithms.
A GA requires (in alphabetical order): a CrossOverFunction
to govern the behaivour of 'chromosome' crossovers, a FitnessFunction
to determine the fitness of each organism after each iteration, a
MutationFuntion
to govern mutation behaivour, and a SelectionFunction
to select organisms for the next round of replication.
-
Interface Summary Interface Description CrossOverFunction Crosses two chromosomes.FitnessFunction Calculates the fitness of anOrganism
in aPopulation
ofOrganisms
GACross Holds the results of a CrossOver event, objects of this type are made byCrossOverFunctions
GACrossResult Holds the results of a CrossOver event, objects of this type are made byCrossOverFunctions
MutationFunction A class that mutates aSymbolList
SelectionFunction Selects Organisms for Replication and returns the offspring. -
Class Summary Class Description AbstractCrossOverFunction Abstract implementation ofCrossOverFunction
.AbstractMutationFunction Abstract implementation ofMutationFunction
all custom implementations should inherit from here.CrossOverFunction.NoCross A place holder CrossOverFunction that doesn't perform cross oversMutationFunction.NoMutation Place Holder class that doesn't mutate its SymbolListsOrderCrossover This does a 2-point-crossover on two chromosomes keeping the Symbols in each chromosome constant.ProportionalSelection A Selection function that determines the proportion of individuals in a new population proportionally to their fitness.SelectionFunction.SelectAll SelectionFunction.Threshold Selects individuals who's fitness exceeds a threshold value.SimpleCrossOverFunction Simple Implementation of theCrossOverFunction
interfaceSimpleGACrossResult Simple implementation of theGACross
interface.SimpleMutationFunction Simple no frills Implementation of the MutationFunction interfaceSwapMutationFunction This class does a sort of mutation by exchanging two positions on the chromosome.TournamentSelection Tournament Selection chooses the best organisms from n random subsets of a given population.