EvolvingObjects
|
Random Es-chromosome initializer (therefore derived from eoInit) More...
#include <eoEsChromInit.h>
Public Types | |
typedef EOT::Fitness | FitT |
Public Member Functions | |
eoEsChromInit (eoRealVectorBounds &_bounds, double _sigma=0.3, bool _to_scale=false) | |
Constructor. | |
eoEsChromInit (eoRealVectorBounds &_bounds, const std::vector< double > &_vecSigma) | |
Constructor. | |
void | operator() (EOT &_eo) |
simply passes the argument to the uniform method of the bounds | |
Private Member Functions | |
void | create_self_adapt (eoReal< FitT > &) |
Create intializer. | |
void | create_self_adapt (eoEsSimple< FitT > &result) |
Create intializer. | |
void | create_self_adapt (eoEsStdev< FitT > &result) |
Create intializer. | |
void | create_self_adapt (eoEsFull< FitT > &result) |
Create intializer. | |
Private Attributes | |
double | uniqueSigma |
Initial value in case of a unique sigma. | |
std::vector< double > | vecSigma |
Initial values in case of a vector of sigmas. |
Random Es-chromosome initializer (therefore derived from eoInit)
This class can initialize four types of real-valued genotypes thanks to tempate specialization of private method create:
Definition at line 58 of file eoEsChromInit.h.
eoEsChromInit< EOT >::eoEsChromInit | ( | eoRealVectorBounds & | _bounds, |
double | _sigma = 0.3 , |
||
bool | _to_scale = false |
||
) | [inline] |
Constructor.
_bounds | bounds for uniform initialization |
_sigma | initial value for the stddev |
_to_scale | wether sigma should be multiplied by the range of each variable added December 2004 - MS (together with the whole comment :-) |
Definition at line 74 of file eoEsChromInit.h.
References eoRealInitBounded< EOT >::theBounds(), eoEsChromInit< EOT >::uniqueSigma, and eoEsChromInit< EOT >::vecSigma.
eoEsChromInit< EOT >::eoEsChromInit | ( | eoRealVectorBounds & | _bounds, |
const std::vector< double > & | _vecSigma | ||
) | [inline] |
Constructor.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Specify individual initial sigmas for each variable.
_bounds | bounds for uniform initialization |
_vecSigma | initial value for the stddev |
Definition at line 112 of file eoEsChromInit.h.
void eoEsChromInit< EOT >::create_self_adapt | ( | eoReal< FitT > & | ) | [inline, private] |
Create intializer.
No adaptive mutation at all
Definition at line 134 of file eoEsChromInit.h.
Referenced by eoEsChromInit< EOT >::operator()().
void eoEsChromInit< EOT >::create_self_adapt | ( | eoEsSimple< FitT > & | result | ) | [inline, private] |
Create intializer.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Adaptive mutation through a unique sigma
Definition at line 145 of file eoEsChromInit.h.
References eoEsChromInit< EOT >::uniqueSigma.
void eoEsChromInit< EOT >::create_self_adapt | ( | eoEsStdev< FitT > & | result | ) | [inline, private] |
Create intializer.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Adaptive mutation through a std::vector of sigmas
Definition at line 161 of file eoEsChromInit.h.
References eoEsChromInit< EOT >::vecSigma.
void eoEsChromInit< EOT >::create_self_adapt | ( | eoEsFull< FitT > & | result | ) | [inline, private] |
Create intializer.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Adaptive mutation through a whole correlation matrix
Definition at line 175 of file eoEsChromInit.h.
References eoRng::uniform(), and eoEsChromInit< EOT >::vecSigma.