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

Mutation component of an ES. More...

#include <freESAdaptiveScaleMutation.h>

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

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

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

List of all members.

Public Types

typedef
AdaptiveScaleMutation
< TIndividual > 
Self
typedef
AdaptiveNormalMutation
< 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
virtual double MutateValue (const double &value)
VariateGeneratorTypeGetRandomGenerator ()

Static Public Member Functions

static Pointer New (void)

Protected Member Functions

 AdaptiveScaleMutation ()
virtual void MutateObjectivParameters (IndividualType *pIndividual, PopulationType *pPopulation) const

Private Member Functions

 AdaptiveScaleMutation (Self const &)


Detailed Description

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

Mutation component of an ES.

Mutates the objective values with a normal distributed variate. In difference to AdaptiveNormalMutation this mutation does not add a mutation offset to the mutated value but it scales the value. 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)
v[i] = N(0,s'[i])
v[i] < 0 : x'[i] = x[i] * 1/(1-(v[i]*gs[i]))
v[i] >= 0 : x'[i] = x[i] * (1+(v[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;
v[i]: variate for the the i-th objective parameter;
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 60 of file freESAdaptiveScaleMutation.h.


Member Typedef Documentation

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

Standard "Self" typedef.

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

Definition at line 65 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 66 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 67 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 68 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 74 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 77 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 78 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 79 of file freESAdaptiveScaleMutation.h.

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

random variate generator type.

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

Definition at line 84 of file freESAdaptiveScaleMutation.h.


Constructor & Destructor Documentation

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

Definition at line 34 of file freESAdaptiveScaleMutation.txx.

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


Member Function Documentation

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

Method for creation through the object factory.

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

Definition at line 71 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 71 of file freESAdaptiveScaleMutation.h.

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

Run-time type information (and related methods).

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

Definition at line 74 of file freESAdaptiveScaleMutation.h.

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

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

Definition at line 41 of file freESAdaptiveScaleMutation.txx.

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

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

Definition at line 85 of file freESAdaptiveScaleMutation.h.

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

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

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

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

Definition at line 51 of file freESAdaptiveScaleMutation.txx.

References throwExceptionMacro.


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