Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages | Search for

# eoOneFifthMutation< EOT > Class Template Reference

the dynamic version: just say it is updatable - and write the update() method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !) More...

`#include <eoNormalMutation.h>`

Inheritance diagram for eoOneFifthMutation< EOT >:

List of all members.

## Public Types
typedef EOT::Fitness | Fitness
## Public Member Functions
| eoOneFifthMutation (eoEvalFunc< EOT > &_eval, double &_sigmaInit, unsigned _windowSize=10, double _updateFactor=0.83, double _threshold=0.2)
| (Default) Constructor.
virtual std::string | className () const
| The class name.
bool | operator() (EOT &_eo)
| Do it! calls the standard mutation, then checks for success and updates stats.
void | update ()
| the method that will be called every generation if the object is added to the checkpoint
## Private Attributes
eoEvalFunc< EOT > & | eval
double | threshold
double | updateFactor
std::vector< unsigned > | nbMut
std::vector< unsigned > | nbSuccess
unsigned | genIndex

## Detailed Description

### template<class EOT>
class eoOneFifthMutation< EOT >

the dynamic version: just say it is updatable - and write the update() method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !)

Definition at line 177 of file eoNormalMutation.h.

## Constructor & Destructor Documentation

template<class EOT>
eoOneFifthMutation< EOT >::eoOneFifthMutation | ( | eoEvalFunc< EOT > & | _eval,
|  | double & | _sigmaInit,
|  | unsigned | _windowSize = `10`,
|  | double | _updateFactor = `0.83`,
|  | double | _threshold = `0.2`
| ) | `[inline]`

  | (Default) Constructor. Parameters:
  | eval | the evaluation function, needed to recompute the fitmess
  | _sigmaInit | the initial value for uniform mutation
  | _windowSize | the size of the window for statistics
  | _threshold | the threshold (the 1/5 - 0.2)
  | _updateFactor | multiplicative update factor for sigma
Definition at line 195 of file eoNormalMutation.h.

## Member Function Documentation

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

  | Do it! calls the standard mutation, then checks for success and updates stats. Parameters:
  | _eo | The chromosome undergoing the mutation
Reimplemented from eoNormalMutation< EOT >. Definition at line 216 of file eoNormalMutation.h. References EO< F >::fitness(), EO< F >::invalid(), EO< F >::invalidate(), and eoNormalMutation< EOT >::operator()().

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

- eoNormalMutation.h