SKGP: The Way of the Combinator

Genetic Programming (GP) is a machine learning technique that evolves programs using natural selection and populations dynamics. Much of the functionality of GP depends on the representation of programs in the population and how to handle illegal or type incoherent expressions that arise from crossover and mutation within a population of programs. The SKGP is a GP system that uses graphs of combinators to represent functions and a strong type system to inform the crossover and mutation operations during evolution. This produces a powerful, flexible system that has many benefits over more conventional systems. This paper describes the implementation of this system, gives some examples of successful applications constructed using the SKGP and describes future directions that may offer a more powerful GP system capable of producing more complex programs.

[1]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[2]  J. Heijenoort From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931 , 1967 .

[3]  Arpit A. Almal,et al.  Using genetic programming to classify node positive patients in bladder cancer , 2006, GECCO.

[4]  Conor Ryan,et al.  Grammatical Evolution: A Steady State approach , 2008 .

[5]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[6]  C Clack,et al.  Recursion, Lamba abstraction and genetic programming , 1998 .

[7]  Tina Yu,et al.  Performance-Enhanced Genetic Programming , 1997, Evolutionary Programming.

[8]  R. Baeza-Yates,et al.  Proteomic analysis of peach fruit mesocarp softening and chilling injury using difference gel electrophoresis (DIGE) , 2010, BMC Genomics.

[9]  Forrest Briggs,et al.  Functional genetic programming and exhaustive program search with combinator expressions , 2008, Int. J. Knowl. Based Intell. Eng. Syst..

[10]  John R. Koza,et al.  Genetic programming 2 - automatic discovery of reusable programs , 1994, Complex Adaptive Systems.

[11]  Debashis Ghosh,et al.  Feature selection and molecular classification of cancer using genetic programming. , 2007, Neoplasia.

[12]  D. Hwang,et al.  Gastrosplenic fistula from Hodgkin's lymphoma. , 2009, Journal of clinical oncology : official journal of the American Society of Clinical Oncology.

[13]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[14]  David J. Montana,et al.  Strongly Typed Genetic Programming , 1995, Evolutionary Computation.

[15]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[16]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[17]  Tina Yu,et al.  Polymorphism and Genetic Programming , 2001, EuroGP.

[18]  A. Church,et al.  Some properties of conversion , 1936 .

[19]  Jason M. Daida,et al.  What Makes a Problem GP-Hard? Validating a Hypothesis of Structural Causes , 2003, GECCO.

[20]  Lothar Thiele,et al.  A Comparison of Selection Schemes Used in Evolutionary Algorithms , 1996, Evolutionary Computation.

[21]  H. B. Curry An Analysis of Logical Substitution , 1929 .

[22]  Maarten Keijzer,et al.  The Push3 execution stack and the evolution of control , 2005, GECCO '05.

[23]  Hitoshi Iba,et al.  Genetic Programming 1998: Proceedings of the Third Annual Conference , 1999, IEEE Trans. Evol. Comput..

[24]  F. Schuren,et al.  Comparative genome analysis of a large Dutch Legionella pneumophila strain collection identifies five markers highly correlated with clinical strains , 2010, BMC Genomics.

[25]  N. Hopper,et al.  Analysis of genetic diversity through population history , 1999 .

[26]  Lee Spector,et al.  Autoconstructive Evolution: Push, PushGP, and Pushpop , 2001 .

[27]  J. V. Tucker,et al.  Basic Simple Type Theory , 1997 .

[28]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[29]  Anirban P. Mitra,et al.  The use of genetic programming in the analysis of quantitative gene expression profiles for identification of nodal status in bladder cancer , 2006, BMC Cancer.