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.


Conferences about Genetic Programming (GP) and Genetic and Evolutionary Computation (GEC)


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

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

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