| 111 | } |
| 112 | |
| 113 | net::NeuralNet GeneticAlgo::getBestNeuralNetwork(int numberOfGenerations, net::NeuralNet modelNetwork) { |
| 114 | population.clear(); |
| 115 | fitnesses.clear(); |
| 116 | |
| 117 | population.push_back(modelNetwork); |
| 118 | for(unsigned int a = 0; a < populationSize-1; a++) population.push_back(net::NeuralNet(modelNetwork)); |
| 119 | |
| 120 | for(int a = 0; a < numberOfGenerations; a++) { |
| 121 | getPopulationFitness(); |
| 122 | createNextGeneration(); |
| 123 | } |
| 124 | |
| 125 | getPopulationFitness(); |
| 126 | |
| 127 | int mostFitIndex = 0; |
| 128 | for(unsigned int a = 1; a < fitnesses.size(); a++)if(fitnesses[a] > fitnesses[mostFitIndex]) mostFitIndex = a; |
| 129 | return population[mostFitIndex]; |
| 130 | } |
| 131 | |
| 132 | void GeneticAlgo::getPopulationFitness() { |
| 133 | fitnesses = userProvidedGetPopulationFitness(population); |
no test coverage detected