eoNormalMutation(3)

NAME
eoNormalMutation - Simple normal mutation of a std::vector of real values.

SYNOPSIS

#include <eoNormalMutation.h>

Inherits eoMonOp< EOT >.

Inherited by eoOneFifthMutation< EOT >.

  Public Member Functions
eoNormalMutation (double &_sigma, const double &_p_change=1.0)
(Default) Constructor.
eoNormalMutation (eoRealVectorBounds &_bounds, double _sigma, const double &_p_change=1.0)
Constructor with bounds.
virtual std::string className () const
The class name.
bool operator() (EOT &_eo)
Do it!
double & Sigma ()
Accessor to ref to sigma - for update and monitor.

  Private Attributes
double & sigma
eoRealVectorBounds & bounds
double p_change

Detailed Description

  template<class EOT> class eoNormalMutation< EOT >
Simple normal mutation of a std::vector of real values. The stDev is fixed - but it is passed ans stored as a reference, to enable dynamic mutations (see eoOenFithMutation below).

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!!!

Definition at line 116 of file eoNormalMutation.h.

Constructor & Destructor Documentation

  template<class EOT> eoNormalMutation< EOT >::eoNormalMutation (double & _sigma, const double & _p_change = 1.0) [inline]

(Default) Constructor.

The bounds are initialized with the global object that says: no bounds.

Parameters:
    _sigma the range for uniform nutation
    _p_change the probability to change a given coordinate

Definition at line 127 of file eoNormalMutation.h.

  template<class EOT> eoNormalMutation< EOT >::eoNormalMutation (eoRealVectorBounds & _bounds, double _sigma, const double & _p_change = 1.0) [inline]

Constructor with bounds.

Parameters:
    _bounds an eoRealVectorBounds that contains the bounds
    _sigma the range for uniform nutation
    _p_change the probability to change a given coordinate

Definition at line 136 of file eoNormalMutation.h.

Member Function Documentation

  template<class EOT> bool eoNormalMutation< EOT >::operator() (EOT & _eo) [inline, virtual]

Do it!

Parameters:
    _eo The cromosome undergoing the mutation

Implements eoUF< EOT &, bool >.

Reimplemented in eoOneFifthMutation< EOT >.

Definition at line 147 of file eoNormalMutation.h.

References eoRng::flip(), eoRealBaseVectorBounds::foldsInBounds(), and eoRng::normal().

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

Author

Generated automatically by Doxygen for EO from the source code.