// #pragma once // namespace BitEvolver { // class Breeder { // public: // Breeder(std::shared_ptr _random); // std::shared_ptr Breed( std::shared_ptr mama, std::shared_ptr papa, double crossover_rate, double mutation_rate ); // void Mutate(std::shared_ptr chromosome, double mutation_rate); // private: // std::shared_ptr random; // int PickRandomCrossoverPoint(std::shared_ptr chromosome, double crossover_rate); void ApplyCrossover(std::shared_ptr kiddo, std::shared_ptr parent, double crossover_rate); }; };