About

CGP-Library is a cross platform Cartesian Genetic Programming implementation designed to be simple to use whilst being highly extendable.  The library is written in C and is compatible with Linux, Windows and Mac OS.  The CGP-Library implements the following:

  • Cartesian Genetic Programming
  • Recurrent Cartesian Genetic Programming
  • Cartesian Genetic Programming of Artificial Neural Networks
  • Recurrent Cartesian Genetic Programming of Artificial Neural Networks

Information relating to Cartesian Genetic Programming is maintained at http://www.cartesiangp.co.uk/ which includes a ten slide introduction http://www.cartesiangp.co.uk/cgp-in-nutshell.pdf.  This documentation also includes a short introduction to CGP in Cartesian Genetic Programming.

Summary
AboutCGP-Library is a cross platform Cartesian Genetic Programming implementation designed to be simple to use whilst being highly extendable.
NewsCGP-Lirary 2.4 has been released!  Grab this latest version from the Downloads page.
TutorialsA number of tutorials are provided to introduce users to the CGP-Library and many of its features.
AuthorAndrew James Turner
CitationsIf the CGP-Library is ever used in published work it would be greatly appreciated if a citation were made to the following journal letter.
ContactBugs, clarification and feature requests can be sent to author, see above.
Open SourceCGP-Library is an open source project released under the GNU Lesser General Public License.
ReferencesMuch of the CGP-Library is based on published peer reviewed academic research.

News

CGP-Lirary 2.4 has been released!  Grab this latest version from the Downloads page.  This update brings support for multiple threads and minor bug fixes.

Tutorials

A number of tutorials are provided to introduce users to the CGP-Library and many of its features.  New users should download the CGP-Library from Downloads and then follow the Installation and Getting Started tutorials.

For those familiar with the open source cross platform IDE Code::Blocks (http://www.codeblocks.org/), a Code::Blocks project file is also provided which contains all of the tutorial source files (under Ubuntu you may also need to also install xterm for code::blocks to run the programs in its default terminal).

Citations

If the CGP-Library is ever used in published work it would be greatly appreciated if a citation were made to the following journal letter.  Emails informing of any publications which make reference to the CGP-Library would also be warmly received.

A.  J. Turner and J.  F. Miller.  Introducing A Cross Platform Open Source Cartesian Genetic Programming Library.  The Journal of Genetic Programming and Evolvable Machines, 16, 83-91, 2014.

Contact

Bugs, clarification and feature requests can be sent to author, see above.

Open Source

CGP-Library is an open source project released under the GNU Lesser General Public License.  See Licenses for more details.  The CGP-Library project is hosted with github at https://github.com/AndrewJamesTurner/CGP-Library so feel free to fork the project and get the latest (possibly unstable) version of the code.

References

Much of the CGP-Library is based on published peer reviewed academic research.  Follows are the relevant references for various aspects of the library.

Cartesian Genetic Programming

  • Miller, J.F., Thomson, P.: Cartesian genetic programming.  In: EuroGP’00. vol.1820, pp.121-132 (2000)
  • Miller, J.F.: Cartesian Genetic Programming.  Springer (2011)

Cartesian Genetic Programming of Artificial Neural Networks

  • Khan, M.M., Ahmad, M.A., Khan, M.G., Miller, J.F.: Fast learning neural networks using Cartesian Genetic Programming.  Neurocomputing 121, pp.274-289 (2013)
  • Turner, A.J., Miller, J.F.: Cartesian Genetic Programming encoded Artificial Neural Networks: A Comparison using Three Benchmarks.  In: Proceedings of the Conference on Genetic and Evolutionary Computation (GECCO’13), pp.1005-1012 (2013)

Recurrent Cartesian Genetic Programming

  • Turner, A.J., Miller, J.F.: Recurrent Cartesian Genetic Programming.  In:PPSN’14. pp.476-486 (2014)

Single Active Mutation

  • Goldman, B.W., Punch, W.F.: Reducing Wasted Evaluations in Cartesian Genetic Programming.  In: Proceedings of the 16th European Conference on Genetic Programming (EuroGP’13). vol.7831, pp.61-72.  Springer Verlag (2013)
The current and previous versions of CGP-Library will be available here for download.
Cartesian Genetic Programming (CGP) is a form of Genetic Programming (GP) which is itself an Evolutionary Algorithm (EA).
First download the latest CGP-Library from Download and unzip the file.
This tutorial introduces and steps through a simple program which uses the CGP-Library to solve a symbolic regression problem.
CGP-Library is an open source project intended to be useful for many applications.
Close