Class AdaptiveGeneticAlgorithm<T, TInput, TOutput>
public class AdaptiveGeneticAlgorithm<T, TInput, TOutput> : StandardGeneticAlgorithm<T, TInput, TOutput>, IGeneticAlgorithm<T, TInput, TOutput, ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>, ModelParameterGene<T>>
Type Parameters
TTInputTOutput
- Inheritance
-
GeneticBase<T, TInput, TOutput>StandardGeneticAlgorithm<T, TInput, TOutput>AdaptiveGeneticAlgorithm<T, TInput, TOutput>
- Implements
-
IGeneticAlgorithm<T, TInput, TOutput, ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>, ModelParameterGene<T>>
- Inherited Members
Constructors
AdaptiveGeneticAlgorithm(Func<IFullModel<T, TInput, TOutput>>, IFitnessCalculator<T, TInput, TOutput>, IModelEvaluator<T, TInput, TOutput>, double, double, double, double)
public AdaptiveGeneticAlgorithm(Func<IFullModel<T, TInput, TOutput>> modelFactory, IFitnessCalculator<T, TInput, TOutput> fitnessCalculator, IModelEvaluator<T, TInput, TOutput> modelEvaluator, double minMutationRate = 0.001, double maxMutationRate = 0.5, double minCrossoverRate = 0.4, double maxCrossoverRate = 0.95)
Parameters
modelFactoryFunc<IFullModel<T, TInput, TOutput>>fitnessCalculatorIFitnessCalculator<T, TInput, TOutput>modelEvaluatorIModelEvaluator<T, TInput, TOutput>minMutationRatedoublemaxMutationRatedoubleminCrossoverRatedoublemaxCrossoverRatedouble
Methods
Evolve(int, TInput, TOutput, TInput?, TOutput?, Func<EvolutionStats<T, TInput, TOutput>, bool>?)
Evolves the population for a specified number of generations.
public override EvolutionStats<T, TInput, TOutput> Evolve(int generations, TInput trainingInput, TOutput trainingOutput, TInput? validationInput = default, TOutput? validationOutput = default, Func<EvolutionStats<T, TInput, TOutput>, bool>? stopCriteria = null)
Parameters
generationsintThe number of generations to evolve.
trainingInputTInputThe input training data used for fitness evaluation.
trainingOutputTOutputThe expected output for training used for fitness evaluation.
validationInputTInputOptional validation input data.
validationOutputTOutputOptional validation output data.
stopCriteriaFunc<EvolutionStats<T, TInput, TOutput>, bool>Optional function that determines when to stop evolution.
Returns
- EvolutionStats<T, TInput, TOutput>
Statistics about the evolutionary process.
GetMetaData()
Gets the metadata for the model.
public override ModelMetadata<T> GetMetaData()
Returns
- ModelMetadata<T>
The model metadata.
UpdateEvolutionStats()
Updates the evolution statistics based on the current population.
protected override void UpdateEvolutionStats()