Fix Copy constructor.
[genetic.git] / src / main.cpp
index 8d30c3b94171b1584aa6653076714349e3e2e3bb..60ea330e26472e87d88fab8058eeaff5d3df8d59 100644 (file)
@@ -6,23 +6,36 @@
 #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 < 20; i++) {
-        _Gene gene(rand() % 255);
-        cout << "Generated gene: " << gene.get() << "\n";
+    for (int i = 0; i < 11; i++) {
+        _Gene gene(rand() % 2);
+        cout << "Generated gene: " << (int)gene.get() << "\n";
         genes.push_back(gene);
     }
-    Chromosome<_Gene> chromosome(genes);
+
+    _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;
 }