Skip to content

0.2.0

Compare
Choose a tag to compare
@mschmidt87 mschmidt87 released this 10 Nov 10:36
· 137 commits to master since this release
f6143c5

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