eoEsChromInit< EOT > Class Template Reference
[EvolutionStrategies]

Random Es-chromosome initializer (therefore derived from eoInit). More...

#include <eoEsChromInit.h>

Inheritance diagram for eoEsChromInit< EOT >:

eoRealInitBounded< EOT > eoInit< EOT > eoUF< A1, R > eoFunctorBase

List of all members.

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.


Detailed Description

template<class EOT>
class eoEsChromInit< EOT >

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:

See also:
eoReal eoEsSimple eoEsStdev eoEsFull eoInit

Definition at line 57 of file eoEsChromInit.h.


Constructor & Destructor Documentation

template<class EOT>
eoEsChromInit< EOT >::eoEsChromInit ( eoRealVectorBounds _bounds,
double  _sigma = 0.3,
bool  _to_scale = false 
) [inline]

Constructor.

Parameters:
_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 73 of file eoEsChromInit.h.

References eoRealBaseVectorBounds::range(), eoRealInitBounded< EOT >::theBounds(), eoEsChromInit< EOT >::uniqueSigma, and eoEsChromInit< EOT >::vecSigma.

template<class EOT>
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.

Parameters:
_bounds bounds for uniform initialization
_sigma initial value for the stddev

Definition at line 111 of file eoEsChromInit.h.


Member Function Documentation

template<class EOT>
void eoEsChromInit< EOT >::create_self_adapt ( eoReal< FitT > &   )  [inline, private]

Create intializer.

No adaptive mutation at all

Definition at line 133 of file eoEsChromInit.h.

Referenced by eoEsChromInit< EOT >::operator()().

template<class EOT>
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 144 of file eoEsChromInit.h.

References eoEsSimple< Fit >::stdev, and eoEsChromInit< EOT >::uniqueSigma.

template<class EOT>
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

Todo:
Should we scale sigmas to the corresponding object variable range?

Definition at line 160 of file eoEsChromInit.h.

References eoEsStdev< Fit >::stdevs, and eoEsChromInit< EOT >::vecSigma.

template<class EOT>
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 174 of file eoEsChromInit.h.

References eoEsFull< Fit >::correlations, eoEsFull< Fit >::stdevs, eoRng::uniform(), and eoEsChromInit< EOT >::vecSigma.


The documentation for this class was generated from the following file:

Generated on Thu Jan 1 23:19:45 2009 for EvolvingObjects by  doxygen 1.5.5