5 #include "chromosome.h"
6 #include "generation.h"
7 #include "generator/generation.h"
9 #include "selection/roulette.h"
11 #include "fitness/wsti.h"
14 using namespace genetic;
17 typedef Gene<int> _Gene;
18 typedef Chromosome<_Gene> _Chromosome;
20 const int chromosomeSize = 11;
21 const int generationSize = 20;
22 WSTI<_Chromosome> fitness(0.5, 2.5);
24 generator::Generation<_Chromosome> generationGenerator(generationSize, chromosomeSize);
25 Generation<_Chromosome> generation = generationGenerator.breed();
27 cout << "Generation:\n";
28 for (unsigned int i = 0; i < generation.get().size(); i++) {
30 for (unsigned int j = 0; j < generation.get()[i].get().size(); j++) {
31 cout << generation.get()[i].get()[j].get();
36 Roulette<_Chromosome> roulette(generation, fitness);
37 Generation<_Chromosome> newGeneration = roulette.draw();
39 cout << "New Generation:\n";
40 for (unsigned int i = 0; i < newGeneration.get().size(); i++) {
42 for (unsigned int j = 0; j < newGeneration.get()[i].get().size(); j++) {
43 cout << newGeneration.get()[i].get()[j].get();