Genetic Programming
John R. Koza and David Andre
Course Description
This tutorial will introduce participants to the ideas and applications
of genetic programming (GP) -- an automated search procedure based on
the mechanics of natural genetics and natural selection. Genetic
programming is a domain-independent technique for automatic programming
that evolves computer programs that solve, or approximately solve,
problems. Starting with a primordial ooze of thousands of randomly
created programs composed of functions and terminals appropriate to a
problem, a population of computer programs is progressively evolved over
many generations by applying the Darwinian principle of survival of the
fittest, a sexual recombination operation, and occasional mutation.
Genetic programming has found successful applications in a wide variety
of different areas of artificial intelligence, including engineering
design, planning, robotics, programming of independent agents,
distributed artificial intelligence, modeling, system identification,
forecasting, empirical discovery, data mining, optimal control, pattern
recognition, game theory, optimization, structural design, molecular
biology, creation of mental models, and knowledge reuse.
We will briefly review the properties and mechanics of genetic
programming, and then discuss the techniques and methods that have been
employed in recent years to apply genetic programming to a variety of
difficult real-world problems. Topics include hierarchical, multi-part
programs, automatically defined functions, the use of iteration,
recursion, memory structures, mental models, architecture-altering
operations, cellular encoding, implementation on parallel computers,
genetic design of electrical circuits, genetically evolved assembly
code, evolvable hardware, promising application areas for genetic
programming, and directions for future research.
No knowledge about genetic algorithms, genetic programming or biology is
required; however, a general familiarity with computers and programming
is assumed. The basics of genetic programming will be provided and the
tutorial will concentrate on intermediate and advanced topics.
About the Lecturers
John R. Koza
is a Consulting Professor of Computer Science at Stanford University. He
is author of two books on genetic programming: Genetic Programming: On
the Programming of Computer by Means of Natural Selection (MIT Press,
1992) and Genetic Programming II: Automatic Discovery of Reusable
Programs (MIT Press, 1994).
David Andre
is currently doing research on genetic programming and artificial
intelligence at UC Berkeley. He has published more than 20 papers on
genetic programming and is working on an upcoming book. He has been
researching genetic programming for the past five years.
higuchi@etl.go.jp
Last modified: Thu Feb 20 13:16:43 JST 1997