#include "gene.h"
#include "chromosome.h"
+#include "generation.h"
+#include "generator/generation.h"
#include "fitness/wsti.h"
int main() {
typedef Gene<int> _Gene;
typedef Chromosome<_Gene> _Chromosome;
+
+ const int chromosomeSize = 11;
+ const int generationSize = 20;
time_t t;
srand((unsigned)time(&t));
- vector<_Gene> genes;
+ generator::Generation<_Chromosome> generationGenerator(generationSize, chromosomeSize);
+ Generation<_Chromosome> generation = generationGenerator.breed();
- for (int i = 0; i < 11; i++) {
- _Gene gene(rand() % 2);
- cout << "Generated gene: " << (int)gene.get() << "\n";
- genes.push_back(gene);
- }
-
- _Chromosome chromosome(genes);
+ for (unsigned int i = 0; i < generationSize; i++) {
+ WSTI<_Chromosome> fitness(generation.get()[i], 0.5, 2.5);
- cout << "Entire chromosome: ";
- for (unsigned int i = 0; i < chromosome.get().size(); i++) {
- cout << chromosome.get()[i].get();
+ cout << "Fitness is equal to: " << fitness.calculate() << "\n";
}
- cout << endl;
- WSTI<_Chromosome> fitness(chromosome, 0.5, 2.5);
-
- cout << "Fitness is equal to: " << fitness.calculate() << "\n";
return 0;
}