X-Git-Url: https://git.dlugolecki.net.pl/?p=genetic.git;a=blobdiff_plain;f=include%2Falgorithm.h;h=54f51fbda8574d1b12b78db5ee2bbb427d017270;hp=cb6acf3cf30a9fbf8227748355e215d4608785d8;hb=0c268e96035b65112e449c1c0df49f2be3eb184f;hpb=917440678dc4e920dfd5810da1274665acb17138 diff --git a/include/algorithm.h b/include/algorithm.h index cb6acf3..54f51fb 100644 --- a/include/algorithm.h +++ b/include/algorithm.h @@ -79,7 +79,7 @@ namespace genetic { */ Algorithm( generator::Generator<_Chromosome>& _generator, - _Fitness& _fitness, + _Fitness& _fitness, float crossoverChance, float mutationChance) : generator(_generator), @@ -119,8 +119,8 @@ namespace genetic { * \attention Method is currently not in use. */ void showGeneration() { - unsigned int generationSize = this->generation.size(); - unsigned int chromosomeSize = this->generation[0].size(); + const unsigned int generationSize = this->generation.size(); + const unsigned int chromosomeSize = this->generation[0].size(); for (unsigned int i = 0; i < generationSize; i++) { cout << "# " << i << ") "; @@ -136,11 +136,12 @@ namespace genetic { */ void showAvgFitness() { float avg = 0; - unsigned int generationSize = this->generation.size(); + const unsigned int generationSize = this->generation.size(); + std::map arguments = fitness.getArguments(); for (unsigned int i = 0; i < generationSize; i++) { _Fitness fit(this->generation[i]); - fit.parseArguments(fitness.getArguments()); + fit.parseArguments(arguments); avg += fit.calculate(); } cout << " " << avg / generationSize; @@ -151,18 +152,19 @@ namespace genetic { */ void showBestFitness() { float best = -100000; - unsigned int generationSize = this->generation.size(); + const unsigned int generationSize = this->generation.size(); + std::map arguments = fitness.getArguments(); for (unsigned int i = 0; i < generationSize; i++) { _Fitness fit(this->generation[i]); - fit.parseArguments(fitness.getArguments()); + fit.parseArguments(arguments); float tmp = fit.calculate(); if (tmp > best) { best = tmp; } } - cout << " " << best << endl; + cout << " " << best << "\n"; } }; }