8 #ifndef CSCNEURALNETWORKGENETICALGORITHMGENERATIONGENERATOR_H_
9 #define CSCNEURALNETWORKGENETICALGORITHMGENERATIONGENERATOR_H_
42 vector<CscNeuralNetworkGeneticAlgorithmIndividualGenerator::HyperparametersIndividual *> *getPopulation()
const;
43 void setPopulation(vector<CscNeuralNetworkGeneticAlgorithmIndividualGenerator::HyperparametersIndividual *> *newPopulation);
44 const unsigned getPopulationSize()
const;
49 const unsigned populationSize;
50 vector<CscNeuralNetworkGeneticAlgorithmIndividualGenerator::HyperparametersIndividual *> *population =
new vector<CscNeuralNetworkGeneticAlgorithmIndividualGenerator::HyperparametersIndividual *>({});
61 const unsigned getPopulationSize()
const;
62 const unsigned getCopyPercentOfChance()
const;
63 const unsigned getCrossoverPercentOfChance()
const;
64 const unsigned getMutationPercentOfChance()
const;
86 void sortCurrentGenerationByResult();
88 void fillCurrentGenerationRandomly();
89 void fillNewCurrentGeneration(
unsigned nthGeneration);
91 void printResultsGenerationCreation();
95 unique_ptr<CscLogger>
logger;
99 const unsigned populationSize;
100 const unsigned copyPercentOfChance;
101 const unsigned crossoverPercentOfChance;
102 const unsigned mutationPercentOfChance;
105 CscGeneticOperator drawGeneticOperatorByLot(
const unsigned copyPercentOfChance,
const unsigned crossoverPercentOfChance,
const unsigned mutationPercentOfChance);