# eoEsChromInit< EOT > Class Template Reference
[EvolutionStrategies]

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

`#include <eoEsChromInit.h>`

Inheritance diagram for eoEsChromInit< EOT >:

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, 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:

- eoReal just an eoVector<double>
- eoEsSimple + one self-adapting single sigma for all variables
- eoEsStdev a whole std::vector of self-adapting sigmas
- eoEsFull a full self-adapting correlation matrix

See also:
  eoReal eoEsSimple eoEsStdev eoEsFull eoInit

Definition at line 55 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 71 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,
|  | 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 109 of file eoEsChromInit.h.

References eoEsChromInit< EOT >::uniqueSigma, and eoEsChromInit< EOT >::vecSigma.

## 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 128 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 139 of file eoEsChromInit.h. References eoEsSimple< Fit >::stdev.

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

References eoEsStdev< Fit >::stdevs.

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 169 of file eoEsChromInit.h. References eoEsFull< Fit >::correlations, eoEsFull< Fit >::stdevs, and eoRng::uniform().

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

- eoEsChromInit.h