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); }
public AiTrainingFramework( NeuralNetworkSpecification neuralNetworkSpecification, GeneticAlgorithm geneticAlgorithm, Vector2 trainingTextPosition, Color trainingTextColor, Func <int, NeuralNetwork, TController> createController) { this.neuralNetworkSpecification = neuralNetworkSpecification; this.geneticAlgorithm = geneticAlgorithm; this.trainingTextPosition = trainingTextPosition; this.trainingTextColor = trainingTextColor; this.createController = createController; currentGeneration = 0; }
private static GeneticAlgorithm CreateGeneticAlgorithm(NeuralNetworkSpecification neuralNetworkSpecification, TrainingSpecification trainingSpecification) { var randomWeightsGenerator = new RandomWeightsGenerator(neuralNetworkSpecification); return(new GeneticAlgorithm(randomWeightsGenerator, trainingSpecification, neuralNetworkSpecification)); }