Table of Contents

Class AdaptiveGeneticAlgorithm<T, TInput, TOutput>

Namespace
AiDotNet.Genetics
Assembly
AiDotNet.dll
public class AdaptiveGeneticAlgorithm<T, TInput, TOutput> : StandardGeneticAlgorithm<T, TInput, TOutput>, IGeneticAlgorithm<T, TInput, TOutput, ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>, ModelParameterGene<T>>

Type Parameters

T
TInput
TOutput
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

modelFactory Func<IFullModel<T, TInput, TOutput>>
fitnessCalculator IFitnessCalculator<T, TInput, TOutput>
modelEvaluator IModelEvaluator<T, TInput, TOutput>
minMutationRate double
maxMutationRate double
minCrossoverRate double
maxCrossoverRate double

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

generations int

The number of generations to evolve.

trainingInput TInput

The input training data used for fitness evaluation.

trainingOutput TOutput

The expected output for training used for fitness evaluation.

validationInput TInput

Optional validation input data.

validationOutput TOutput

Optional validation output data.

stopCriteria Func<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()