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

Mutation component of a ES. More...

#include <freESAdaptiveCovarianceMutation.h>

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

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

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

List of all members.

Public Types

typedef
AdaptiveCovarianceMutation
< TIndividual > 
Self
typedef MutationBase
< TIndividual > 
Superclass
typedef
itk::SmartPointer
< Self
Pointer
typedef
itk::SmartPointer
< const Self
ConstPointer
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

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

Protected Attributes

double m_StrategicMutationVariance
double m_MutateValueVariance
VariateGeneratorType::Pointer m_RandomGenerator

Private Member Functions

 AdaptiveCovarianceMutation (Self const &)


Detailed Description

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

Mutation component of a ES.

Mutates the objective values with the use of a covariance matrix and a delta vector consisting of n normal distributed variates (n: number of objective parameters). The covariance matrix is defined by n variances (v) and ((n-1)*n)/2 orientation angels (a). The elements of the covariance matrix c(i,j) are defined by following term:
tan(2*a(i,j)) = c(i,j)/v(i)² - v(j)²
of the variate for each objectiv 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 devault value of the stragic 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)(befor mutation); s'[i]: strategic parameter (related to the i-th objective parameter)(after mutation); a: variance of strategic mutation; x[i]: the i-th objectiv parameter (befor mutation); x'[i]: the i-th objectiv parameter (after mutation); gs[i]: general scale of the i-th objective parameter;

Definition at line 57 of file freESAdaptiveCovarianceMutation.h.


Member Typedef Documentation

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

Standard "Self" typedef.

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

Definition at line 62 of file freESAdaptiveCovarianceMutation.h.

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

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

Definition at line 63 of file freESAdaptiveCovarianceMutation.h.

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

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

Definition at line 64 of file freESAdaptiveCovarianceMutation.h.

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

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

Definition at line 65 of file freESAdaptiveCovarianceMutation.h.

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

random variate generator type.

Definition at line 82 of file freESAdaptiveCovarianceMutation.h.


Constructor & Destructor Documentation

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

Definition at line 29 of file freESAdaptiveCovarianceMutation.txx.

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


Member Function Documentation

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

Method for creation through the object factory.

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

Definition at line 68 of file freESAdaptiveCovarianceMutation.h.

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

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

Definition at line 68 of file freESAdaptiveCovarianceMutation.h.

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

Run-time type information (and related methods).

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

Definition at line 71 of file freESAdaptiveCovarianceMutation.h.

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

Definition at line 39 of file freESAdaptiveCovarianceMutation.txx.

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

Definition at line 56 of file freESAdaptiveCovarianceMutation.txx.

References throwExceptionMacro.

template<class TIndividual>
double FREE::ES::AdaptiveCovarianceMutation< 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 >.

Definition at line 79 of file freESAdaptiveCovarianceMutation.txx.

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

Definition at line 78 of file freESAdaptiveCovarianceMutation.h.

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

Definition at line 79 of file freESAdaptiveCovarianceMutation.h.

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

Definition at line 81 of file freESAdaptiveCovarianceMutation.h.

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

Definition at line 82 of file freESAdaptiveCovarianceMutation.h.

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

Definition at line 86 of file freESAdaptiveCovarianceMutation.h.

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

Definition at line 89 of file freESAdaptiveCovarianceMutation.txx.

References throwExceptionMacro.


Member Data Documentation

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

Variance used to mutate the strategic parameters

Definition at line 92 of file freESAdaptiveCovarianceMutation.h.

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

Variance that should be used by MutateValue()

Definition at line 94 of file freESAdaptiveCovarianceMutation.h.

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

Definition at line 96 of file freESAdaptiveCovarianceMutation.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