template<typename OrganismType, typename LandscapeType>
class libevocosm::reporter< OrganismType, LandscapeType >
A reporter can be many things; essentially, after fitness testing, the standard evocosm implementation calls a reporter to display information about the population and to find out if the population has reached some "final" or "finished" state.
- Parameters
-
| OrganismType | - The type of organism |
template<typename OrganismType, typename LandscapeType>
| virtual bool libevocosm::reporter< OrganismType, LandscapeType >::report |
( |
const vector< vector< OrganismType > > & |
a_population, |
|
|
size_t |
a_iteration, |
|
|
double & |
a_fitness, |
|
|
bool |
a_finished = false |
|
) |
| |
|
pure virtual |
The report method can do almost anything. In most case, it will display the "best" chromosome, draw a progress graph, or notify the user that another generation has passed. The return value tells an evocosm whether to continue evolution (changes in the population) or not.
- Parameters
-
| a_population | - A population of organisms |
| a_iteration | - Iteration count for this report |
| a_fitness | - Assigned the fitness value; implementation-defined |
| a_finished | - When true, indicates that this is the last report for a given run |
- Returns
- true if the evocosm should evolve the population more; false if no evolution is required.