4 #include "NeuralNetConfig.h"
19 Genome(
const int numberOfGenes,
const bool setInitialRandomValues=
true);
20 Genome(
const std::vector<double> &chromosome);
21 Genome(
const std::vector<double> &chromosome,
const double fitness);
23 double fitness()
const {
return _fitness;}
24 void setFitness(
double fitness) {_fitness = fitness;}
25 std::vector<double> chromosome()
const {
return _chromosome;}
26 void setChromosome(
const std::vector<double> &newChromosome);
28 int numberOfGenes() {
return _numberOfGenes;}
32 void mutate(
Genome &theGenome);
35 std::vector<double> _chromosome;
45 {
return lhs.fitness() < rhs.fitness();}
51 {
return lhs.fitness() > rhs.fitness();}
57 {
return lhs.chromosome() == rhs.chromosome();}
60 static double MutationRate;
61 static double CrossoverRate;
62 static double MaxMutationPerturbation;