Remove whitespaces.
[genetic.git] / src / main.cpp
index 958c2410403fe2017250815208a807a0179e0875..3eaea51ec48c0466111e9ab5def86ed621819844 100644 (file)
@@ -1,10 +1,10 @@
 #include <iostream>
 #include <vector>
 
-#include <cstdlib>
-
 #include "gene.h"
 #include "chromosome.h"
+#include "generation.h"
+#include "generator/generation.h"
 
 #include "fitness/wsti.h"
 
@@ -15,27 +15,17 @@ int main() {
     typedef Gene<int> _Gene;
     typedef Chromosome<_Gene> _Chromosome;
 
-    time_t t;
-    srand((unsigned)time(&t));
-
-    vector<_Gene> genes;
+    const int chromosomeSize = 11;
+    const int generationSize = 20;
 
-    for (int i = 0; i < 20; i++) {
-        _Gene gene(rand() % 2);
-        cout << "Generated gene: " << (int)gene.get() << "\n";
-        genes.push_back(gene);
-    }
+    generator::Generation<_Chromosome> generationGenerator(generationSize, chromosomeSize);
+    Generation<_Chromosome> generation = generationGenerator.breed();
 
-    _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 (int i = 0; i < 20; 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: " << (double)fitness.calculate() << "\n";
 
     return 0;
 }