#include <GenerationalEvolution.h>
Inheritance diagram for Teem::GenerationalEvolutionRun:

It is overloaded by specific algorithms.
Public Member Functions | |
| GenerationalEvolutionRun () | |
| Constuctor. | |
| virtual | ~GenerationalEvolutionRun () |
| Destructor. | |
| virtual void | createGenotypeDecoders (Setupable *experiment)=0 |
| Create the necessary genotype decoders. | |
| virtual void | createRandomPopulation () |
| Create a population of random genomes, using the genotype decoder By default, use the first decoder to create the population. | |
| virtual bool | loadPopulation (Experiment *experiment) |
| Load a population from a filestream. | |
| virtual bool | loadPopulation (Experiment *experiment, const char *generation) |
| Load a population at a specific generation. | |
| virtual void | run (Setupable *experiment) |
| Evaluate, Save, Log and Reproduce the population. | |
| virtual void | testBestIndividual (Setupable *experiment) |
| Test the best Individual and test it (used to view and evaluate indivuals for analysis). | |
| virtual void | testIndividual (Setupable *experiment, const char *) |
| Test a certain individual and evaluate it (used to view and evaluate individuals for analysis). | |
Protected Member Functions | |
| void | deleteGenomes (void) |
| Delete unused genomes leftover from a previous generation. | |
| bool | loadPopulationFromStream (Experiment *experiment, Ishtar::InputStream *stream) |
| Get the population through Ishtar. | |
| double | computeMean (const std::valarray< GenerationalIndividual > &group) |
| Compute the mean fitness of a group, which is a part of a population. | |
| double | computeSD (const std::valarray< GenerationalIndividual > &group) |
| Compute the Standard Deviation of a group. | |
| double | computeDiversity (const std::valarray< GenerationalIndividual > &group) |
| Calculate the Diversity of a group (we use the standard deviation of the Hamming distance). | |
| virtual void | evaluatePopulation (Evaluable *fitness)=0 |
| The function used to test the population and determine a fitness for each individual. | |
| virtual void | reproducePopulation (void)=0 |
| Randomly picks individuals from the part of the population defined by the reproductionRatio. | |
| virtual void | logPopulation (void) |
| Documenting, data dumping and Writing to the log files. | |
| virtual bool | savePopulation (void) |
| Save the current population to the file. | |
| virtual bool | loadPopulation (Experiment *experiment, unsigned generation) |
| Load a population at a specific generation. | |
| virtual void | run (Evaluable *fitness) |
| Evaluate, Save, Log and Reproduce the population. Wrapping function. | |
| virtual void | testBestIndividual (Evaluable *fitness)=0 |
| Test the best individual and evaluate it (used to view and evaluate individuals for analysis). Wrapping function. | |
| virtual void | testIndividual (Evaluable *fitness, size_t number)=0 |
| Test a certain individual and evaluate it (used to view and evaluate individuals for analysis). Wrapping function. | |
Protected Attributes | |
| GenerationalPopulation | population |
| A population, consisting of all individuals. | |
| Ishtar::Variable< double > | crossoverProbability |
| The crossover probability per. | |
| Ishtar::Variable< double > | elitismRatio |
| The percentage of the population that is kept unchanged ("elite"). | |
| Ishtar::Variable< double > | reproductionRatio |
| The percentage of the population that will be reproduced. | |
| Ishtar::Variable< unsigned > | populationCount |
| The total number of individuals present in the population. | |
| Ishtar::Variable< unsigned > | generationCount |
| The number of generations the experiment will run. | |
| unsigned | generation |
| The current generation during runtime. | |
| bool | wasLoaded |
| Parameter used to toggle between evaluation and reproduction. | |
|
|
Create the necessary genotype decoders.
Fill
Implements Teem::EvolutionRun. Implemented in Teem::SingleDecoderEvolutionRun, and Teem::MultiDecoderEvolutionRun. |
1.4.2