Abstraction-based genetic programming

This thesis describes a novel method for representing and automatically generating computer programs in an evolutionary computation context. Abstraction-Based Genetic Programming (ABGP) is a typed Genetic Programming representation system that uses System F, an expressive λ-calculus, to represent the computational components from which the evolved programs are assembled. ABGP is based on the manipulation of closed, independent modules expressing computations with effects that have the ability to affect the whole genotype. These modules are plugged into other modules according to precisely defined rules to form complete computer programs. The use of System F allows the straightforward representation and use of many typical computational structures and behaviors (such as iteration, recursion, lists and trees) in modular form. This is done without introducing additional external symbols in the set of predefined functions and terminals of the system. In fact, programming structures typically included in GP terminal sets, such as if_then_else, may be removed and represented as abstractions in ABGP for the same problems. ABGP also provides a search space partitioning system based on the structure of the genotypes, similar to the species partitioning system of living organisms and derived from the Curry-Howard isomorphism. This thesis also presents the results obtained by applying this method to a set of problems.

[1]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[2]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[3]  Christopher Strachey,et al.  Fundamental Concepts in Programming Languages , 2000, High. Order Symb. Comput..

[4]  Una-May O'Reilly,et al.  The Troubling Aspects of a Building Block Hypothesis for Genetic Programming , 1994, FOGA.

[5]  L. Darrell Whitley,et al.  The GENITOR Algorithm and Selection Pressure: Why Rank-Based Allocation of Reproductive Trials is Best , 1989, ICGA.

[6]  Amy P. Felty,et al.  An abstraction-based genetic programming system , 2007, GECCO '07.

[7]  P.A. Whigham,et al.  A Schema Theorem for context-free grammars , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[8]  Sandip Sen,et al.  Strongly Typed Genetic Programming in Evolving Cooperation Strategies , 1995, ICGA.

[9]  F. Pfenning Logic programming in the LF logical framework , 1991 .

[10]  John R. Koza,et al.  Simultaneous Discovery of Reusable Detectors and Subroutines Using Genetic Programming , 1993, ICGA.

[11]  P. J. Landin,et al.  Correspondence between ALGOL 60 and Church's Lambda-notation , 1965, Commun. ACM.

[12]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[13]  William A. Howard,et al.  The formulae-as-types notion of construction , 1969 .

[14]  J. Roger Hindley,et al.  Introduction to Combinators and Lambda-Calculus , 1986 .

[15]  Peter A. Whigham,et al.  Grammatical bias for evolutionary learning , 1996 .

[16]  Robin Milner,et al.  A proposal for standard ML , 1984, LFP '84.

[17]  Thierry Coquand,et al.  Constructions: A Higher Order Proof System for Mechanizing Mathematics , 1985, European Conference on Computer Algebra.

[18]  R. Pollack The Theory of LEGO A Proof Checker for the Extended Calculus of Constructions , 1994 .

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

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

[21]  Arthur L. Samuel,et al.  Some Studies in Machine Learning Using the Game of Checkers , 1967, IBM J. Res. Dev..

[22]  Stephen F. Smith,et al.  A learning system based on genetic adaptive algorithms , 1980 .

[23]  A. Church A Set of Postulates for the Foundation of Logic , 1932 .

[24]  Tina Yu A Higher-Order Function Approach to Evolve Recursive Programs , 2006 .

[25]  David B. Fogel,et al.  Evolutionary Computation: The Fossil Record , 1998 .

[26]  Haskell B. Curry,et al.  Combinatory Logic, Volume I , 1959 .

[27]  Una-May O'Reilly,et al.  An analysis of genetic programming , 1995 .

[28]  D. Hofstadter,et al.  Godel, Escher, Bach: An Eternal Golden Braid , 1979 .

[29]  Riccardo Poli,et al.  Foundations of Genetic Programming , 1999, Springer Berlin Heidelberg.

[30]  John R. Koza,et al.  Genetic Programming II , 1992 .

[31]  H. Läuchli An Abstract Notion of Realizability for Which Intuitionistic Predicate Calculus is Complete , 1970 .

[32]  Walter Alden Tackett,et al.  Genetic Programming for Feature Discovery and Image Discrimination , 1993, ICGA.

[33]  J. K. Kinnear,et al.  Advances in Genetic Programming , 1994 .

[34]  Hans-Paul Schwefel,et al.  Evolution and Optimum Seeking: The Sixth Generation , 1993 .

[35]  S. Kleene,et al.  The Inconsistency of Certain Formal Logics , 1935 .

[36]  Jianjun Hu,et al.  Sustainable evolutionary algorithms and scalable evolutionary synthesis of dynamic systems , 2004 .

[37]  Per Martin-Löf,et al.  Intuitionistic type theory , 1984, Studies in proof theory.

[38]  John C. Mitchell,et al.  Foundations for programming languages , 1996, Foundation of computing series.

[39]  Lee Spector,et al.  Simultaneous evolution of programs and their control structures , 1996 .

[40]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[41]  J. Girard Une Extension De ĽInterpretation De Gödel a ĽAnalyse, Et Son Application a ĽElimination Des Coupures Dans ĽAnalyse Et La Theorie Des Types , 1971 .

[42]  Robert Feys Les Logiques nouvelles des modalités , 1937 .

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

[44]  Byoung-Tak Zhang,et al.  Balancing Accuracy and Parsimony in Genetic Programming , 1995, Evolutionary Computation.

[45]  Tina Gwoing Yu,et al.  An analysis of the impact of functional programming techniques on genetic programming , 1999 .

[46]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.

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

[48]  L. Altenberg The evolution of evolvability in genetic programming , 1994 .

[49]  Thomas G. Dietterich What is machine learning? , 2020, Archives of Disease in Childhood.

[50]  ProgrammingJustinian P. RoscaComputer Analysis of Complexity Drift in Genetic , 1997 .

[51]  John R. Koza,et al.  Genetically breeding populations of computer programs to solve problems in artificial intelligence , 1990, [1990] Proceedings of the 2nd International IEEE Conference on Tools for Artificial Intelligence.

[52]  Richard S. Forsyth,et al.  BEAGLE—A DARWINIAN APPROACH TO PATTERN RECOGNITION , 1981 .

[53]  Master Gardener,et al.  Mathematical games: the fantastic combinations of john conway's new solitaire game "life , 1970 .

[54]  Katia Sycara,et al.  Evolvability and Static vs � Dynamic Fitness , 2004 .

[55]  Christoph Kreitz,et al.  The Nuprl Open Logical Environment , 2000, CADE.

[56]  Arthur L. Samuel,et al.  Some studies in machine learning using the game of checkers , 2000, IBM J. Res. Dev..

[57]  Fa Dick The mathematical language AUTOMATH, its usage and some of its extensions , 1970 .

[58]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[59]  Peter A. Whigham,et al.  Grammatically-based Genetic Programming , 1995 .

[60]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[61]  John C. Reynolds,et al.  Towards a theory of type structure , 1974, Symposium on Programming.

[62]  Nichael Lynn Cramer,et al.  A Representation for the Adaptive Generation of Simple Sequential Programs , 1985, ICGA.

[63]  John R. Koza,et al.  Hierarchical Genetic Algorithms Operating on Populations of Computer Programs , 1989, IJCAI.

[64]  C. Clack,et al.  Recursion , Lambda Abstractions and Genetic Programming , 2022 .

[65]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[66]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[67]  John J. Grefenstette,et al.  How Genetic Algorithms Work: A Critical Look at Implicit Parallelism , 1989, ICGA.

[68]  Lawrence. Davis,et al.  Handbook Of Genetic Algorithms , 1990 .

[69]  Peter J. Bentley,et al.  Methods to Evolve Legal Phenotypes , 1998, PPSN.

[70]  Peter J. Angeline,et al.  Type Inheritance in Strongly Typed Genetic Programming , 1996 .

[71]  C. Wild,et al.  A standard comparison of adaptive controllers to solve the cart pole problem , 1994, Proceedings of ANZIIS '94 - Australian New Zealnd Intelligent Information Systems Conference.

[72]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[73]  H B Curry,et al.  Functionality in Combinatory Logic. , 1934, Proceedings of the National Academy of Sciences of the United States of America.

[74]  J. Girard,et al.  Proofs and types , 1989 .

[75]  Shu-Heng Chen,et al.  Discovering Financial Technical Trading Rules Using Genetic Programming with Lambda Abstraction , 2005 .

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