and finally... still more grouping in documentation.

This commit is contained in:
Johann Dreo 2010-11-05 22:46:15 +01:00
commit 2104f5b7e9
76 changed files with 427 additions and 70 deletions

View file

@ -40,7 +40,8 @@ Contact: http://eodev.sourceforge.net
/** 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

View file

@ -30,7 +30,7 @@
#include <eoVector.h>
/**
\ingroup EvolutionStrategies
\ingroup Real
The most complex evolutionary strategy representation. Co-evolving mutation
rates and correlated mutations.

View file

@ -36,9 +36,12 @@
// needs a selector - here random
#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
* and the mutation strategy parameters
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT>
class eoEsGlobalXover: public eoGenOp<EOT>

View file

@ -45,7 +45,8 @@
/** ES-style mutation in the large
@ingroup EvolutionStrategies
@ingroup Real
@ingroup Variators
Obviously, valid only for eoES*. It is currently valid for three types
of ES chromosomes:

View file

@ -31,7 +31,8 @@
/** Initialize Mutation operator
@ingroup EvolutionStrategies
@ingroup Real
@ingroup Variators
Proxy class that is used for initializing the mutation operator. It provides an
interface between eoEsMutate and the abstract parameterLoader. It also provides

View file

@ -30,7 +30,7 @@ Contact: http://eodev.sourceforge.net
/** Simple Evolution Strategy
@ingroup EvolutionStrategies
@ingroup Real
One of the more simple evolution strategies, sporting just a single stdeviation
for the entire chromosome. For more advanced versions see also eoEsStdev

View file

@ -41,6 +41,9 @@
* and the mutation strategy parameters
* It is an eoBinOp and has to be wrapped into an eoGenOp before being used
* like the global version
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT>
class eoEsStandardXover: public eoBinOp<EOT>

View file

@ -28,10 +28,10 @@ Contact: http://eodev.sourceforge.net
/** Evolutionary Strategy with a standard deviation per parameter
@ingroup EvolutionStrategies
Evolutionary strategie style representation, supporting co-evolving
standard deviations.
@ingroup Real
*/
template <class Fit>
class eoEsStdev : public eoVector<Fit, double>

View file

@ -43,8 +43,10 @@
* 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 -
* but this sometimes takes a long time!!!
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoNormalVecMutation: public eoMonOp<EOT>
{
public:
@ -111,8 +113,10 @@ private:
* 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 -
* but this sometimes takes a long time!!!
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoNormalMutation
: public eoMonOp<EOT>
{
@ -172,8 +176,10 @@ private:
* and write the update() method!
* here the 1 fifth rule: count the proportion of successful mutations, and
* increase sigma if more than threshold (1/5 !)
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoOneFifthMutation :
public eoNormalMutation<EOT>, public eoUpdatable
{

View file

@ -33,6 +33,8 @@
/** eoReal: implementation of simple real-valued chromosome.
* based on eoVector class
*
* @ingroup Real
*/
template <class FitT> class eoReal: public eoVector<FitT, double>
{

View file

@ -37,6 +37,9 @@
/**
Discrete crossover == exchange of values
*
* @ingroup Real
* @ingroup Variators
*/
class eoDoubleExchange: public eoBinOp<double>
{
@ -67,6 +70,9 @@ public:
/**
Intermediate crossover == linear combination
*
* @ingroup Real
* @ingroup Variators
*/
class eoDoubleIntermediate: public eoBinOp<double>
{

View file

@ -35,6 +35,9 @@
/** Simple initialization for any EOT that derives from std::vector<double>
* uniformly in some bounds
*
* @ingroup Real
* @ingroup Variators
*/
template <class EOT>
class eoRealInitBounded : public eoInit<EOT>

View file

@ -39,7 +39,9 @@
by uniform choice with range epsilon
with probability p_change per variable
\class eoUniformMutation eoRealOp.h Tutorial/eoRealOp.h
\ingroup parameteric
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoUniformMutation: public eoMonOp<EOT>
@ -138,7 +140,9 @@ private:
/** eoDetUniformMutation --> changes exactly k values of the std::vector
by uniform choice with range epsilon
\class eoDetUniformMutation eoRealOp.h Tutorial/eoRealOp.h
\ingroup parameteric
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoDetUniformMutation: public eoMonOp<EOT>
@ -241,7 +245,9 @@ private:
/** eoSegmentCrossover --> uniform choice in segment
== arithmetical with same value along all coordinates
\class eoSegmentCrossover eoRealOp.h Tutorial/eoRealOp.h
\ingroup parameteric
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoSegmentCrossover: public eoQuadOp<EOT>
@ -331,9 +337,10 @@ protected:
/** eoHypercubeCrossover --> uniform choice in hypercube
== arithmetical with different values for each coordinate
\class eoArithmeticCrossover eoRealOp.h Tutorial/eoRealOp.h
\ingroup parameteric
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoHypercubeCrossover: public eoQuadOp<EOT>
{
public:
@ -451,7 +458,9 @@ protected:
/** eoRealUxOver --> Uniform crossover, also termed intermediate crossover
\class eoRealUxOver eoRealOp.h Tutorial/eoRealOp.h
\ingroup parameteric
*
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoRealUXover: public eoQuadOp<EOT>

View file

@ -32,6 +32,10 @@
/**
* @ingroup Real
* @ingroup Variators
*/
template<class EOT> class eoSBXCrossover: public eoQuadOp<EOT>
{
public:

View file

@ -62,6 +62,14 @@
// without self-adaptation
#include <es/make_real.h>
/** @addtogroup Builders
* @{
*/
/** @addtogroup Real
* @{
*/
//Representation dependent - rewrite everything anew for each representation
//////////////////////////
// the genotypes
@ -143,4 +151,6 @@ void run_ea(eoAlgo<eoEsFull<eoMinimizingFitness> >& _ga, eoPop<eoEsFull<eoMinimi
// that one is not templatized, but is here for completeness
void make_help(eoParser & _parser);
/** @} */
/** @} */
#endif

View file

@ -35,6 +35,10 @@ Contact: http://eodev.sourceforge.net
#include "utils/eoState.h"
/** @addtogroup Builders
* @{
*/
/** Initialize genotype
This fuction does the initialization of what's needed for a particular genotype
@ -110,6 +114,7 @@ eoEsChromInit<EOT> & do_make_genotype(eoParser& _parser, eoState& _state, EOT)
return *init;
}
/** @} */
#endif // EO_make_genotype_h

View file

@ -45,6 +45,10 @@
#include <utils/eoState.h>
/** @addtogroup Builders
* @{
*/
/*
* This function builds the operators that will be applied to the eoReal
*
@ -291,4 +295,5 @@ eoGenOp<EOT> & do_make_op(eoParameterLoader& _parser, eoState& _state, eoInit<EO
// that's it!
return *op;
}
/** @} */
#endif

View file

@ -44,6 +44,10 @@ Contact: http://eodev.sourceforge.net
#include <utils/eoState.h>
/** @addtogroup Builders
* @{
*/
/*
* This function builds the operators that will be applied to the eoReal
*
@ -187,6 +191,7 @@ eoGenOp<EOT> & do_make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<
#endif // EO_make_op_h
/** @} */
// Local Variables:
// coding: iso-8859-1

View file

@ -45,6 +45,10 @@
#include <utils/eoState.h>
/** @addtogroup Builders
* @{
*/
/*
* This function builds the operators that will be applied to the eoReal
*
@ -281,4 +285,5 @@ eoGenOp<EOT> & do_make_op(eoParser& _parser, eoState& _state, eoRealInitBounded<
// that's it!
return op;
}
/** @} */
#endif

View file

@ -60,6 +60,10 @@
//Representation dependent - rewrite everything anew for each representation
//////////////////////////
/** @addtogroup Builders
* @{
*/
// the genotypes
eoRealInitBounded<eoReal<double> > & make_genotype(eoParser& _parser, eoState& _state, eoReal<double> _eo);
eoRealInitBounded<eoReal<eoMinimizingFitness> > & make_genotype(eoParser& _parser, eoState& _state, eoReal<eoMinimizingFitness> _eo);
@ -99,4 +103,5 @@ void run_ea(eoAlgo<eoReal<eoMinimizingFitness> >& _ga, eoPop<eoReal<eoMinimizing
// Because of that, the source is in src/utils dir
void make_help(eoParser & _parser);
/** @} */
#endif

View file

@ -3,6 +3,8 @@
#include <vector>
/** @ingroup Utilities
*/
class lower_triangular_matrix {
unsigned n;
@ -21,6 +23,8 @@ class lower_triangular_matrix {
std::vector<double>::const_iterator operator[](unsigned i) const { return data.begin() + i*(i+1)/2; }
};
/** @ingroup Utilities
*/
class square_matrix {
unsigned n;
std::vector<double> data;