Abstract
Cartesian Genetic Programming (CGP) is a form of Genetic Programming which encodes computational structures as generic cyclic/acyclic graphs. This letter introduces a new cross platform CGP library intended for use in teaching, academic research and real world applications. This new CGP library is currently capable of evolving symbolic expressions, Boolean logic circuits and Artificial Neural Networks but can easily be extended to other domains. The CGP library, documentation and tutorials are all available at www.cgplibrary.co.uk.
Notes
For simplicity, here a single input single output CGP chromosome has been displayed. However CGP is also capable of creating multiple input multiple output programs.
Interestingly using a mixture of these three types is also possible.
The first line contains the number of inputs, outputs and the number of data samples. Subsequent lines contain the inputs followed by the outputs for each sample. All values are comma separated.
References
J. Ellson, E. Gansner, L. Koutsofios, S.C. North, Graphviz-open source graph drawing tools. In: Graph Drawing (Springer, Heidelberg, 2002), pp. 483–484
GNU: GNU Free Documentation License (2014). https://www.gnu.org/licenses/fdl.html
GNU: GNU Lesser General Public License (2014). https://www.gnu.org/licenses/lgpl.html
T. Heller, Ctypes (2014). https://pypi.python.org/pypi/ctypes
M.M. Khan, M.A. Ahmad, M.G. Khan, J.F. Miller, Fast learning neural networks using Cartesian genetic programming. Neurocomputing 121, 274–289 (2013)
J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, vol. 1 (MIT press, Cambridge, 1992)
L. Lamport, LaTeX: User’s Guide & Reference Manual (Addison-Wesley Publishing Company Inc, Boston, 1986)
J.F. Miller, An empirical study of the efficiency of learning boolean functions using a Cartesian genetic programming approach. In: Proceedings of the Genetic and Evolutionary Computation Conference, vol. 2 (Citeseer, 1999), pp. 1135–1142
J.F. Miller, What bloat? Cartesian genetic programming on Boolean problems. In: 2001 Genetic and Evolutionary Computation Conference Late Breaking Papers (2001), pp. 295–302
J.F. Miller (ed.), Cartesian Genetic Programming (Springer, Berlin, 2011)
J.F. Miller, Cartesiangp (2014). http://www.cartesiangp.co.uk/
J.F. Miller, S. Smith, Redundancy and computational efficiency in Cartesian genetic programming. IEEE Trans. Evol. Comput. 10(2), 167–174 (2006)
J.F. Miller, P. Thomson, Cartesian genetic programming. In: Proceedings of the Third European Conference on Genetic Programming (EuroGP), vol. 1820 (Springer, 2000), pp. 121–132
T. Preston-Werner, C. Wanstrath, P. Hyett, Github (2014). https://github.com/
S. Silva, E. Costa, Dynamic limits for bloat control in genetic programming and a review of past and current bloat theories. Genet. Program. Evol. Mach. 10(2), 141–179 (2009)
A.J. Turner, J.F. Miller, Cartesian genetic programming encoded artificial neural networks: a comparison using three benchmarks. In: Proceedings of the Conference on Genetic and Evolutionary Computation (GECCO-13) (2013), pp. 1005–1012
A.J. Turner, J.F. Miller, The importance of topology evolution in neuroevolution: a case study using Cartesian genetic programming of artificial neural networks. In: Research and Development in Intelligent Systems (Springer, Berlin, 2013), pp. 213–226
A.J. Turner, J.F. Miller, Cartesian genetic programming: why no bloat? In: Genetic Programming: 17th European Conference, EuroGP-2014 (2014) (to appear)
A.J. Turner, J.F. Miller, Neuroevolution: the importance of transfer function evolution and heterogeneous networks. In: Proceedings of the 50th Anniversary Convention of the AISB (2014), pp. 158–165
A.J. Turner, J.F. Miller, Recurrent Cartesian genetic programming. In: 13th International Conference on Parallel Problem Solving from Nature (PPSN 2014) (2014) (to appear)
V.K. Vassilev, J.F. Miller, The advantages of landscape neutrality in digital circuit evolution. In: Proceedings of the International Conference on Evolvable Systems, LNCS, vol. 1801 (Springer, 2000), pp. 252–263
D.R. White, J. McDermott, M. Castelli, L. Manzoni, B.W. Goldman, G. Kronberger, W. Jaśkowski, U.M. OReilly, S. Luke, Better GP benchmarks: community survey results and proposals. Genet. Program. Evol. Mach. 14(1), 3–29 (2013)
T. Yu, J.F. Miller, Neutrality and the evolvability of boolean function landscape. In: Genetic programming, LNCS (Springer, 2001), pp. 204–217
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Turner, A.J., Miller, J.F. Introducing a cross platform open source Cartesian Genetic Programming library. Genet Program Evolvable Mach 16, 83–91 (2015). https://doi.org/10.1007/s10710-014-9233-1
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-014-9233-1