コード例 #1
0
        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);
        }
コード例 #2
0
 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;
 }
コード例 #3
0
        private static GeneticAlgorithm CreateGeneticAlgorithm(NeuralNetworkSpecification neuralNetworkSpecification, TrainingSpecification trainingSpecification)
        {
            var randomWeightsGenerator = new RandomWeightsGenerator(neuralNetworkSpecification);

            return(new GeneticAlgorithm(randomWeightsGenerator, trainingSpecification, neuralNetworkSpecification));
        }