Fix Copy constructor.
[genetic.git] / src / main.cpp
index 8d1c8b69c3fce7bea45c73efd06983e3c419a92f..60ea330e26472e87d88fab8058eeaff5d3df8d59 100644 (file)
@@ -1 +1,41 @@
+#include <iostream>
+#include <vector>
+
+#include <cstdlib>
+
+#include "gene.h"
+#include "chromosome.h"
+
+#include "fitness/wsti.h"
+
+using namespace std;
+using namespace genetic;
+
+int main() {
+    typedef Gene<int> _Gene;
+    typedef Chromosome<_Gene> _Chromosome;
+
+    time_t t;
+    srand((unsigned)time(&t));
+
+    vector<_Gene> genes;
+
+    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);
+
+    cout << "Entire chromosome: ";
+    for (unsigned int i = 0; i < chromosome.get().size(); i++) {
+        cout << chromosome.get()[i].get();
+    }
+    cout << endl;
+    WSTI<_Chromosome> fitness(chromosome, 0.5, 2.5);
+
+    cout << "Fitness is equal to: " << fitness.calculate() << "\n";
+
+    return 0;
+}