QDax
QDax copied to clipboard
Selection-Variation Emitter
This PR aims at improving the flexibility of all variational operators, and combine them with the repertoire selector we want.
More specifically:
- We introduce a
SelectionVariationEmitter
that separates the selector and the variation operator - All variation operators are divided into subcategories such as
Mutation
andCrossOver
- We also have a
VariationComposer
for applying several variations sequentially - We provide an implementation for SBX and Recombination CrossOvers
- All mutations have a
mutation_rate
that can be specified, and all cross-overs have across_over_rate
. All of those are by default equal to 1. - For all variation operators, we can specify some values for
minval
andmaxval
, to automatically clip the parameters.
The UML diagram of the proposed structure is:
TODOs left:
- [ ] Tests
- [ ] Documentation