A source of information about
the field of genetic programming and the field of genetic and evolutionary
computation
source www.genetic-programming.org
Genetic programming (GP) is an automated method for
creating a working computer program from a high-level problem statement of a
problem. Genetic programming starts from a high-level statement of “what needs
to be done” and automatically creates a computer program to solve the problem.
There are now 36 instances
where genetic programming has automatically produced a result that is
competitive with human performance, including 15 instances where genetic programming
has created an entity that either infringes or duplicates the functionality of a
previously patented 20th-century invention, 6 instances where genetic
programming has done the same with respect to a 21st-centry
invention, and 2 instances where genetic programming has created a patentable
new invention.
Given these results, we say that “Genetic programming now routinely delivers
high-return human-competitive machine intelligence.” Click here for our
definitions of “human-competitive,” ”high return” and
the “AI ratio” (“artificial-to-intelligence” ratio), “routine,” and
“machine
intelligence.” This statement is the most important point of the 2003
book Genetic
Programming IV: Routine
Human-Competitive Machine Intelligence. Click here to read chapter 1 of
Genetic Programming IV in PDF format.
Click here for 2004 awards for
human-competitive results (based on presentations at the GECCO-2004
conference in Seattle on June 27, 2004).
The fact that genetic programming can evolve entities that are competitive
with human-produced results suggests that genetic
programming can be used as an automated invention machine to create new
and useful patentable inventions. In acting as an invention machine,
evolutionary methods, such as genetic programming, have the advantage of not
being encumbered by preconceptions that limit human problem-solving to
well-troden paths. Genetic programming has delivered a
progression of
qualitatively more substantial results in synchrony with five
approximately order-of-magnitude increases in the expenditure of computer time
(over the 15-year period from 1987 to 2002).
Genetic programming has 16 important attributes that one would reasonably
expect of a system for automatic
programming (sometimes also called program synthesis or
program induction). Genetic programming has seven important
differences from conventional approaches to artificial intelligence (AI)
and machine learning (ML). For additional information, click here for PowerPoint
(PPT) presentation on genetic programming (about 5 Megabytes) similar to
that presented at the 2003 Accelerating Change Conference on September 13, 2003
and similar to the overview lecture given on September 24, 2003 in John Koza’s
course at Stanford University on genetic algorithms (GA) and genetic programming
(GP).
How Genetic Programming (GP) Works
Genetic programming starts with a primordial ooze of thousands of randomly
created computer programs. This population of programs is progressively evolved
over a series of generations. The evolutionary search uses the Darwinian
principle of natural selection (survival of the fittest) and analogs of various
naturally occurring operations, including crossover (sexual recombination),
mutation, gene duplication, gene deletion. Genetic programming sometimes also
employs developmental processes by which an embryo grows into fully developed
organism. Old Chinese saying says “animated gif is worth one mega-word,” so click here
for short tutorial of “What is GP?” including about two dozen animated
gifs. This short tutorial contains a discussion of the preparatory
steps of a run of genetic programming, the executional steps (that is,
the flowchart
of genetic programming), an illustrative
simple run of genetic programming for a problem of symbolic regression
of a quadratic polynomial, a discussion of developmental
genetic programming for the automatic synthesis of both the topology and
sizing of analog electrical circuits (potentially also including placement and
routing), and the use of a turtle to draw complex structures (such as
antenna). In addition, genetic programming can automatically create, in a single
run, a general (parameterized) solution to a problem in the form of a graphical
structure whose nodes or edges represent components and where the parameter
values of the components are specified by mathematical expressions containing
free variables. That is, genetic programming can automatically create a
general solution to a problem in the form of a parameterized
topology.
Information about the Field of Genetic Programming (GP) and the Field of
Genetic and Evolutionary Computation (GEC)
The technique of genetic programming (GP) is one of the techniques of the
field of genetic and evolutionary computation (GEC) which, in turn, includes
techniques such as genetic algorithms (GA), evolution strategies (ES),
evolutionary programming (EP), grammatical evolution (GE), and machine code
(linear genome) genetic programming.
- 16 authored books, 4
videos, and 4 edited books on genetic programming (GP), including
6 books
in the Genetic Programming Book series from Kluwer Academic Publishers (as
part of the bigger list of 73 authored books, 32
edited books, and 4 videos on genetic and evolutionary computation).
- 17 conference
proceedings books on genetic programming (GP), including the 3 annual GP conferences, 5
annual GECCO conferences (that now include the annual GP conference), 6 annual
Euro-GP conferences, the 2003 Genetic Programming Theory and Practice workshop
(GPTA), the 1995 AAAI Symposium on Genetic Programming, and the 1995 Workshop
on Genetic Programming (as part of a bigger list of 99
conference proceedings books on evolutionary computation).
- 3,440
published papers on genetic programming (as of November 28, 2003) in a
searchable bibliography (with many on-line versions of papers) by over 880
authors maintained by William Langdon’s and Steven M. Gustafson
- Over
4,000 published papers on evolutionary computation in a searchable bibliography
maintained by Karsten Weicker and Nicole Weicker
containing entries on genetic and evolutionary computation and related areas
(e.g. artificial life).
- About two dozen
conferences with Published Proceedings that are held regularly in the
field of genetic programming and genetic and evolutionary computation (GEC)
- $5,000 in 2004
awards for human-competitive results (based on presentations at the
GECCO-2004 conference in Seattle on June 27, 2004).
- $10,000 in 2005
awards for human-competitive results (deadline for entry: June 20,
2005)
- E-Mail Mailing
List on Genetic Programming, the EC-Digest (formerly the GA-Digest),
and other mailing lists.
- Genetic Programming and
Evolvable Machines journal (published by Kluwer Academic
Publishers and edited by Wolfgang Banzhaf) (started January 2000). This
journal is available as part of membership in the International Society for Genetic and
Evolutionary Computation (ISGEC)
- Evolutionary
Computation journal
(published by The MIT
Press and edited by Marc Schoenauer). This journal is available as
part of membership in International Society
for Genetic and Evolutionary Computation (ISGEC)
- IEEE Transactions on Evolutionary
Computation journal (published by IEEE Neural Network Society and
edited by Xin Yao)
- Software
for genetic programming, genetic algorithms, and other evolutionary
computation techniques, including the "Little LISP"
Computer Code for Genetic Programming as Contained in 1992 book
Genetic Programming (Koza 1992)
- 37 completed Ph.D.
theses on genetic programming
- 58 students working
on thesis involving genetic
programming
- A partial
list of people compiled by Bill Langdon who are active in genetic
programming
- International Society for Genetic and
Evolutionary Computation (ISGEC). ISGEC is the only membership
organization in the field of genetic and evolutionary computation. It operates
of the annual GECCO conference (largest conference in the field of genetic and
evolutionary computation) and the biannual FOGA conference.
- Evo-Net
—The Network of Excellence in Evolutionary Computation (an extensive
clearinghouse of information about the field of genetic and evolutionary
computation and operator of the annual Euro-GP conferences and the Evo-Net
workshops)
- The
GA Archives,
including back issues of the GA-Digest and EC-Digest, genetic algorithm code
in various programming languages, an extensive list of conference
announcements in the field of genetic and evolutionary computation, etc.
- Book series of genetic
programming for Kluwer
Academic Publishers book series on genetic programming, edited by John R. Koza
- Book series on genetic algorithms and
evolutionary computation
from Kluwer
Academic Publishers, edited by David E. Goldberg.
- Courses (and short
courses) at various universities on genetic algorithms, genetic programming,
and evolutionary computation
- For
information about John Koza’s course on
genetic algorithms and genetic programming at Stanford University
- 11 Books of
Student Papers from John
Koza's Courses at Stanford University on genetic algorithms and
genetic programming and artificial life
- 6 Course
Readers from John Koza's
courses at Stanford University on genetic algorithms and
genetic programming and artificial life
- John Koza's home page at Stanford
University
- For
information about the 1992 book Genetic Programming:
On the Programming of Computers by Means of Natural Selection, the
1994 book Genetic
Programming II: Automatic Discovery of Reusable Programs, the 1999
book Genetic
Programming III: Darwinian Invention and Problem Solving, and the
2003 book Genetic Programming
IV: Routine Human-Competitive Machine
Intelligence. Click here to read chapter 1 of
Genetic Programming IV book (2003) in PDF format.
- 36
human-competitive results produced by genetic programming,
including 21 previously patented inventions replicated by genetic
programming and 2 patentable new inventions generated by genetic programming.
- Link
to http://www.genetic-programming.com/
(“genetic-programming.COM” WITH the hyphen) (Genetic Programming Inc.)
including information about 1,000-Pentium parallel computer for doing genetic
programming research.
- Jobs
for scientific research programmer at Genetic Programming Inc.
- Link
to Jaime Fernandez’s genetic
programming notebook site (“geneticprogramming.com” WITHOUT the
hyphen)
- David Beasley’s Frequently Asked Questions about genetic and evolutionary
computation. This comes in 6 parts. Part 2 has a summary of the
different types of genetic and evolutionary computation.
Conferences about Genetic Programming (GP) and Genetic and Evolutionary
Computation (GEC)
- Past GP
conferences for 1996, 1997,
and 1998 (including the SGA-98, the Symposium on Genetic Algorithms)
- Past
Euro-GP conferences for 1998,
1999, 2000, 2001, 2002, and 2003
- Past
GECCO conferences (Genetic and Evolutionary Computation Conferences)
for 1999, 2000, 2001, 2002, 2003, and 2004. Starting in 1999, the annual GECCO
conference includes the annual Genetic Programming Conference
News about Genetic Programming
·
For May 2003 IEEE Intelligent Systems article “What’s AI done for me
lately? Genetic programming’s human-competitive results”, visit IEEE Intelligent Systems. Click
here for PDF
file.
·
For February 2003 Scientific American article “Evolving inventions” on
genetic programming by John Koza, Martin A. Keane, and Matthew J. Streeter,
visit Scientific
American.
·
For Salon
article on "Software that Writes Software"
by Alexis Willihnganz (August 10,
1999)
·
For E. E.
Times article on automatic synthesis of analog
electrical circuits using genetic programming.
·
For article in Computerbits on genetic
programming.
·
For Scientific
American article by W. Wayt Gibbs on
genetic programming.
·
For Business Week article (June
23, 1997) entitled "Stanford Eggheads and Entrepreneurs"
·
For Business Week article
(August 25, 1997) entitled "What Matters is How Smart You
Are"
·
For U. S. News
and World Report article on evolutionary computation and genetic
programming.
·
For Slashdot.org
posting (August 10, 1999).
·
For the451.com
article entitled "Re-inventing the 'invention machine" (April 14,
2000).
Applications of Genetic Programming
There are numerous applications of genetic programming including
- “black
art” problems, such as the automated synthesis of analog electrical
circuits, controllers, antennas, networks of chemical reactions, and other
areas of design,
- “programming
the unprogrammable” (PTU) involving the
automatic creation of computer programs for unconventional computing devices
such as cellular automata, multi-agent systems, parallel systems,
field-programmable gate arrays, field-programmable analog arrays, ant
colonies, swarm intelligence, distributed systems, and the like,
- “commercially
usable new inventions” (CUNI) involving the use of genetic programming as
an automated "invention machine" for creating commercially usable new
inventions, and
We are constantly looking for new domain areas in which to apply the
techniques of genetic programming to achieve human-competitive machine
intelligence.
Parallelization of Genetic Programming
In July 1999, Genetic Programming Inc. started operating a new 1,000-node
Beowulf-style parallel cluster computer consisting of 1,000 Pentium II 350 MHz
processors and a host computer. Click here for technical discussion of parallel genetic
programming and building the 1,000-Pentium
Beowulf-style parallel cluster computer. About half of the 36
human-competitive results produced by genetic programming were obtained using computing
systems that were substantially smaller than the 1,000-Pentium computer
mentioned above. Fifteen of these human-competitive results were obtained on a
1995-vintage parallel computer system composed of 64 PowerPC 80 MHz processors
with a spec95fp rating. This 1995-vintage computer has total computational power
equal to only about 1/60 of that of the 1000-Pentium machine mentioned above.
Five of these results were obtained on a 70-Alpha machine (whose spec95fp rating
is 1/9 of that of the 1,000-Pentium machine mentioned above). One of these human
competitive results were obtained with a 1994-vintage
machine (whose spec95fp rating is 1/1,320 of that of the 1,000-Pentium machine
mentioned above). The individual processors in the1,000-Pentium machine have (as of July 2003) about 1/8 the
speed of processors contained in commercially available $999 laptops, so that
the 1,000-Pentium machine is approximately equivalent to a 125-processor machine
with 2003-vintage processors.
1000-Pentium Beowulf-Style Cluster
Computer
(left and
right sides) (July 29, 1999)
For picture of
uninterruptable power supply
(UPS) for new 1000-Pentium computer. Design and contracting of site for 1000-Pentium computer by Gordon Prill Inc. of Mountain
View, California. The
1,000-Pentium machine was assembled by Stan Fox of the COMPAQ Sunnyvale Staging Center. For picture of earlier 70-node
parallel computer with Senator
Barbara Boxer (California), John Koza (back row), Oscar Stiffelman
(front row), Forrest H Bennett III, and William Mydlowec. For
picture of earlier 70-node parallel computer with Ellen
Goldberg (President of Santa Fe Institute), John Koza, Forrest H Bennett
III, and Oscar Stiffelman.
John Koza Publications on Genetic Programming
- 2003
book Genetic
Programming IV: Routine
Human-Competitive Machine Intelligence from Kluwer Academic
Publishers (by John R. Koza, Martin A. Keane, Matthew J. Streeter, William
Mydlowec, Jessen Yu, and Guido Lanza ) (ISBN 1-4020-7446-8) Kluwer Academic
Publisher also publishes a DVD disk Genetic Programming IV: Video: Routine
Human-Competitive Machine Intelligence (by John R. Koza, Martin A. Keane,
Matthew J. Streeter, William Mydlowec, Jessen Yu, Guido Lanza, and David
Fletcher) that is bound into this 2003 book.
- Stanford
University technical reports from the Computer Science Department and Stanford
BioMedical Informatics of which I am author or
co-author can be obtained on the web, including
- STAN-TR-CS
1314 (1990) entitled Genetic Programming: A Paradigm for
Genetically Breeding Populations of Computer Programs to Solve Problems
- STAN-TR-CS
1528 (1994) entitled Architecture-Altering Operations for
Evolving the Architecture of a Multi-Part Program in Genetic Programming
- STAN-TR-CS
1542 (1995) entitled Parallel Genetic Programming on a Network
of Transputers
- SMI-95-0586
(1995) entitled A Programming Course in Bioinformatics for Computer and
Information Science Students
- SMI-2000-0851
(2000) entitled Reverse Engineering and Automatic Synthesis of Metabolic
Pathways from Observed Data Using Genetic Programming
- Abstracts,
citations, and copies of research papers (almost all available in Post Script
or PDF) by John Koza:
Click
here for list of patents.
Jobs for scientific research
programmer at Genetic Programming Inc.
Please send corrections or additions to this page to:
John R. Koza
Post Office Box K
Los
Altos, California 94023 USA
OFFICE PHONE: 650-960-8180
FAX: 650-941-9430
E-mail: koza@stanford.edu
E-mail: koza@genetic-programming.com
E-mail: koza@genetic-programming.org
· The home
page of Genetic Programming Inc. at www.genetic-programming.com.
· For information about the
field of genetic programming and the field of genetic and evolutionary
computation, visit www.genetic-programming.org
· The home page of John R. Koza at
Genetic Programming Inc. (including online versions of most published
papers) and the home page of John R. Koza at Stanford University
·
For information about John Koza’s course on genetic
algorithms and genetic programming at Stanford University
· Information about the 1992
book Genetic
Programming: On the Programming of Computers by Means of Natural
Selection, the 1994 book Genetic
Programming II: Automatic Discovery of Reusable Programs, the 1999
book Genetic
Programming III: Darwinian Invention and Problem Solving, and the
2003 book Genetic Programming
IV: Routine Human-Competitive Machine
Intelligence. Click here to read chapter 1 of
Genetic Programming IV book in PDF format.
· 3,440
published papers on genetic programming (as of November 28, 2003) in a
searchable bibliography (with many on-line versions of papers) by over 880
authors maintained by William Langdon’s and Steven M. Gustafson.
· For information on the
Genetic Programming and
Evolvable Machines journal published by Kluwer Academic Publishers
· For information on the
Genetic Programming book series from Kluwer Academic Publishers, see the Call For Book Proposals
· For
information about the annual 2005
Genetic and Evolutionary Computation (GECCO) conference (which includes
the annual GP conference) to be held on June 25–29, 2005 (Saturday – Wednesday)
in Washington DC and its sponsoring organization, the
International Society for Genetic and Evolutionary Computation (ISGEC). For information
about the annual 2005
Euro-Genetic-Programming Conference (and the co-located Evolutionary
Combinatorial Optimization conference and other Evo-Net workshops) to be
held on March 30 – April 1, 2005 (Wednesday-Friday) in Lausanne, Switzerland. For information about the annual 2005 Genetic Programming
Theory and Practice (GPTP) workshop to be held at the University of Michigan in Ann Arbor. For information about the
annual 2004 Asia-Pacific Workshop on Genetic Programming
(ASPGP) held in Cairns,
Australia on December 6-7
(Monday-Tuesday), 2004. For information about the annual 2004 NASA/DoD Conference on
Evolvable Hardware Conference (EH) to be held on June 24-26
(Thursday-Saturday), 2004 in Seattle.
Last updated September 16, 2004