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.
Prerequisite Knowledge
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.