and finally... still more grouping in documentation.
This commit is contained in:
parent
f478817c6e
commit
2104f5b7e9
76 changed files with 427 additions and 70 deletions
|
|
@ -68,8 +68,10 @@
|
||||||
*
|
*
|
||||||
* This is why the template is the complete EOT even though only the fitness
|
* This is why the template is the complete EOT even though only the fitness
|
||||||
* is actually templatized here
|
* is actually templatized here
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
eoAlgo<EOT> & do_make_algo_scalar(eoParser& _parser, eoState& _state, eoPopEvalFunc<EOT>& _popeval, eoContinue<EOT>& _continue, eoGenOp<EOT>& _op)
|
eoAlgo<EOT> & do_make_algo_scalar(eoParser& _parser, eoState& _state, eoPopEvalFunc<EOT>& _popeval, eoContinue<EOT>& _continue, eoGenOp<EOT>& _op)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -73,9 +73,9 @@
|
||||||
*
|
*
|
||||||
* This is why the template is the complete EOT even though only the fitness
|
* This is why the template is the complete EOT even though only the fitness
|
||||||
* is actually templatized here
|
* is actually templatized here
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
eoAlgo<EOT> & do_make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<EOT>& _eval, eoContinue<EOT>& _continue, eoGenOp<EOT>& _op, eoDistance<EOT> * _dist = NULL)
|
eoAlgo<EOT> & do_make_algo_scalar(eoParser& _parser, eoState& _state, eoEvalFunc<EOT>& _eval, eoContinue<EOT>& _continue, eoGenOp<EOT>& _op, eoDistance<EOT> * _dist = NULL)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,8 @@ bool testDirRes(std::string _dirName, bool _erase);
|
||||||
*
|
*
|
||||||
* CHANGE (March 2008): now receiving an eoValueParam instead of an eoEvalFuncCounter. This function is just interested
|
* CHANGE (March 2008): now receiving an eoValueParam instead of an eoEvalFuncCounter. This function is just interested
|
||||||
* in the value of the parameter calculated on the evaluation function, not in the actual function itself!!
|
* in the value of the parameter calculated on the evaluation function, not in the actual function itself!!
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
eoCheckPoint<EOT>& do_make_checkpoint(eoParser& _parser, eoState& _state, eoValueParam<unsigned long>& _eval, eoContinue<EOT>& _continue)
|
eoCheckPoint<EOT>& do_make_checkpoint(eoParser& _parser, eoState& _state, eoValueParam<unsigned long>& _eval, eoContinue<EOT>& _continue)
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,9 @@ bool testDirRes(std::string _dirName, bool _erase);
|
||||||
/////////////////// The checkpoint and other I/O //////////////
|
/////////////////// The checkpoint and other I/O //////////////
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup Builders
|
||||||
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
eoCheckPoint<EOT>& do_make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<EOT>& _eval, eoContinue<EOT>& _continue)
|
eoCheckPoint<EOT>& do_make_checkpoint(eoParser& _parser, eoState& _state, eoEvalFuncCounter<EOT>& _eval, eoContinue<EOT>& _continue)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,11 @@
|
||||||
bool testDirRes(std::string _dirName, bool _erase);
|
bool testDirRes(std::string _dirName, bool _erase);
|
||||||
/////////////////// The checkpoint and other I/O //////////////
|
/////////////////// The checkpoint and other I/O //////////////
|
||||||
|
|
||||||
/** Of course, Fitness needs to be an eoScalarFitnessAssembled!!! */
|
/** Of course, Fitness needs to be an eoScalarFitnessAssembled!!!
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
|
* */
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
eoCheckPoint<EOT>& do_make_checkpoint_assembled(eoParser& _parser, eoState& _state, eoEvalFuncCounter<EOT>& _eval, eoContinue<EOT>& _continue)
|
eoCheckPoint<EOT>& do_make_checkpoint_assembled(eoParser& _parser, eoState& _state, eoEvalFuncCounter<EOT>& _eval, eoContinue<EOT>& _continue)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,9 @@ It can then be instantiated, and compiled on its own for a given EOType
|
||||||
|
|
||||||
|
|
||||||
/////////////////// the stopping criterion ////////////////
|
/////////////////// the stopping criterion ////////////////
|
||||||
|
/**
|
||||||
|
* @ingroup Builders
|
||||||
|
*/
|
||||||
template <class Indi>
|
template <class Indi>
|
||||||
eoCombinedContinue<Indi> * make_combinedContinue(eoCombinedContinue<Indi> *_combined, eoContinue<Indi> *_cont)
|
eoCombinedContinue<Indi> * make_combinedContinue(eoCombinedContinue<Indi> *_combined, eoContinue<Indi> *_cont)
|
||||||
{
|
{
|
||||||
|
|
@ -59,7 +62,10 @@ eoCombinedContinue<Indi> * make_combinedContinue(eoCombinedContinue<Indi> *_comb
|
||||||
return _combined;
|
return _combined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
|
*/
|
||||||
template <class Indi>
|
template <class Indi>
|
||||||
eoContinue<Indi> & do_make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval)
|
eoContinue<Indi> & do_make_continue(eoParser& _parser, eoState& _state, eoEvalFuncCounter<Indi> & _eval)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,8 @@
|
||||||
|
|
||||||
/** a helper function that decodes a parameter read by the parser into an
|
/** a helper function that decodes a parameter read by the parser into an
|
||||||
* eoReduce<EOT> & (allocates the pointer and stores it into an eoState)
|
* eoReduce<EOT> & (allocates the pointer and stores it into an eoState)
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
*/
|
*/
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
eoReduce<EOT> & decode_reduce(eoParamParamType & _ppReduce, eoState & _state)
|
eoReduce<EOT> & decode_reduce(eoParamParamType & _ppReduce, eoState & _state)
|
||||||
|
|
@ -129,8 +131,9 @@ eoReduce<EOT> & decode_reduce(eoParamParamType & _ppReduce, eoState & _state)
|
||||||
* eoHowMany _surviveOffspring number of offspring after offspring recuction
|
* eoHowMany _surviveOffspring number of offspring after offspring recuction
|
||||||
* eoParamParamType & _reduceOffspringType how the offspring are reduced
|
* eoParamParamType & _reduceOffspringType how the offspring are reduced
|
||||||
* eoParamParamType & _reduceFinalType how the final population is reduced to initial population size
|
* eoParamParamType & _reduceFinalType how the final population is reduced to initial population size
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
eoReplacement<EOT> & make_general_replacement(
|
eoReplacement<EOT> & make_general_replacement(
|
||||||
eoParser& _parser, eoState& _state,
|
eoParser& _parser, eoState& _state,
|
||||||
|
|
|
||||||
|
|
@ -34,17 +34,25 @@
|
||||||
#include <utils/eoParser.h>
|
#include <utils/eoParser.h>
|
||||||
#include <utils/eoState.h>
|
#include <utils/eoState.h>
|
||||||
|
|
||||||
|
/** @defgroup Builders Automatic builders
|
||||||
|
*
|
||||||
|
* Automatic builders are functions that automagically builds most commons instances for you.
|
||||||
|
*
|
||||||
|
* All the options you needs are set in the command-line parser.
|
||||||
|
* Those functions all start with the "do_make_" prefix.
|
||||||
|
*
|
||||||
|
* @ingroup Utilities
|
||||||
|
*/
|
||||||
|
|
||||||
///////////////////////////////// INIT POP ///////////////////////////////
|
|
||||||
/**
|
/**
|
||||||
* Templatized version of parser-based construct of the population
|
* Templatized version of parser-based construct of the population
|
||||||
* + other initializations that are NOT representation-dependent.
|
* + other initializations that are NOT representation-dependent.
|
||||||
*
|
*
|
||||||
* It must then be instantiated, and compiled on its own for a given EOType
|
* It must then be instantiated, and compiled on its own for a given EOType
|
||||||
* (see e.g. ga.h and ga.pp in dir ga)
|
* (see e.g. ga.h and ga.pp in dir ga)
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
eoPop<EOT>& do_make_pop(eoParser & _parser, eoState& _state, eoInit<EOT> & _init)
|
eoPop<EOT>& do_make_pop(eoParser & _parser, eoState& _state, eoInit<EOT> & _init)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,9 @@
|
||||||
* A trivial function - only here to allow instanciation with a give EOType
|
* A trivial function - only here to allow instanciation with a give EOType
|
||||||
* and separate compilation - see in ga dir, make_run_ga
|
* and separate compilation - see in ga dir, make_run_ga
|
||||||
*
|
*
|
||||||
|
*
|
||||||
|
* @ingroup Builders
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template <class EOT>
|
template <class EOT>
|
||||||
void do_run(eoAlgo<EOT>& _algo, eoPop<EOT>& _pop)
|
void do_run(eoAlgo<EOT>& _algo, eoPop<EOT>& _pop)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,10 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
/** @addtogroup Evaluation
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
//! Defines properties of eoScalarFitnessAssembled.
|
//! Defines properties of eoScalarFitnessAssembled.
|
||||||
/*! Properties that are hold in this traits class:
|
/*! Properties that are hold in this traits class:
|
||||||
- std::vector<std::string> to hold descriptions of the different fitness terms
|
- std::vector<std::string> to hold descriptions of the different fitness terms
|
||||||
|
|
@ -270,7 +274,6 @@ std::istream& operator>>(std::istream& is, eoScalarFitnessAssembled<F, Cmp, Fitn
|
||||||
return is;
|
return is;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @} */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,8 @@ Contact: http://eodev.sourceforge.net
|
||||||
|
|
||||||
/** Random Es-chromosome initializer (therefore derived from eoInit)
|
/** Random Es-chromosome initializer (therefore derived from eoInit)
|
||||||
|
|
||||||
@ingroup EvolutionStrategies
|
@ingroup Real
|
||||||
|
@ingroup Initializators
|
||||||
|
|
||||||
|
|
||||||
This class can initialize four types of real-valued genotypes thanks
|
This class can initialize four types of real-valued genotypes thanks
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
#include <eoVector.h>
|
#include <eoVector.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\ingroup EvolutionStrategies
|
\ingroup Real
|
||||||
|
|
||||||
The most complex evolutionary strategy representation. Co-evolving mutation
|
The most complex evolutionary strategy representation. Co-evolving mutation
|
||||||
rates and correlated mutations.
|
rates and correlated mutations.
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,12 @@
|
||||||
// needs a selector - here random
|
// needs a selector - here random
|
||||||
#include <eoRandomSelect.h>
|
#include <eoRandomSelect.h>
|
||||||
|
|
||||||
/** Gloabl crossover operator for ES genotypes.
|
/** Global crossover operator for ES genotypes.
|
||||||
* Uses some Atom crossovers to handle both the object variables
|
* Uses some Atom crossovers to handle both the object variables
|
||||||
* and the mutation strategy parameters
|
* and the mutation strategy parameters
|
||||||
|
*
|
||||||
|
* @ingroup Real
|
||||||
|
* @ingroup Variators
|
||||||
*/
|
*/
|
||||||
template<class EOT>
|
template<class EOT>
|
||||||
class eoEsGlobalXover: public eoGenOp<EOT>
|
class eoEsGlobalXover: public eoGenOp<EOT>
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,8 @@
|
||||||
|
|
||||||
/** ES-style mutation in the large
|
/** ES-style mutation in the large
|
||||||
|
|
||||||
@ingroup EvolutionStrategies
|
@ingroup Real
|
||||||
|
@ingroup Variators
|
||||||
|
|
||||||
Obviously, valid only for eoES*. It is currently valid for three types
|
Obviously, valid only for eoES*. It is currently valid for three types
|
||||||
of ES chromosomes:
|
of ES chromosomes:
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,8 @@
|
||||||
|
|
||||||
/** Initialize Mutation operator
|
/** Initialize Mutation operator
|
||||||
|
|
||||||
@ingroup EvolutionStrategies
|
@ingroup Real
|
||||||
|
@ingroup Variators
|
||||||
|
|
||||||
Proxy class that is used for initializing the mutation operator. It provides an
|
Proxy class that is used for initializing the mutation operator. It provides an
|
||||||
interface between eoEsMutate and the abstract parameterLoader. It also provides
|
interface between eoEsMutate and the abstract parameterLoader. It also provides
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ Contact: http://eodev.sourceforge.net
|
||||||
|
|
||||||
/** Simple Evolution Strategy
|
/** Simple Evolution Strategy
|
||||||
|
|
||||||
@ingroup EvolutionStrategies
|
@ingroup Real
|
||||||
|
|
||||||
One of the more simple evolution strategies, sporting just a single stdeviation
|
One of the more simple evolution strategies, sporting just a single stdeviation
|
||||||
for the entire chromosome. For more advanced versions see also eoEsStdev
|
for the entire chromosome. For more advanced versions see also eoEsStdev
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,9 @@
|
||||||
* and the mutation strategy parameters
|
* and the mutation strategy parameters
|
||||||
* It is an eoBinOp and has to be wrapped into an eoGenOp before being used
|
* It is an eoBinOp and has to be wrapped into an eoGenOp before being used
|
||||||
* like the global version
|
* like the global version
|
||||||
|
*
|
||||||
|
* @ingroup Real
|
||||||
|
* @ingroup Variators
|
||||||
*/
|
*/
|
||||||
template<class EOT>
|
template<class EOT>
|
||||||
class eoEsStandardXover: public eoBinOp<EOT>
|
class eoEsStandardXover: public eoBinOp<EOT>
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,10 @@ Contact: http://eodev.sourceforge.net
|
||||||
|
|
||||||
/** Evolutionary Strategy with a standard deviation per parameter
|
/** Evolutionary Strategy with a standard deviation per parameter
|
||||||
|
|
||||||
@ingroup EvolutionStrategies
|
|
||||||
|
|
||||||
Evolutionary strategie style representation, supporting co-evolving
|
Evolutionary strategie style representation, supporting co-evolving
|
||||||
standard deviations.
|
standard deviations.
|
||||||
|
|
||||||
|
@ingroup Real
|
||||||
*/
|
*/
|
||||||
template <class Fit>
|
template <class Fit>
|
||||||
class eoEsStdev : public eoVector<Fit, double>
|
class eoEsStdev : public eoVector<Fit, double>
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,10 @@
|
||||||
* As for the bounds, the values are here folded back into the bounds.
|
* As for the bounds, the values are here folded back into the bounds.
|
||||||
* The other possiblity would be to iterate until we fall inside the bounds -
|
* The other possiblity would be to iterate until we fall inside the bounds -
|
||||||
* but this sometimes takes a long time!!!
|
* but this sometimes takes a long time!!!
|
||||||
|
*
|
||||||
|
* @ingroup Real
|
||||||
|
* @ingroup Variators
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template<class EOT> class eoNormalVecMutation: public eoMonOp<EOT>
|
template<class EOT> class eoNormalVecMutation: public eoMonOp<EOT>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -111,8 +113,10 @@ private:
|
||||||
* As for the bounds, the values are here folded back into the bounds.
|
* As for the bounds, the values are here folded back into the bounds.
|
||||||
* The other possiblity would be to iterate until we fall inside the bounds -
|
* The other possiblity would be to iterate until we fall inside the bounds -
|
||||||
* but this sometimes takes a long time!!!
|
* but this sometimes takes a long time!!!
|
||||||
|
*
|
||||||
|
* @ingroup Real
|
||||||
|
* @ingroup Variators
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template<class EOT> class eoNormalMutation
|
template<class EOT> class eoNormalMutation
|
||||||
: public eoMonOp<EOT>
|
: public eoMonOp<EOT>
|
||||||
{
|
{
|
||||||
|
|
@ -172,8 +176,10 @@ private:
|
||||||
* and write the update() method!
|
* and write the update() method!
|
||||||
* here the 1 fifth rule: count the proportion of successful mutations, and
|
* here the 1 fifth rule: count the proportion of successful mutations, and
|
||||||
* increase sigma if more than threshold (1/5 !)
|
* increase sigma if more than threshold (1/5 !)
|
||||||
|
*
|
||||||
|
* @ingroup Real
|
||||||
|
* @ingroup Variators
|
||||||
*/
|
*/
|
||||||
|
|
||||||
template<class EOT> class eoOneFifthMutation :
|
template<class EOT> class eoOneFifthMutation :
|
||||||
public eoNormalMutation<EOT>, public eoUpdatable
|
public eoNormalMutation<EOT>, public eoUpdatable
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
/** eoReal: implementation of simple real-valued chromosome.
|
/** eoReal: implementation of simple real-valued chromosome.
|
||||||
* based on eoVector class
|
* based on eoVector class
|
||||||
|
*
|
||||||
|
* @ingroup Real
|
||||||
*/
|
*/
|
||||||
template <class FitT> class eoReal: public eoVector<FitT, double>
|
template <class FitT> class eoReal: public eoVector<FitT, double>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue