public GeneticAlgorithm( RandomWeightsGenerator randomWeightsGenerator, TrainingSpecification trainingSpecification, NeuralNetworkSpecification neuralNetworkSpecification) { this.randomWeightsGenerator = randomWeightsGenerator; this.trainingSpecification = trainingSpecification; this.neuralNetworkSpecification = neuralNetworkSpecification; topToKeepCount = (int)(trainingSpecification.PopulationSize * trainingSpecification.TopFractionToKeep); childrenToGenerateCount = (int)(trainingSpecification.PopulationSize * trainingSpecification.ChildrenFractionToGenerate); }
private static GeneticAlgorithm CreateGeneticAlgorithm(NeuralNetworkSpecification neuralNetworkSpecification, TrainingSpecification trainingSpecification) { var randomWeightsGenerator = new RandomWeightsGenerator(neuralNetworkSpecification); return(new GeneticAlgorithm(randomWeightsGenerator, trainingSpecification, neuralNetworkSpecification)); }