class documentation

class CMAAdaptSigmaCSA(CMAAdaptSigmaBase):

View In Hierarchy

CSA cumulative step-size adaptation AKA path length control.

As of 2017, CSA is considered as the default step-size control method within CMA-ES.

Method __init__ postpone initialization to a method call where dimension and mueff should be known.
Method initialize set parameters and state variable based on dimension, mueff and possibly further options.
Method update call self._update_ps(es) and update es.sigma.
Method update2 call self._update_ps(es) and update self.delta.
Instance Variable cs Undocumented
Instance Variable damps Undocumented
Instance Variable delta cumulated effect of adaptation
Instance Variable disregard_length_setting Undocumented
Instance Variable is_initialized Undocumented
Instance Variable max_delta_log_sigma Undocumented
Instance Variable ps Undocumented
Method _update_ps update path with isotropic delta mean, possibly clipped.
Instance Variable _ps_updated_iteration Undocumented

Inherited from CMAAdaptSigmaBase:

Method check_consistency make consistency checks with a CMAEvolutionStrategy instance as input
Method hsig return "OK-signal" for rank-one update, True (OK) or False (stall rank-one update), based on the length of an evolution path
Method initialize_base set parameters and state variable based on dimension, mueff and possibly further options.
Instance Variable is_initialized_base Undocumented
def __init__(self, **kwargs):

postpone initialization to a method call where dimension and mueff should be known.

def initialize(self, es):

set parameters and state variable based on dimension, mueff and possibly further options.

def update(self, es, **kwargs):

call self._update_ps(es) and update es.sigma.

Legacy method replaced by update2.

def update2(self, es, **kwargs):

call self._update_ps(es) and update self.delta.

Return change factor of self.delta.

From input es, either attribute N or const.chiN is used and path_for_sigma_update.

damps =

Undocumented

delta: int =

cumulated effect of adaptation

disregard_length_setting =

Undocumented

is_initialized: bool =

Undocumented

max_delta_log_sigma: int =

Undocumented

def _update_ps(self, es):

update path with isotropic delta mean, possibly clipped.

From input argument es, the attributes isotropic_mean_shift, opts['CSA_clip_length_value'], and N are used. opts['CSA_clip_length_value'] can be a single value, the upper bound factor, such that:

max_len = sqrt(N) + opts['CSA_clip_length_value'] * N / (N+2)

or a list with a lower and an upper factor.

_ps_updated_iteration =