Exemple #1
0
			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
				}
			}
Exemple #2
0
        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
	  }
      }
Exemple #3
0
      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
        }
      }