Common FARSA setup of GA. More...
![Inheritance graph](classfarsa_1_1LaralGA__inherit__graph.png)
Public Member Functions | |
LaralGA () | |
Constructor. | |
virtual | ~LaralGA () |
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. | |
MultiTrials * | fitnessFunction () |
Return the fitness function. | |
virtual void | gaStep () |
Execute a single minor step and return. | |
virtual void | initialize () |
Initialize the Genetic Algorithm Process: | |
bool | isElitismEnabled () |
Return true if elitism is enabled. | |
Mutation * | mutation () |
Return the Mutation operator. | |
int | numElitism () |
Return the number of elited Genotypes. | |
int | numOffspring () |
Return the number of offspring for each selected Genotype. | |
int | numReproducing () |
Return the number of selected Genotypes. | |
int | numThreads () |
Return the number of thread currently used. | |
virtual void | save (ConfigurationParameters ¶ms, QString prefix) |
Save the actual status of parameters into the ConfigurationParameters object passed. | |
void | setFitnessFunction (MultiTrials *fitfunc) |
Set the fitness function to use. | |
void | setMutation (Mutation *mutate) |
Set the Mutation operator 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 | setReproduceParams (int nreproducing, bool useElitism=false, int nelitism=0) |
Set Reproducing parameters | |
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 | |
unsigned int | currGenotype |
current Genotype in evaluation | |
GAPhases | currPhase |
current Phase | |
bool | elitismEnabled |
true is elitism is enabled | |
MultiTrials * | fitfunc |
fitness function | |
bool | isFinalized |
True if LaralGA is finalized. | |
bool | isInitialized |
True if LaralGA is initialized. | |
Mutation * | muta |
mutation operator | |
int | nelitism |
number of elited genotypes | |
int | noffspring |
number of offspring | |
int | nreproducing |
number of selected genotypes | |
![]() | |
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
Common FARSA setup of GA.
- Description
- This GA implements the common characteristics of FARSA setup:
- Rank Selection with Truncation
- Use MultiTrials mechanism for Evaluating the Fitness of a Genotype
- Possibility to set one of Mutations availables (or a custom one)
- No Crossover
- Warnings
Member Enumeration Documentation
Constructor & Destructor Documentation
LaralGA | ( | ) |
Constructor.
Definition at line 32 of file laralga.cpp.
References LaralGA::currGenotype, LaralGA::currPhase, LaralGA::elitismEnabled, LaralGA::fitfunc, LaralGA::isFinalized, LaralGA::isInitialized, LaralGA::muta, LaralGA::nelitism, LaralGA::noffspring, LaralGA::nreproducing, and GeneticAlgo::numGens.
|
virtual |
Destructor.
Definition at line 48 of file laralga.cpp.
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 group which contains all GA parameters
Implements ParameterSettableWithConfigureFunction.
Definition at line 52 of file laralga.cpp.
References LaralGA::fitfunc, GeneticAlgo::genome(), ConfigurationHelper::getInt(), ConfigurationParameters::getObjectFromGroup(), ConfigurationParameters::getValue(), ConfigurationParameters::GroupSeparator(), LaralGA::nelitism, LaralGA::setFitnessFunction(), GeneticAlgo::setGenome(), Evaluation::setGenome(), LaralGA::setMutation(), GeneticAlgo::setNumGenerations(), LaralGA::setNumThreads(), and LaralGA::setReproduceParams().
|
static |
Add to Factory::typeDescriptions() the descriptions of all parameters and subgroups.
Definition at line 82 of file laralga.cpp.
References ParameterSettableWithConfigureFunction::addTypeDescription(), ParameterSettable::IntDescriptor::def(), ParameterSettable::BoolDescriptor::def(), ParameterSettable::SubgroupDescriptor::describeBool(), ParameterSettable::Descriptor::describeInt(), ParameterSettable::SubgroupDescriptor::describeInt(), ParameterSettable::SubgroupDescriptor::describeSubgroup(), ParameterSettable::Descriptor::describeSubgroup(), ParameterSettable::SubgroupDescriptor::help(), ParameterSettable::IntDescriptor::help(), ParameterSettable::BoolDescriptor::help(), ParameterSettableWithConfigureFunction::IsMandatory, ParameterSettable::IntDescriptor::limits(), ParameterSettable::SubgroupDescriptor::props(), ParameterSettable::IntDescriptor::props(), and ParameterSettable::SubgroupDescriptor::type().
|
virtual |
Return the Evaluation Pool containing the Evaluations used.
Implements GeneticAlgo.
Definition at line 123 of file laralga.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 118 of file laralga.cpp.
References LaralGA::fitfunc.
|
virtual |
Finalize the Genetic Algorithm Process.
Implements GeneticAlgo.
Definition at line 282 of file laralga.cpp.
References GeneticAlgo::evolutionEnd, LaralGA::isFinalized, and LaralGA::isInitialized.
Referenced by LaralGA::gaStep().
MultiTrials * fitnessFunction | ( | ) |
Return the fitness function.
Definition at line 131 of file laralga.cpp.
References LaralGA::fitfunc.
Referenced by LaralGA::save().
|
virtual |
Execute a single minor step and return.
Implements GeneticAlgo.
Definition at line 205 of file laralga.cpp.
References LaralGA::currPhase, GeneticAlgo::evaluationDone, LaralGA::finalize(), GeneticAlgo::generation(), GeneticAlgo::genome(), GeneticAlgo::numGens, Genotype::rankGreaterThanComparator(), GeneticAlgo::setGeneration(), Genome::size(), and GeneticAlgo::updateStats().
|
virtual |
Initialize the Genetic Algorithm Process:
- set current replication to zero
- set current generation to zero
Implements GeneticAlgo.
Definition at line 176 of file laralga.cpp.
References LaralGA::currGenotype, LaralGA::currPhase, GeneticAlgo::evaluationDone, GeneticAlgo::evolutionEnd, LaralGA::fitfunc, LaralGA::isFinalized, LaralGA::isInitialized, LaralGA::muta, and GeneticAlgo::setGeneration().
bool isElitismEnabled | ( | ) |
Return true if elitism is enabled.
Definition at line 172 of file laralga.cpp.
References LaralGA::elitismEnabled.
Referenced by LaralGA::save().
Mutation * mutation | ( | ) |
Return the Mutation operator.
Definition at line 140 of file laralga.cpp.
References LaralGA::muta.
Referenced by LaralGA::save().
int numElitism | ( | ) |
Return the number of elited Genotypes.
Definition at line 168 of file laralga.cpp.
References LaralGA::nelitism.
Referenced by LaralGA::save().
int numOffspring | ( | ) |
Return the number of offspring for each selected Genotype.
Definition at line 164 of file laralga.cpp.
References LaralGA::noffspring.
int numReproducing | ( | ) |
Return the number of selected Genotypes.
Definition at line 160 of file laralga.cpp.
References LaralGA::nreproducing.
Referenced by LaralGA::save().
int numThreads | ( | ) |
Return the number of thread currently used.
Definition at line 109 of file laralga.cpp.
Referenced by LaralGA::save(), and LaralGA::setNumThreads().
|
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 66 of file laralga.cpp.
References ConfigurationParameters::createParameter(), ConfigurationParameters::createSubGroup(), LaralGA::fitnessFunction(), GeneticAlgo::genome(), LaralGA::isElitismEnabled(), LaralGA::mutation(), LaralGA::numElitism(), GeneticAlgo::numGenerations(), LaralGA::numReproducing(), LaralGA::numThreads(), MultiTrials::save(), Genome::save(), and Mutation::save().
void setFitnessFunction | ( | MultiTrials * | fitfunc | ) |
Set the fitness function to use.
Definition at line 113 of file laralga.cpp.
References LaralGA::fitfunc, and Evaluation::setGA().
Referenced by LaralGA::configure().
void setMutation | ( | Mutation * | mutate | ) |
Set the Mutation operator to use.
Definition at line 135 of file laralga.cpp.
References LaralGA::muta, and Mutation::setGA().
Referenced by LaralGA::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 95 of file laralga.cpp.
References LaralGA::fitfunc, LaralGA::isFinalized, LaralGA::isInitialized, and LaralGA::numThreads().
Referenced by LaralGA::configure().
void setReproduceParams | ( | int | nreproducing, |
bool | useElitism = false , |
||
int | nelitism = 0 |
||
) |
Set Reproducing parameters
- Note
- The number of offsprings are automatically calculated dividing nreproducinb by Genome::size()
- Parameters
-
nreproducing is the number of Genotypes to select useElitism if true use elitism, othersiwe not nelitism is the number of Genotypes selected to copy unthouched to next generation
Definition at line 144 of file laralga.cpp.
References LaralGA::elitismEnabled, GeneticAlgo::genomev, LaralGA::nelitism, LaralGA::noffspring, LaralGA::nreproducing, and Genome::size().
Referenced by LaralGA::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 272 of file laralga.cpp.
References LaralGA::currPhase, GeneticAlgo::evaluationDone, GeneticAlgo::generation(), and GeneticAlgo::numGens.
Member Data Documentation
|
protected |
current Genotype in evaluation
Definition at line 126 of file laralga.h.
Referenced by LaralGA::initialize(), and LaralGA::LaralGA().
|
protected |
current Phase
Definition at line 138 of file laralga.h.
Referenced by LaralGA::gaStep(), LaralGA::initialize(), LaralGA::LaralGA(), and LaralGA::skipEvaluation().
|
protected |
true is elitism is enabled
Definition at line 134 of file laralga.h.
Referenced by LaralGA::isElitismEnabled(), LaralGA::LaralGA(), and LaralGA::setReproduceParams().
|
protected |
fitness function
Definition at line 122 of file laralga.h.
Referenced by LaralGA::configure(), LaralGA::evaluationPrototype(), LaralGA::fitnessFunction(), LaralGA::initialize(), LaralGA::LaralGA(), LaralGA::setFitnessFunction(), and LaralGA::setNumThreads().
|
protected |
True if LaralGA is finalized.
Definition at line 142 of file laralga.h.
Referenced by LaralGA::finalize(), LaralGA::initialize(), LaralGA::LaralGA(), and LaralGA::setNumThreads().
|
protected |
True if LaralGA is initialized.
Definition at line 140 of file laralga.h.
Referenced by LaralGA::finalize(), LaralGA::initialize(), LaralGA::LaralGA(), and LaralGA::setNumThreads().
|
protected |
mutation operator
Definition at line 124 of file laralga.h.
Referenced by LaralGA::initialize(), LaralGA::LaralGA(), LaralGA::mutation(), and LaralGA::setMutation().
|
protected |
number of elited genotypes
Definition at line 132 of file laralga.h.
Referenced by LaralGA::configure(), LaralGA::LaralGA(), LaralGA::numElitism(), and LaralGA::setReproduceParams().
|
protected |
number of offspring
Definition at line 130 of file laralga.h.
Referenced by LaralGA::LaralGA(), LaralGA::numOffspring(), and LaralGA::setReproduceParams().
|
protected |
number of selected genotypes
Definition at line 128 of file laralga.h.
Referenced by LaralGA::LaralGA(), LaralGA::numReproducing(), and LaralGA::setReproduceParams().
The documentation for this class was generated from the following files:
- ga/include/gas/laralga.h
- ga/src/gas/laralga.cpp