Institutional Research Information Service
UCL Logo
Please report any queries concerning the funding data grouped in the sections named "Externally Awarded" or "Internally Disbursed" (shown on the profile page) to your Research Finance Administrator. Your can find your Research Finance Administrator at https://www.ucl.ac.uk/finance/research/rs-contacts.php by entering your department
Please report any queries concerning the student data shown on the profile page to:

Email: portico-services@ucl.ac.uk

Help Desk: http://www.ucl.ac.uk/ras/portico/helpdesk
Publication Detail
Evolving Data Structures Using Genetic Programming
  • Publication Type:
  • Authors:
    Langdon WB
  • publication date:
  • Place of publication:
    Gower Street, London, WC1E 6BT, UK
  • Report number:
  • Notes:
    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 notes: Discussed on GP mailing list 6–13 Jan 95, subj:GPdata. Presented at ICGA-95. Reworked into \citeLangdon:1995:GPdata size: 10 pages
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). 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.
Publication data is maintained in RPS. Visit https://rps.ucl.ac.uk
 More search options
UCL Researchers
Dept of Computer Science
University College London - Gower Street - London - WC1E 6BT Tel:+44 (0)20 7679 2000

© UCL 1999–2011

Search by