First commit - Seems to pass "all 1's" evolution test

This commit is contained in:
2018-04-13 23:59:20 -07:00
parent 1ee1d3282b
commit 854ad5a1a3
13 changed files with 1231 additions and 0 deletions

41
Breeder.h Normal file
View File

@ -0,0 +1,41 @@
//
#pragma once
//
namespace BitEvolver
{
//
class Breeder
{
//
public:
//
Breeder(std::shared_ptr<class Random> _random);
//
std::shared_ptr<class Chromosome> Breed(
std::shared_ptr<class Chromosome> mama,
std::shared_ptr<class Chromosome> papa,
double crossover_rate,
double mutation_rate
);
//
void Mutate(std::shared_ptr<class Chromosome> chromosome, double mutation_rate);
//
private:
//
std::shared_ptr<class Random> random;
//
int PickRandomCrossoverPoint(std::shared_ptr<class Chromosome> chromosome, double crossover_rate);
void ApplyCrossover(std::shared_ptr<class Chromosome> kiddo, std::shared_ptr<class Chromosome> parent, double crossover_rate);
};
};