Fix Copy constructor.
[genetic.git] / src / main.cpp
1 #include <iostream>
2 #include <vector>
3
4 #include <cstdlib>
5
6 #include "gene.h"
7 #include "chromosome.h"
8
9 #include "fitness/wsti.h"
10
11 using namespace std;
12 using namespace genetic;
13
14 int main() {
15     typedef Gene<int> _Gene;
16     typedef Chromosome<_Gene> _Chromosome;
17
18     time_t t;
19     srand((unsigned)time(&t));
20
21     vector<_Gene> genes;
22
23     for (int i = 0; i < 11; i++) {
24         _Gene gene(rand() % 2);
25         cout << "Generated gene: " << (int)gene.get() << "\n";
26         genes.push_back(gene);
27     }
28
29     _Chromosome chromosome(genes);
30
31     cout << "Entire chromosome: ";
32     for (unsigned int i = 0; i < chromosome.get().size(); i++) {
33         cout << chromosome.get()[i].get();
34     }
35     cout << endl;
36     WSTI<_Chromosome> fitness(chromosome, 0.5, 2.5);
37
38     cout << "Fitness is equal to: " << fitness.calculate() << "\n";
39
40     return 0;
41 }