sequince.steps.mutation.adaptive.policies.de#
Stage-boundary policies for a fixed bank of DE scale multipliers.
Classes#
Choose categorical weights only from completed mutation blocks. |
|
Favor DE scales with larger squared displacement per attempted move. |
Module Contents#
- class sequince.steps.mutation.adaptive.policies.de.DEScaleWeightPolicy[source]#
Bases:
ProtocolChoose categorical weights only from completed mutation blocks.
- initialise(*, initial_weights, context)[source]#
- Parameters:
context (sequince.steps.context.StepContext)
- Return type:
- class sequince.steps.mutation.adaptive.policies.de.ESJDScaleWeightPolicy[source]#
Favor DE scales with larger squared displacement per attempted move.
- Parameters:
learning_rate (float) – Fraction of the proposed distribution used in each update, in (0, 1]. The remainder retains the current weights.
exploration_probability (float) – Fraction of each proposed distribution assigned uniformly, in (0, 1]. Initialization mixes the supplied weights with this uniform fraction too, ensuring every component can be measured. Every weight is then at least
exploration_probability / n_components.min_attempts (int) – Require this many attempts in every ordinary component before updating. Sparse blocks and blocks with zero total movement retain the current distribution.
Notes
Scores are squared accepted-jump sums divided by attempts (rejections contribute zero). Explicit unit moves, component -1, are excluded; their probability is not adapted. Scores use mutation coordinates, including any configured transform. They are not normalized for coordinate scale or likelihood cost. Equal-cost proposals make ESJD a movement-per-cost proxy, not a convergence diagnostic. Host conversion occurs only after the mutation block has completed.
- initialise(*, initial_weights, context)[source]#
- Parameters:
context (sequince.steps.context.StepContext)
- Return type: