genetic_algorithm library

Classes

Chromosome<T>
A Chromosome is the repesentation of one candidate solution, it contain genes represents by T type and had _fitness mesaure the correctiness of the soultion.
Crossover<T>
A Crossover is an operator that share the information (genes) of chromosome based on probability.
DelegateSelection<T>
ElapsedTimeTermination<T>
A ElapsedTimeTermination is condtion that terminate the evolution engine after period of time maxDuration.
EngineSetting<T>
The EngineSetting is the setting of the evolution engine.
EvolutionEngine<T>
An EvolutionEngine is engine that evolve the population to produce the candidate soulution.
EvolutionObserverBase<T>
FitnessEvaluator<T>
A FitnessEvaluator is contract to define how much chromosome's genes is fit.
FitnessEvalutorTask<T>
GenerationCountTermination<T>
A GenerationCountTermination is condtion that terminate the evolution engine after number of generations count.
GenerationEvolutionEngine<T>
A GenerationEvolutionEngine is an engine that create next population by appling the evolutionScheme to the current population.
GeneticOperator<T>
A GeneticOperator is an operator applied to generation to produce a new generation.
Mutation<T>
The Mutation operator is an operator that alter the chromosome data based on probability.
OperatorsPipeline<T>
A holder class apply the list of operators in pipeline squencely to produce new population.
OrderedCrossover<T>
The OrderedCrossover is an operator that modify the positons of chromosomes genes.
PlusSelectionStrategyEngine<T>
A PlusSelectionStrategyEngine is an engine that create next population by select randommly chromosomes from population with size equal to (population size * offspringMultiplier), then evaluted these chromosomes and apply the evolutionScheme to them, in the last added the current population chromosomes to them, sort them and select the sub chromosomes from them in range (0, population size).
Population<T>
A Population is represent the generation of chromosome in evalution proccess.
PopulationData<T>
A PopulationData is the summery of the current generation.
PopulationFactory<T>
A PopulationFactory is contract to detemine how to create initial population chromosomes. by implementing the generateRandomChromosome method.
RankSelection<T>
RouletteWheelSelection<T>
SelectionStrategy<T>
SinglePointCrossover<T>
SinglePointCrossover is an operator that split the parents using swap point and the new chromosome will have the genes before swap point from parent1 and genes after swap point form parent2.
StaginationTermination<T>
StaginationTermination is condition to terminate the evolution engine if there is no enchace notice in the population fitness after reach number of generatons generationLimit.
StringCrossover
StringCrossover is an operator appied to parents with string genes.
StringFactory
StringFactory is population factory used to create random "string" chromosome with length strLength from givien alphabet.
StringMutation
A StringMutation is mutation operator applied to chromosomes with String gene.
SwapMutation<T>
A SwapMutation is mutation operator applied to chromosomes of Iterable genes.
TargetValueTermination<T>
A TargetValueTermination is condtion that terminate the evolution engine after reach specific fitness value.
TerminationCondition<T>
TerminationCondition is condition that tell the evolution engine to stop evolving when it is met base on the data of the current population.
TournamentSelection<T>
TowPointCrossover<T>
similer to SinglePointCrossover but is use to swap points. and the genes before swap point 1 and after swap point 2 will be came from parent 2 other genes will be came from parent 1.
UniformCrossover<T>
UniformCrossover is an operator generate the new chromosome form it parents.
UniformMutation<T>
A UniformMutation is mutation operator applied to chromosomes of Iterable genes.
UserCancelTermination<T>
A UserCancelTermination is condtion for graphic program to terminate the evolution engine when the user trigger action (like press button).

Typedefs

EvolutionObserver<T> = void Function(PopulationData<T> data)
An EvolutionObserver is a method that tarck the proccess of the evolution by recive a data represent summery of current generation.