Releases: Happy-Algorithms-League/hal-cgp
Releases · Happy-Algorithms-League/hal-cgp
0.3.0
This is the third major release of the hal-cgp library.
It contains the following changes:
New features
- Introduce callback to initialize individuals of the initial parent population #253
- Support custom atomic operators #254
- Provide support for hurdles during evolution #259 , #280
- Local search that does not require differential objectives -- evolution strategies #262
- Improved caching decorator #263
- Multiversion doc via readthedocs #315
API changes
- Make levels_back parameter optional #281
- Allow custom functions to be used for computing cache keys #284
- Redesign signatures of compilation targets #294
- Replace min_fitness by termination_fitness #295
Bugfixes
- Reorder changes phenotype for individuals with parameters #265
- Cache decorator: use all args and kwargs when computing fec cache key #272
Maintenance
- Use a persistent process pool instead of a context manager for multiprocessing #260
- Reset parameters when the corresponding node is created by mutation of a genome #264
- Rename input -> address for address genes in hidden/outp… #267
- Check tournament_size <= n_parents in hl_api #268
- Move mutation_rate into EA #269
- Remove support for calling graph directly #270
- Fix error message wrong size passed to to_torch/to_numpy graphs #273
- Remove outdated n_processes argument in hl_api #275
- Add annotation in Individual #293
- Bump pillow version #291
- Improve description of design/use cases #292
- Port CI from travis to github actions #296
- Add test for n_columns=0 #299
Contributors (in alphabetical order)
Jakob Jordan
Henrik Mettler
Maximilian Schmidt
0.2.0
This is the second major release of the hal-cgp library.
It contains the following changes:
New features
- Provide possibility to restrict local search to
k
best individuals #160 - Track parent id in offsprings, i.e., cloned individuals, to allow the reconstruction of full lineages #168
- New logic for mutation of genes: instead of mutating the same number of genes in each offspring, the number of mutations is now sampled from a distribution #180
- Allow multiple parameters for parametrized nodes #191
- Sphinx-powered documentation #181 , #188 , #189 , #200 , #205 , #218 , #220 , #223 , #234
- Extend cache decorator with functional equivalence checking #207
- Use norm clipping instead of value clipping to avoid changing the direction of the gradient in local search #210
- Make sure user-set attributes of individuals are copied to offspring to allow consistent recording #222
- New node: if/else operator to support, for example, piecewise target functions #231
- New Examples: #227 (minimal example), #230 (using multiple genomes), #231 (using if/else node)
- Add option to limit number of fitness evaluations instead of number of generations #238
- Add functionality to reorder the nodes in the parents genome(s) before creating offspring #239
Bugfixes
Maintenance
- Improvements in test suite #161 , #171 , #176 , #179 , #190 , #193
- Simplification of internal routines #169, #170
- Simplification of the
Node
class #178 - Removal of crossover operation and breeding pool #195
- Remove unused function
_is_active_input_gene
#211 - Use "logical and", and reuse existing functions in helper functions of
Genome
#212 - Sort imports consistently #219
Contributors (in alphabetical order)
Jakob Jordan
Henrik Mettler
Maximilian Schmidt
0.1.1
This release fixes a bug which led to wrong numbers of mutations in mutated genomes (see #156 ). The bug was introduced in 91b62d5 and fixed via #157 .
Furthermore, this release contains the following changes:
- Simplify installation of individual extra requirements (#145 )
- Refactoring: the
mutate
function was moved from theIndividualBase
class to theGenome
class. (#153 ) - New example solving the
MountainCarContinuous
environment in theOpenAI
gym (#149 )
Contributors (in alphabetical order)
Jakob Jordan
Hendrik Mettler
Maximilian Schmidt
0.1.0
This is the initial release of the hal-cgp library.