FREE::ES::AdaptiveNormalMutation< TIndividual > Class Template Reference
[Evolutionary strategies]

Mutation component of an ES. More...

#include <freESAdaptiveNormalMutation.h>

Inheritance diagram for FREE::ES::AdaptiveNormalMutation< TIndividual >:

Inheritance graph
FREE::ES::AdaptiveScaleMutation\< TIndividual \>FREE::ES::MutationBase\< TIndividual \>FREE::ES::ComponentBase\< TIndividual \>
[legend]
Collaboration diagram for FREE::ES::AdaptiveNormalMutation< TIndividual >:

Collaboration graph
FREE::ES::MutationBase\< TIndividual \>FREE::ES::ComponentBase\< TIndividual \>
[legend]

List of all members.

Public Types

typedef
AdaptiveNormalMutation
< TIndividual > 
Self
typedef MutationBase
< TIndividual > 
Superclass
typedef
itk::SmartPointer
< Self
Pointer
typedef
itk::SmartPointer
< const Self
ConstPointer
typedef
Superclass::IndividualType 
IndividualType
typedef
IndividualType::Pointer 
IndividualPointer
typedef
Superclass::PopulationType 
PopulationType
typedef
PopulationType::Pointer 
PopulationPointer
typedef
itk::Statistics::NormalVariateGenerator 
VariateGeneratorType

Public Member Functions

virtual
::itk::LightObject::Pointer 
CreateAnother (void) const
virtual const char * GetNameOfClass () const
void RegisterStrategicIndividualParameters (IndividualType &individual) const
void MutateStrategicIndividualParameters (IndividualType &individual, PopulationType &population) const
double MutateValue (const double &value)
virtual void SetStrategicMutationVariance (const double _arg)
virtual double GetStrategicMutationVariance ()
virtual void SetMutateValueVariance (const double _arg)
virtual double GetMutateValueVariance ()
VariateGeneratorTypeGetRandomGenerator ()

Static Public Member Functions

static Pointer New (void)

Protected Member Functions

 AdaptiveNormalMutation ()
void MutateObjectivParameters (IndividualType *pIndividual, PopulationType *pPopulation) const

Protected Attributes

double m_StrategicMutationVariance
double m_MutateValueVariance
VariateGeneratorType::Pointer m_RandomGenerator

Private Member Functions

 AdaptiveNormalMutation (Self const &)


Detailed Description

template<class TIndividual>
class FREE::ES::AdaptiveNormalMutation< TIndividual >

Mutation component of an ES.

Mutates the objective values with a normal distributed variate. The variance of the variate for each objective parameter is stored as strategic parameter. The strategic parameter will be mutated by a log-normal distributed variate before used for the mutation of the objective parameters. The default value of the strategic parameters is 1.0.
s'[i] = s[i] * LN(0,a)
x'[i] = x[i] + (N(0,s'[i]) / gs[i])

s[i]: strategic parameter (related to the i-th objective parameter)(before mutation);
s'[i]: strategic parameter (related to the i-th objective parameter)(after mutation);
a: variance of strategic mutation;
x[i]: the i-th objective parameter (before mutation);
x'[i]: the i-th objective parameter (after mutation);
gs[i]: general scale of the i-th objective parameter;

Definition at line 57 of file freESAdaptiveNormalMutation.h.


Member Typedef Documentation

template<class TIndividual>
typedef AdaptiveNormalMutation<TIndividual> FREE::ES::AdaptiveNormalMutation< TIndividual >::Self

Standard "Self" typedef.

Reimplemented from FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 62 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
typedef MutationBase<TIndividual> FREE::ES::AdaptiveNormalMutation< TIndividual >::Superclass

Reimplemented from FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 63 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
typedef itk::SmartPointer<Self> FREE::ES::AdaptiveNormalMutation< TIndividual >::Pointer

Reimplemented from FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 64 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
typedef itk::SmartPointer<const Self> FREE::ES::AdaptiveNormalMutation< TIndividual >::ConstPointer

Reimplemented from FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 65 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
typedef Superclass::IndividualType FREE::ES::AdaptiveNormalMutation< TIndividual >::IndividualType

Reimplemented from FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 71 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
typedef IndividualType::Pointer FREE::ES::AdaptiveNormalMutation< TIndividual >::IndividualPointer

Reimplemented from FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 74 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
typedef Superclass::PopulationType FREE::ES::AdaptiveNormalMutation< TIndividual >::PopulationType

Reimplemented from FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 75 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
typedef PopulationType::Pointer FREE::ES::AdaptiveNormalMutation< TIndividual >::PopulationPointer

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 76 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
typedef itk::Statistics::NormalVariateGenerator FREE::ES::AdaptiveNormalMutation< TIndividual >::VariateGeneratorType

random variate generator type.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 87 of file freESAdaptiveNormalMutation.h.


Constructor & Destructor Documentation

template<class TIndividual>
FREE::ES::AdaptiveNormalMutation< TIndividual >::AdaptiveNormalMutation (  )  [inline, protected]

Definition at line 34 of file freESAdaptiveNormalMutation.txx.

template<class TIndividual>
FREE::ES::AdaptiveNormalMutation< TIndividual >::AdaptiveNormalMutation ( Self const &   )  [private]


Member Function Documentation

template<class TIndividual>
static Pointer FREE::ES::AdaptiveNormalMutation< TIndividual >::New ( void   )  [inline, static]

Method for creation through the object factory.

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 68 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
virtual ::itk::LightObject::Pointer FREE::ES::AdaptiveNormalMutation< TIndividual >::CreateAnother ( void   )  const [inline, virtual]

Reimplemented from FREE::ES::ComponentBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 68 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
virtual const char* FREE::ES::AdaptiveNormalMutation< TIndividual >::GetNameOfClass (  )  const [inline, virtual]

Run-time type information (and related methods).

Reimplemented from FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 71 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
void FREE::ES::AdaptiveNormalMutation< TIndividual >::RegisterStrategicIndividualParameters ( IndividualType individual  )  const [inline]

Definition at line 44 of file freESAdaptiveNormalMutation.txx.

template<class TIndividual>
void FREE::ES::AdaptiveNormalMutation< TIndividual >::MutateStrategicIndividualParameters ( IndividualType individual,
PopulationType population 
) const [inline]

Definition at line 61 of file freESAdaptiveNormalMutation.txx.

References throwExceptionMacro.

template<class TIndividual>
double FREE::ES::AdaptiveNormalMutation< TIndividual >::MutateValue ( const double &  value  )  [inline, virtual]

Mutates the passed value, any mutation parameters (if existant) must be set, befor calling this function

Parameters:
value Value that should be mutated.
Returns:
The mutated value

Implements FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 84 of file freESAdaptiveNormalMutation.txx.

template<class TIndividual>
virtual void FREE::ES::AdaptiveNormalMutation< TIndividual >::SetStrategicMutationVariance ( const double  _arg  )  [inline, virtual]

Definition at line 83 of file freESAdaptiveNormalMutation.h.

Referenced by FREE::ESAdaptiveScaleMutationController::ActualizeMainComponent(), and FREE::ESAdaptiveNormalMutationController::ActualizeMainComponent().

template<class TIndividual>
virtual double FREE::ES::AdaptiveNormalMutation< TIndividual >::GetStrategicMutationVariance (  )  [inline, virtual]

Definition at line 84 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
virtual void FREE::ES::AdaptiveNormalMutation< TIndividual >::SetMutateValueVariance ( const double  _arg  )  [inline, virtual]

Definition at line 86 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
virtual double FREE::ES::AdaptiveNormalMutation< TIndividual >::GetMutateValueVariance (  )  [inline, virtual]

Definition at line 87 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
VariateGeneratorType& FREE::ES::AdaptiveNormalMutation< TIndividual >::GetRandomGenerator (  )  [inline]

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 91 of file freESAdaptiveNormalMutation.h.

Referenced by FREE::ESAdaptiveNormalMutationController::ActualizeMainComponent().

template<class TIndividual>
void FREE::ES::AdaptiveNormalMutation< TIndividual >::MutateObjectivParameters ( IndividualType pIndividual,
PopulationType pPopulation 
) const [inline, protected, virtual]

Called by Mutate() to mutate the objective values of an individual

Implements FREE::ES::MutationBase< TIndividual >.

Reimplemented in FREE::ES::AdaptiveScaleMutation< TIndividual >.

Definition at line 94 of file freESAdaptiveNormalMutation.txx.

References throwExceptionMacro.


Member Data Documentation

template<class TIndividual>
double FREE::ES::AdaptiveNormalMutation< TIndividual >::m_StrategicMutationVariance [protected]

Variance used to mutate the strategic parameters

Definition at line 97 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
double FREE::ES::AdaptiveNormalMutation< TIndividual >::m_MutateValueVariance [protected]

Variance that should be used by MutateValue()

Definition at line 99 of file freESAdaptiveNormalMutation.h.

template<class TIndividual>
VariateGeneratorType::Pointer FREE::ES::AdaptiveNormalMutation< TIndividual >::m_RandomGenerator [protected]

Definition at line 101 of file freESAdaptiveNormalMutation.h.


The documentation for this class was generated from the following files:
Generated at Sat Oct 13 18:29:47 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000