Class SteadyStateGeneticAlgorithm<T, TInput, TOutput>
public class SteadyStateGeneticAlgorithm<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>SteadyStateGeneticAlgorithm<T, TInput, TOutput>
- Implements
-
IGeneticAlgorithm<T, TInput, TOutput, ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>, ModelParameterGene<T>>
- Inherited Members
Constructors
SteadyStateGeneticAlgorithm(Func<IFullModel<T, TInput, TOutput>>, IFitnessCalculator<T, TInput, TOutput>, IModelEvaluator<T, TInput, TOutput>, double)
public SteadyStateGeneticAlgorithm(Func<IFullModel<T, TInput, TOutput>> modelFactory, IFitnessCalculator<T, TInput, TOutput> fitnessCalculator, IModelEvaluator<T, TInput, TOutput> modelEvaluator, double replacementRate = 0.1)
Parameters
modelFactoryFunc<IFullModel<T, TInput, TOutput>>fitnessCalculatorIFitnessCalculator<T, TInput, TOutput>modelEvaluatorIModelEvaluator<T, TInput, TOutput>replacementRatedouble
Methods
CreateNextGeneration(TInput, TOutput, TInput?, TOutput?)
Creates the next generation of individuals through selection, crossover, and mutation.
protected override ICollection<ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>> CreateNextGeneration(TInput trainingInput, TOutput trainingOutput, TInput? validationInput = default, TOutput? validationOutput = default)
Parameters
trainingInputTInputThe input training data.
trainingOutputTOutputThe expected output for training.
validationInputTInputOptional validation input data.
validationOutputTOutputOptional validation output data.
Returns
- ICollection<ModelIndividual<T, TInput, TOutput, ModelParameterGene<T>>>
The new population.
GetMetaData()
Gets the metadata for the model.
public override ModelMetadata<T> GetMetaData()
Returns
- ModelMetadata<T>
The model metadata.