![Inheritance graph](classfarsa_1_1SimpleGA__inherit__graph.png)
Public Member Functions | |
SimpleGA () | |
Constructor. | |
virtual | ~SimpleGA () |
Destructor. | |
virtual void | configure (ConfigurationParameters ¶ms, QString prefix) |
Configure the object using the ConfigurationParameters specified. | |
virtual QVector< Evaluation * > | evaluationPool () |
Return the Evaluation Pool containing the Evaluations used. | |
virtual Evaluation * | evaluationPrototype () |
Returns the Evaluation object used as prototype to eventually generate other evaluators. | |
virtual void | finalize () |
Finalize the Genetic Algorithm Process. | |
virtual void | gaStep () |
Execute a single minor step and return. | |
virtual void | initialize () |
Initializes the Genetic Algorithm Process and sets current generation to zero. | |
int | numThreads () |
Return the number of thread currently used. | |
Reproduction * | reproduction () |
Return the Reproduction operator. | |
virtual void | save (ConfigurationParameters ¶ms, QString prefix) |
Save the actual status of parameters into the ConfigurationParameters object passed. | |
void | setEvaluation (Evaluation *fitfunc) |
Set the fitness function to use. | |
void | setNumThreads (int numThreads) |
Set the number of thread to use; or in other words the number of parallel evaluation of Genotypes. | |
void | setReproduction (Reproduction *reproduct) |
Set the Reproduction operator to use. | |
virtual void | skipEvaluation () |
Skip the evaluation phase and put the algorithm in the state just after the evaluation. | |
![]() | |
GeneticAlgo () | |
Constructor. | |
virtual | ~GeneticAlgo () |
Destructor. | |
QVector< QVector< double > > | averageFits () const |
Return the Average objective values over generation done. | |
QVector< QVector< double > > | bestFits () const |
Return the Best objective values over generation done. | |
void | evolve (unsigned int generationToReach) |
Evolve Genome until reach the generation specified. | |
void | evolve () |
Evolve Genome until condition isEvolutionEnded has been reached. | |
unsigned int | generation () const |
Return the current generation number. | |
Genome * | genome () |
Return the current Genome. | |
const Genome * | genome () const |
Return the current Genome. | |
bool | isEvaluationDone () |
returns true if we have evaluated genomes for the current generation | |
bool | isEvolutionEnded () |
returns true if the evolution process has reached the end | |
QVector< double > | meanHammingDist () const |
Return the Mean of Hamming distance over generation done. | |
int | numGenerations () |
Return the number of Generations. | |
void | setGeneration (unsigned int gen) |
Set the generation number. | |
void | setGenome (Genome *gen) |
Set the Genome to use as current population. | |
void | setNumGenerations (int g) |
Set the number of Generations to do. | |
QVector< double > | standardDeviationHammingDist () const |
Return the Standard Deviation of Hamming distance over generation done. | |
QVector< double > | varianceHammingDist () const |
Return the Variance of Hamming distance over generation done. | |
![]() | |
void | addObserver (RuntimeParameterObserver *obs) |
T | getRuntimeParameter (QString paramName) |
virtual ParameterSettableUI * | getUIManager () |
ParameterSettable () | |
virtual void | postConfigureInitialization () |
void | removeObserver (RuntimeParameterObserver *obs) |
void | setRuntimeParameter (QString paramName, T newvalue) |
QString | typeName () const |
![]() | |
void | addObserver (RuntimeParameterObserver *obs) |
T | getRuntimeParameter (QString paramName) |
void | removeObserver (RuntimeParameterObserver *obs) |
void | setRuntimeParameter (QString paramName, T newvalue) |
QString | typeName () const |
Static Public Member Functions | |
static void | describe (QString type) |
Add to Factory::typeDescriptions() the descriptions of all parameters and subgroups. | |
Protected Types | |
enum | GAPhases { initEvaluation, evaluating, nextGeneration_pass1, nextGeneration_pass2, endEvolution } |
used for manage GA cycle More... | |
Protected Attributes | |
GAPhases | currPhase |
current Phase | |
Evaluation * | fitfunc |
fitness function | |
bool | isFinalized |
True if SimpleGA is finalized. | |
bool | isInitialized |
True if SimpleGA is initialized. | |
Reproduction * | reprod |
reproduction operator | |
![]() | |
QVector< QVector< double > > | avgfits |
Statistical Data: report the Average value for each objective for each generation. | |
QVector< QVector< double > > | bestfits |
Statistical Data: report the Best value for each objective for each generation. | |
bool | evaluationDone |
setted by implementors to signal that genomes have been evaluated when true means that the genomes of the current generation have been evaluated (we are at the end of the end of the generation, next step will be reproduction and start of a new generation), when false means that genomes haven't still not been evaluated (we are at the beginning of a generation, next step will be evaluation of genomes) | |
bool | evolutionEnd |
setted by implementors to signal the finish of evolution process when true means that evolution is ended | |
unsigned int | generationv |
current generation | |
Genome * | genomev |
current genome | |
QVector< double > | meanHdists |
Statistical Data: report the mean of all hamming distance between genotypes for each generation. | |
unsigned int | numGens |
number of generations | |
QVector< double > | stdHdists |
Statistical Data: report the standard variation of all hamming distance between genotypes for each generation. | |
QVector< double > | varHdists |
Statistical Data: report the variance of all hamming distance between genotypes for each generation. | |
Additional Inherited Members | |
![]() | |
enum | Property |
![]() | |
AllowMultiple | |
Default | |
IsList | |
IsMandatory | |
![]() | |
static const double | Infinity |
static const int | MaxInteger |
static const int | MinInteger |
![]() | |
void | updateStats () |
Update statistical data of current generation and Genome (Mean, Variance, Standard Deviation) | |
![]() | |
static Descriptor | addTypeDescription (QString type, QString shortHelp, QString longHelp=QString("")) |
static void | setGraphicalEditor (QString type) |
Detailed Description
- Description
- SimpleGA implements a Simple Genetic Algorithm, some features are:
- you can customize Reproduction process using setReproduction
- you can customize, of course, the Fitness function using setEvaluation
- it use a multi-thread approach for parallel evaluation of Genotypes (see numThreads)
- Warnings
Definition at line 43 of file simplega.h.
Member Enumeration Documentation
|
protected |
used for manage GA cycle
Definition at line 106 of file simplega.h.
Constructor & Destructor Documentation
SimpleGA | ( | ) |
Constructor.
Definition at line 32 of file simplega.cpp.
References SimpleGA::currPhase, SimpleGA::fitfunc, SimpleGA::isFinalized, SimpleGA::isInitialized, GeneticAlgo::numGens, and SimpleGA::reprod.
|
virtual |
Member Function Documentation
|
virtual |
Configure the object using the ConfigurationParameters specified.
- Parameters
-
params the object with configuration parameters prefix the group in which parameters are expected to be (this is terminated by a separator character). We expect to receive as prefix the groupwhich contains all GA parameters
Implements ParameterSettableWithConfigureFunction.
Definition at line 50 of file simplega.cpp.
References SimpleGA::fitfunc, GeneticAlgo::genome(), ConfigurationHelper::getInt(), ConfigurationParameters::getObjectFromGroup(), SimpleGA::setEvaluation(), GeneticAlgo::setGenome(), Evaluation::setGenome(), GeneticAlgo::setNumGenerations(), SimpleGA::setNumThreads(), and SimpleGA::setReproduction().
|
static |
Add to Factory::typeDescriptions() the descriptions of all parameters and subgroups.
Definition at line 71 of file simplega.cpp.
References ParameterSettableWithConfigureFunction::addTypeDescription(), ParameterSettable::IntDescriptor::def(), ParameterSettable::Descriptor::describeInt(), ParameterSettable::Descriptor::describeSubgroup(), ParameterSettable::SubgroupDescriptor::help(), ParameterSettable::IntDescriptor::help(), ParameterSettableWithConfigureFunction::IsMandatory, ParameterSettable::IntDescriptor::limits(), ParameterSettable::SubgroupDescriptor::props(), and ParameterSettable::SubgroupDescriptor::type().
|
virtual |
Return the Evaluation Pool containing the Evaluations used.
Implements GeneticAlgo.
Definition at line 108 of file simplega.cpp.
|
virtual |
Returns the Evaluation object used as prototype to eventually generate other evaluators.
This object could be or could be not used to compute the fitness of genotypes (depending on the specific genetic algorithm)
Implements GeneticAlgo.
Definition at line 103 of file simplega.cpp.
References SimpleGA::fitfunc.
|
virtual |
Finalize the Genetic Algorithm Process.
Implements GeneticAlgo.
Definition at line 233 of file simplega.cpp.
References GeneticAlgo::evolutionEnd, SimpleGA::isFinalized, and SimpleGA::isInitialized.
Referenced by SimpleGA::gaStep().
|
virtual |
Execute a single minor step and return.
Implements GeneticAlgo.
Definition at line 153 of file simplega.cpp.
References SimpleGA::currPhase, GeneticAlgo::evaluationDone, SimpleGA::finalize(), SimpleGA::fitfunc, GeneticAlgo::generation(), GeneticAlgo::genome(), GeneticAlgo::numGens, Genotype::rankGreaterThanComparator(), SimpleGA::reprod, Reproduction::reproduction(), GeneticAlgo::setGeneration(), GeneticAlgo::setGenome(), Evaluation::setGenome(), Genome::size(), and GeneticAlgo::updateStats().
|
virtual |
Initializes the Genetic Algorithm Process and sets current generation to zero.
Implements GeneticAlgo.
Definition at line 125 of file simplega.cpp.
References SimpleGA::currPhase, GeneticAlgo::evaluationDone, GeneticAlgo::evolutionEnd, SimpleGA::fitfunc, SimpleGA::isFinalized, SimpleGA::isInitialized, SimpleGA::reprod, and GeneticAlgo::setGeneration().
int numThreads | ( | ) |
Return the number of thread currently used.
Definition at line 94 of file simplega.cpp.
Referenced by SimpleGA::save(), and SimpleGA::setNumThreads().
Reproduction * reproduction | ( | ) |
Return the Reproduction operator.
Definition at line 121 of file simplega.cpp.
References SimpleGA::reprod.
Referenced by SimpleGA::save().
|
virtual |
Save the actual status of parameters into the ConfigurationParameters object passed.
- Parameters
-
params the configuration parameters object on which save actual parameters prefix the prefix to use to access the object configuration parameters.
Implements ParameterSettableWithConfigureFunction.
Definition at line 59 of file simplega.cpp.
References ConfigurationParameters::createParameter(), ConfigurationParameters::createSubGroup(), SimpleGA::fitfunc, GeneticAlgo::genome(), GeneticAlgo::numGenerations(), SimpleGA::numThreads(), SimpleGA::reproduction(), ParameterSettableWithConfigureFunction::save(), and Genome::save().
void setEvaluation | ( | Evaluation * | fitfunc | ) |
Set the fitness function to use.
Definition at line 98 of file simplega.cpp.
References SimpleGA::fitfunc, and Evaluation::setGA().
Referenced by SimpleGA::configure().
void setNumThreads | ( | int | numThreads | ) |
Set the number of thread to use; or in other words the number of parallel evaluation of Genotypes.
Definition at line 80 of file simplega.cpp.
References SimpleGA::fitfunc, SimpleGA::isFinalized, SimpleGA::isInitialized, and SimpleGA::numThreads().
Referenced by SimpleGA::configure().
void setReproduction | ( | Reproduction * | reproduct | ) |
Set the Reproduction operator to use.
Definition at line 116 of file simplega.cpp.
References SimpleGA::reprod, and Reproduction::setGA().
Referenced by SimpleGA::configure().
|
virtual |
Skip the evaluation phase and put the algorithm in the state just after the evaluation.
This can be used after restarting an interrupted evolution to prevent re-evaluation of the genome that was loaded from file.
Implements GeneticAlgo.
Definition at line 223 of file simplega.cpp.
References SimpleGA::currPhase, GeneticAlgo::evaluationDone, GeneticAlgo::generation(), and GeneticAlgo::numGens.
Member Data Documentation
|
protected |
current Phase
Definition at line 108 of file simplega.h.
Referenced by SimpleGA::gaStep(), SimpleGA::initialize(), SimpleGA::SimpleGA(), and SimpleGA::skipEvaluation().
|
protected |
fitness function
Definition at line 102 of file simplega.h.
Referenced by SimpleGA::configure(), SimpleGA::evaluationPrototype(), SimpleGA::gaStep(), SimpleGA::initialize(), SimpleGA::save(), SimpleGA::setEvaluation(), SimpleGA::setNumThreads(), SimpleGA::SimpleGA(), and SimpleGA::~SimpleGA().
|
protected |
True if SimpleGA is finalized.
Definition at line 112 of file simplega.h.
Referenced by SimpleGA::finalize(), SimpleGA::initialize(), SimpleGA::setNumThreads(), and SimpleGA::SimpleGA().
|
protected |
True if SimpleGA is initialized.
Definition at line 110 of file simplega.h.
Referenced by SimpleGA::finalize(), SimpleGA::initialize(), SimpleGA::setNumThreads(), and SimpleGA::SimpleGA().
|
protected |
reproduction operator
Definition at line 104 of file simplega.h.
Referenced by SimpleGA::gaStep(), SimpleGA::initialize(), SimpleGA::reproduction(), SimpleGA::setReproduction(), and SimpleGA::SimpleGA().
The documentation for this class was generated from the following files:
- ga/include/gas/simplega.h
- ga/src/gas/simplega.cpp