Skip to content

Commit 057e94a

Browse files
committed
update CHANGELOG
1 parent 026de77 commit 057e94a

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

CHANGELOG.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
* (naming only) Refactor `MutationType::ScaledSteps(Vec<T>)` to
1111
`MutationType::StepScaled(Vec<T>)` for naming consistency
1212
* (naming only) Refactor `MutationType::RelativeRange(T)` to
13-
`MutationType::Range(T)` as `MutationType::Step(T)` is also relative.
13+
`MutationType::Range(T)`, as `MutationType::Step(T)` is also relative.
1414
* Refactor `MutationType::Transition(usize, usize, T)` to `MutationType::RangeScaled(Vec<T>)`:
1515
* Drop the generation based transition configuration params (as it couldn't handle staleness)
16-
* Replace params with bandwidth per scale (just like step-size per scale StepScaled)
16+
* Replace params with bandwidth per scale (just like step-size per scale in `MutationType::StepScaled`)
1717
* Use bandwidths equal to the full `allele_range` to achieve effective `MutationType::Random` mutation
1818
* Now `max_generations` and `max_stale_generations` handle scale transitions in the same manner everywhere
1919
* It is a good idea to use a prolonged period of full Random sampling (exploration phase, so
2020
several 100% bandwidth scales), which then transitions quite fast to the smaller bandwidths
2121
(exploitation phase, a few smaller bandwidth scales).
22-
* Add `MutationType::Step(T)` for completeness
2322

24-
### Add
23+
### Added
24+
* Add `MutationType::Step(T)` for completeness
2525
* Add `max_generations` as scale trigger as well in `Evolve` and `HillClimb`. Now
2626
`max_generations` and `max_stale_generations` behave the same:
27-
* Ending condition for current scale, go to next scale and restart counting generations
27+
* Ending condition for current scale, go to next scale and restart counting
28+
generations
2829
* Final ending condition if no scales left (or no scaling at all)
30+
* Both `max_generations` and `max_stale_generations` can be set at the same
31+
time, the first to reach the condition triggers and reset both
2932
* Support unsigned integers for `MutationType::Range` and `MutationType::Step` as well (and scaled versions)
3033
* Allow for zero bandwidth/step in `MutationType::Range` and
31-
`MutationType::Step` (and scaled versions), which lets the mutation die out
34+
`MutationType::Step` (and scaled versions), which lets the mutation die out (more for robustness than usefulness)
3235
* Add `examples/visualize_evolve_mutation_types` and `examples/visualize_permutate_mutation_types`, which
3336
generate visualizations showing exploration patterns of different mutation strategies
3437

35-
### Remove
38+
### Removed
3639
* Remove `increment_generation()` and `reset_generation()` from `Genotype` and remove hook
3740
in Strategies, as all scaled MutationTypes now work in the same manner
3841
* Remove unused `Vec<Chromosome<T>>` into `Population<T>` implementation

0 commit comments

Comments
 (0)