#include "generation.h"
#include "generator/generation.h"
+#include "selection/roulette.h"
+
#include "fitness/wsti.h"
using namespace std;
const int chromosomeSize = 11;
const int generationSize = 20;
+ WSTI<_Chromosome> fitness(0.5, 2.5);
generator::Generation<_Chromosome> generationGenerator(generationSize, chromosomeSize);
Generation<_Chromosome> generation = generationGenerator.breed();
- for (unsigned int i = 0; i < generationSize; i++) {
- WSTI<_Chromosome> fitness(generation.get()[i], 0.5, 2.5);
+ cout << "Generation:\n";
+ for (unsigned int i = 0; i < generation.get().size(); i++) {
+ cout << "# ";
+ for (unsigned int j = 0; j < generation.get()[i].get().size(); j++) {
+ cout << generation.get()[i].get()[j].get();
+ }
+ cout << "\n";
+ }
+
+ Roulette<_Chromosome> roulette(generation, fitness);
+ Generation<_Chromosome> newGeneration = roulette.draw();
- cout << "Fitness is equal to: " << fitness.calculate() << "\n";
+ cout << "New Generation:\n";
+ for (unsigned int i = 0; i < newGeneration.get().size(); i++) {
+ cout << "# ";
+ for (unsigned int j = 0; j < newGeneration.get()[i].get().size(); j++) {
+ cout << newGeneration.get()[i].get()[j].get();
+ }
+ cout << "\n";
}
return 0;