EvolvingObjects
eoEsChromInit< EOT > Class Template Reference

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

#include <eoEsChromInit.h>

Inheritance diagram for eoEsChromInit< EOT >:
eoRealInitBounded< EOT > eoInit< EOT > eoUF< EOT &, void > eoFunctorBase unary_function

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 58 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:
_boundsbounds for uniform initialization
_sigmainitial value for the stddev
_to_scalewether 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.

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:
_boundsbounds for uniform initialization
_vecSigmainitial value for the stddev

Definition at line 112 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 134 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 145 of file eoEsChromInit.h.

References 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 161 of file eoEsChromInit.h.

References 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 175 of file eoEsChromInit.h.

References eoRng::uniform(), and eoEsChromInit< EOT >::vecSigma.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends