void refresh(const E& ea) { _archive.clear(); _xs = ea.archive().shape()[0]; _ys = ea.archive().shape()[1]; assert(_xs == Params::ea::res_x); assert(_ys == Params::ea::res_y); for (size_t i = 0; i < _xs; ++i) for (size_t j = 0; j < _ys; ++j) { phen_t p = ea.archive()[i][j]; _archive.push_back(p); } // Report current generation every 10 generations if (ea.gen() % 10 == 0) { std::cout << "gen.. " << ea.gen() << std::endl; } if (ea.gen() % Params::pop::dump_period == 0) { _write_archive(ea.archive(), ea.parents(), std::string("archive_"), ea, ea.gen()); #ifdef MAP_WRITE_PARENTS _write_parents(ea.archive(), ea.parents(), std::string("parents_"), ea); #endif } }
void refresh(const E& ea) { this->_create_log_file(ea, "average_fitness.dat"); // _avg_fitness.clear(); _archive.clear(); _xs = ea.archive().shape()[0]; _ys = ea.archive().shape()[1]; assert(_xs == Params::ea::res_x); assert(_ys == Params::ea::res_y); for (size_t i = 0; i < _xs; ++i) for (size_t j = 0; j < _ys; ++j) { phen_t p = ea.archive()[i][j]; _archive.push_back(p); } writetofile(ea.archive(),ea,this->_log_file); if (ea.gen() % Params::pop::dump_period == 0) { _write_archive(ea.archive(), std::string("archive_"), ea); #ifdef MAP_WRITE_PARENTS _write_parents(ea.archive(), ea.parents(), std::string("parents_"), ea); #endif } }
void refresh(const E& ea) { _archive.clear(); for(size_t i = 0; i < behav_dim; ++i) { assert(ea.archive().shape()[i] == behav_shape[i]); behav_strides[i] = ea.archive().strides()[i]; behav_indexbase[i] = ea.archive().index_bases()[i]; } for(const phen_t* i = ea.archive().data(); i < (ea.archive().data() + ea.archive().num_elements()); ++i) { phen_t p = *i; _archive.push_back(p); } this->_create_log_file(ea, "progress_archive.dat"); _write_progress(ea, *this->_log_file); if (ea.gen() % Params::pop::dump_period == 0) { _write_archive(ea.archive(), std::string("archive_"), ea); #ifdef MAP_WRITE_PARENTS _write_parents(ea.archive(), ea.parents(), std::string("parents_"), ea); #endif } }