Immediate opening (uupdated August July 8,
2007) for scientific research programmer at
Genetic Programming Inc.
Welcome to
www.genetic-programming.com
(the
home page of Genetic Programming Inc., a privately funded research group that
does research in applying genetic programming)
Last updated July 8, 2007
What is Genetic Programming (GP)?
How Genetic Programming Works
Sources of Information about the Field
of Genetic Programming (GP), Genetic Algorithms (GA), and the Field of Genetic
and Evolutionary Computation (GEC)
Conferences about Genetic
Programming (GP) and Genetic and Evolutionary Computation (GEC)
Application Areas for Genetic
Programming
News about Genetic Programming
Parallelization of Genetic
Programming
John Koza’s Publications on Genetic
Programming
Websmaster
Other Links
What is Genetic Programming (GP)?
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,” the “AI ratio”
(“artificial-to-intelligence” ratio) and “high-return,” “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 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.
Sources of Information about the
Field of Genetic Programming (GP), Genetic Algorithms (GA), 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)
- 2004 awards for
human-competitive results (based on presentations at the
GECCO-2004 conference in Seattle
on June 27, 2004).
- 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)
- Annual 2005 Genetic and Evolutionary
Computation (GECCO) conference to be held on June 25–29, 2005
(Saturday – Wednesday) in Washington
DC. GECCO is the largest
conference in the field of genetic and evolutionary computation. The
GECCO-2005 conference is a combination of the 10th annual
Genetic Programming Conference (GP-2005) and the 14th
International Conference on Genetic Algorithms (ICGA-2005). GECCO is
operated by the International Society for Genetic and Evolutionary
Computation (ISGEC).
- Genetic
Programming Theory and Practice (GPTP) workshops at the University
of Michigan in Ann Arbor in 2003 and 2004 and 2005 Genetic
Programming Theory and Practice (GPTP) workshop to be held at the
University of Michigan in Ann Arbor
- 2004
Asia-Pacific Workshop on Genetic Programming (ASPGP) held in Cairns,
Australia
on December 6-7 (Monday-Tuesday), 2004
- 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.
- About two
dozen conferences with Published Proceedings that are held
regularly in the field of genetic programming and genetic and evolutionary
computation (GEC)
Application Areas for Genetic
Programming
There are numerous applications of genetic programming. We are particularly
interested in applying genetic programming to
- “Black Art Problems,”
such as the automated synthesis of analog electrical circuits,
controllers, antennas, networks of chemical reactions, optical systems,
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 programming systems,
field-programmable gate arrays, field-programmable analog arrays, ant
colonies, swarm intelligence, distributed systems, and the like, and
- Commercially Useful New
Inventions (CUNI) involving the use of genetic programming as an
automated "invention machine" for creating commercially usable
new inventions.
We are constantly looking for new domain areas in which to apply the
techniques of genetic programming to achieve human-competitive machine
intelligence.
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).
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’s 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
Contact Information
Please send corrections or additions to this page to:
John R. Koza
Genetic Programming Inc. (Third Millennium On-Line Products
Inc.)
Post Office Box K
Los Altos,
California 94023
USA
FAX: 650-941-9430
E-mail: koza@genetic-programming.com
E-mail: koza@genetic-programming.org
· For information about the annual
Genetic and Evolutionary Computation Conference (GECCO) operated by the Association
for Computing Special Interest Group on Genetic and Evolutionary Computation
(SIGEVO)
· For information about the
annual Human-Competitive Awards (the “humies”) in genetic and evolutionary computation
offered at the annual Genetic and Evolutionary Computation Conference (GECCO)
· The home
page of Genetic Programming Inc. at www.genetic-programming.com.
· The home page of John R. Koza (including online
versions of most published papers)
·
For information about John Koza’s course on genetic
algorithms and genetic programming at Stanford University
·
For information about National Popular Vote
· 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.
· 4,000+
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
· For information on the
Genetic Programming book series, see the Call For
Book Proposals