Skip to content

Releases: Happy-Algorithms-League/hal-cgp

0.3.0

12 May 00:22
4513470
Compare
Choose a tag to compare

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

10 Nov 10:36
f6143c5
Compare
Choose a tag to compare

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

  • Avoid parameters being reininitialized in Genome.mutate() #213
  • Fix broken Node.repr #233

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

01 Jul 13:19
3f6639e
Compare
Choose a tag to compare

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 the IndividualBase class to the Genome class. (#153 )
  • New example solving the MountainCarContinuous environment in the OpenAI gym (#149 )

Contributors (in alphabetical order)

Jakob Jordan
Hendrik Mettler
Maximilian Schmidt

0.1.0

10 Jun 13:15
fad7435
Compare
Choose a tag to compare

This is the initial release of the hal-cgp library.