Recent Releases of dcgp

dcgp - v1.6

Phenotype correction

New features

  • Phenotype correction implemented and exposed. Allows for the symbolic expression to represent only part of an otherwise fixed mathematical formula
  • Minor improvements over performances.

Code ameliorations

  • Small refactoring
  • Update to new obake
  • Small bug fixes

Scientific Software - Peer-reviewed - C++
Published by darioizzo over 3 years ago

dcgp - dcgp: Differentiable Cartesian Genetic Programming made easy.

New

  • A new UDA is introduced to solve symbolic regression problems. Its called moes (Multi-Objective Evolutionary Startegy) and completes the evolutionary approaches in dcgp which can now be selected to be memetic or not and single objective or multi-objective.

Changes

  • The underlying computations of the symbolic regression optimizationlroblem (UDP) is now performed by obake using a vectorized type. Speed improvements are observed of orders between x4 and x100 depending on cases.

  • The problem on nans appearing and exceptions being thrown has been solved by guarding against symengine exceptions and by discarding zero columns and rows when inverting hessians for the Newton step of memetic algorithms.

  • BREAKING: the API has been made uniform for the four UDAs: es4cgp, moes4cgp, mes4cgp, momes4cgp as well as the mutation mechanism. Named parameters have thus changed and default values too.

  • The UDA es4cgp is no longer using a thread bfe to compute the loss. This avoids crashes when pythonic, non thread-safe kernels are used. A bfe can still be set by the user (deprecated in python) after the UDA has been instantiated.

  • Documentation has been improved and all tutorials and examples updated to the new API.

Scientific Software - Peer-reviewed - C++
Published by darioizzo over 5 years ago

dcgp - Pybind11

In this release we did introduce a few bug fixes #59 #57 thanks to @hejung, but mostly we reworked the CI and python bindings as to make use of pybind11 and the new updated versions of the dependencies audi and pagmo.

The next release v1.5 will contain major changes to API and features released.

Scientific Software - Peer-reviewed - C++
Published by darioizzo almost 6 years ago

dcgp - DCGP 1.4.2

In this point release we have been enabling serialization for the pagmo related objects that are now compatible with the parallelization schemes of the island model. Tutorials have been added to the docs as well as tests as usual.

Scientific Software - Peer-reviewed - C++
Published by darioizzo about 6 years ago

dcgp - DCGP 1.4.1

A small point release to fix the build of the pip packages due to the version number not being updated.

Scientific Software - Peer-reviewed - C++
Published by bluescarni about 6 years ago

dcgp - DCGP 1.4

This release come with various important new features on the Python side. Most importantly, kernels, kernel sets and expressions are now picklable, and thus they can now be used in conjunction with pagmo/pygmo's parallel constructs.

As a consequence of various internal changes that we had to implement, there is currently a performance regression with scalar kernels. We will be addressing the performance issues in future DCGP releases.

Scientific Software - Peer-reviewed - C++
Published by bluescarni about 6 years ago

dcgp - dcgp v1.3

This is the largest dcgp release so far, coming after several months of hard work by the development team.

To start off, several changes have been done on dcgp dependencies. In particular:

  • audi v1.7 is now used and that brings in a more efficient generalized dual numbers algebra
  • symengine v0.5.0 is used and interfaced to dcgp to manipulate in c++ directly symbolic expressions represented by CGPs.
  • pagmo v2.11 is now a dependency and used to represents symbolic regression as an optimization problem.

Then, we have the first version of a new feature that allows symbolic regression tasks to be solved with a much improved API and algorithms. In particular this involves

  • a new pagmo UPDs (optimization problem) to represents symbolic regression tasks
  • 4 new pagmo UDAs (solution strategies) able to solve the UDP

To end, major changes in packaging and distribution are made

  • We dropped support for pip in WIndows, and only kept linux (for the time being)
  • We started and will mainly support conda as a package manager.
  • We started abandoning py27 support (still included in this release, but deprecated)

This first release of v1.3 will be followed shortly by one or more point releases aimed at fixing issues we already know of, but that are best tackled once an official release is available of the major version.

Scientific Software - Peer-reviewed - C++
Published by darioizzo about 6 years ago

dcgp - Update third party dependencies

  • This is a minor release including updates to soem of the third party dependencies we typically build our binaries with. In particular, linux binaries distributed via pip will now use boost 1.70 and Cmake 3.13.4

  • Also the python test suite has been improved

Scientific Software - Peer-reviewed - C++
Published by darioizzo over 6 years ago

dcgp - dCGPANN and general performance improvements

New Features

  • dCGP-ANNs are added to the available expressions
  • New kernels are available for CGP
  • CGP expressions can be evaluated in parallel
  • backpropagation is implemented in dCGPANNs

Bug Fixes

  • Protected division had several issues and is now working as expected
  • The dCGP headers have an improved usability in third party projects

Scientific Software - Peer-reviewed - C++
Published by darioizzo over 6 years ago

dcgp - Update of DCGP dependencies and PY36-37 packages

This release does not contain any new features, just a major update of the build system, and a refresh of a code that was two years old.

  • Now compatible with piranha 0.11
  • Now compatible with audi 1.5

Scientific Software - Peer-reviewed - C++
Published by darioizzo over 7 years ago

dcgp - Now in PyPi

This release contains some modification necessary to make windows binaries. The CI system is upgraded and allows for the automated generation of python wheels.

The python bindings (a moduled called dcgpy) can now be installed (on windows 64 bits python 27, 34, 35) typing:

pip install dcgpy

Scientific Software - Peer-reviewed - C++
Published by darioizzo about 9 years ago

dcgp - The first release

Scientific Software - Peer-reviewed - C++
Published by darioizzo about 9 years ago