Genetic evolution and co-evolution of computer programs

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

  author =       "John R. Koza",
  title =        "Genetic evolution and co-evolution of computer
  booktitle =    "Artificial Life II",
  publisher =    "Addison-Wesley",
  year =         "1991",
  editor =       "Christopher Taylor Charles Langton and 
                 J. Doyne Farmer and Steen Rasmussen",
  volume =       "X",
  series =       "SFI Studies in the Sciences of Complexity",
  address =      "Santa Fe Institute, New Mexico, USA",
  publisher_address = "Redwood City, CA, USA",
  month =        feb # " 1990",
  keywords =     "genetic algorithms, genetic programming",
  pages =        "603--629",
  URL =          "",
  abstract =     "Research in the field of artificial life focuses on
                 computer programs that exhibit some of the properties
                 of biological life (e.g. self-reproducibility,
                 evolutionary adaptation to an environment, etc.). In
                 one area of artificial life research, human programmers
                 write intentionally simple computer programs (often
                 incorporating observed features of actual biological
                 processes) and then study the 'emergent' higher level
                 behavior that may be exhibited by such seemingly simple
                 programs. In this chapter, we consider a different
                 problem, namely, 'How can computer programs be
                 automatically written by the computer itself using only
                 measurements of a given program's performance?' In
                 particular, this chapter describes the recently
                 developed 'genetic programming paradigm' which
                 genetically breeds populations of computer programs in
                 order to find a computer program that solves the given
                 problem. In the genetic programming paradigm, the
                 individuals in the population are hierarchical
                 compositions of functions and arguments. The
                 hierarchies are of various sizes and shapes.
                 Increasingly fit hierarchies are then evolved in
                 response to the problem environment using the genetic
                 operations of fitness proportionate reproduction
                 (Darwinian survival and reproduction of the fittest)
                 and crossover (sexual recombination). In the genetic
                 programming paradigm, the size and shape of the
                 hierarchical solution to the problem is not specified
                 in advance. Instead, the size and shape of the
                 hierarchy, as well as the contents of the hierarchy,
                 evolve in response to the Darwinian selective pressure
                 exerted by the problem environment.

                 This ALIFE-90 chapter also describes an extension of
                 the genetic programming paradigm to the case where two
                 (or more) populations of hierarchical computer programs
                 simultaneously co-evolve. In co-evolution, each
                 population acts as the environment for the other
                 population. In particular, each individual of the first
                 population is evaluated for 'relative fitness' by
                 testing it against each individual in the second
                 population, and, simultaneously, each individual in the
                 second population is evaluated for relative fitness by
                 testing them against each individual in the first
                 population. Over a period of many generations,
                 individuals with high 'absolute fitness' may evolve as
                 the two populations mutually bootstrap each other to
                 increasingly high levels of fitness.

                 The genetic programming paradigm is illustrated by
                 genetically breeding a population of hierarchical
                 computer programs to allow an 'artificial ant' to
                 traverse an irregular trail. In addition, we
                 genetically breed a computer program controlling the
                 behavior of an individual ant in an ant colony which,
                 when simultaneously executed by a large number of ants,
                 causes the emergence of interesting collective behavior
                 for the colony as a whole. Co-evolution is illustrated
                 with a problem involving finding an optimal strategy
                 for playing a simple discrete two-person competitive
                 game represented by a game tree in extensive form.",
  notes =        "This conference was held in 1990 but its proceedings
                 were published in 1991.",

Genetic Programming entries for John Koza