Evolving Data Structures Using Genetic Programming

Created by W.Langdon from gp-bibliography.bib Revision:1.4524

  author =       "W. B. Langdon",
  title =        "Evolving Data Structures Using Genetic Programming",
  institution =  "UCL",
  year =         "1995",
  type =         "Research Note",
  number =       "RN/95/1",
  address =      "Gower Street, London, WC1E 6BT, UK",
  month =        jan,
  keywords =     "genetic algorithms, genetic programming, Automatic
                 Programming, Machine Learning, Artificial Evolution,
                 Data Structures, Object Oriented Programming, Push down
                 Stack, First-in first-out (FIFO) Queue, Automatically
                 Defined Functions (ADF), Pareto fitness, Demes",
  URL =          "http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/GPdata_icga-95.ps",
  abstract =     "Genetic programming (GP) is a subclass of genetic
                 algorithms (GAs), in which evolving programs are
                 directly represented in the chromosome as trees.
                 Recently it has been shown that programs which
                 explicitly use directly addressable memory can be
                 generated using GP.

                 It is established good software engineering practice to
                 ensure that programs use memory via abstract data
                 structures such as stacks, queues and lists. These
                 provide an interface between the program and memory,
                 freeing the program of memory management details which
                 are left to the data structures to implement. The main
                 result presented herein is that GP can automatically
                 generate stacks and queues.

                 Typically abstract data structures support multiple
                 operations, such as put and get. We show that GP can
                 simultaneously evolve all the operations of a data
                 structure by implementing each such operation with its
                 own independent program tree. That is, the chromosome
                 consists of a fixed number of independent program
                 trees. Moreover, crossover only mixes genetic material
                 of program trees that implement the same operation.
                 Program trees interact with each other only via shared
                 memory and shared ``Automatically Defined Functions''

                 ADFs, ``pass by reference'' when calling them, Pareto
                 selection, ``good software engineering practice'' and
                 partitioning the genetic population into ``demes''
                 where also investigated whilst evolving the queue in
                 order to improve the GP solutions.",
  notes =        "Discussed on GP mailing list 6--13 Jan 95,
                 subj:GPdata. Presented at ICGA-95. Reworked into
  size =         "10 pages",

Genetic Programming entries for William B Langdon