diff --git a/src/GeneticSimulation.cpp b/src/GeneticSimulation.cpp index 25e13c8..4ab154c 100644 --- a/src/GeneticSimulation.cpp +++ b/src/GeneticSimulation.cpp @@ -1,17 +1,13 @@ #include #include - +#include #include "GeneticSimulation.hpp" #include "Game.hpp" #include "Specimen.hpp" void GeneticSimulation::simulate(){ - std::cout << dist(gen) << std::endl; - - for(int i = 0; i < numSpecimen; i++){ - Heuristic h1, h2; for(int j = 0; j < Heuristic::numFeatures; j++){ h1.set(j, dist(gen)); @@ -26,17 +22,19 @@ void GeneticSimulation::simulate(){ int cntBlack=0, cntWhite=0, cntTies=0; int cntTieBlack=0, cntTieWhite=0; - while(population.size() > 1){ + while(population.size() > numSpecimen/5){ Specimen a = population.front(); population.pop(); Specimen b = population.front(); population.pop(); + Game game1(a, b); Game game2(b, a); int winner = 0; - game1.play(&winner); + + std::thread t1(game1.play,&winner); if(winner == 0){ game2.play(&winner); @@ -56,7 +54,7 @@ void GeneticSimulation::simulate(){ cntBlack++; } else if(winner == 2){ - population.push(a); + population.push(b); cntWhite++; } else cntTies++;