John Koza's Publications: Year Index:
· Koza, John R., Bennett, Forrest H III, Andre, David, and Keane, Martin A. 2000. Synthesis of topology and sizing of analog electrical circuits by means of genetic programming. Computer Methods in Applied Mechanics and Engineering. Volume 186, Issues 2-4. June 9, 2000. Pages 459-482.
The design (synthesis) of an analog electrical circuit entails the creation of both the topology and sizing (numerical values) of all of the circuit's components. There has previously been no general automated technique for automatically creating the design for an analog electrical circuit from a high-level statement of the circuit's desired behavior. This paper shows how genetic programming can be used to automate the design of eight prototypical analog circuits, including a lowpass filter, a highpass filter, a bandstop filter, a tri-state frequency discriminator circuit, a frequency-measuring circuit, a 60 dB amplifier, a computational circuit for the square root function, and a time-optimal robot controller circuit.
Click here for a PDF file of this CMAME journal article.
· Koza, John R., Keane, Martin A., Yu, Jessen, Bennett, Forrest H III, and Mydlowec, William. 2000. Automatic creation of human-competitive programs and controllers by means of genetic programming. Genetic Programming and Evolvable Machines. 1 (1 -2) 121 - 164.
Genetic programming is an automatic method for creating a computer program or other complex structure to solve a problem. This paper first reviews various instances where genetic programming has previously produced human-competitive results. It then presents new human-competitive results involving the automatic synthesis of the design of both the parameter values (i.e., tuning) and the topology of controllers for two illustrative problems. Both genetically evolved controllers are better than controllers designed and published by experts in the field of control. One of these two controllers infringes on a previously issued patent. Other evolved controllers duplicate the functionality of other previously patented controllers. The results in this paper, in conjunction with previous results, reinforce the prediction that genetic programming is on the threshold of routinely producing human-competitive results and that genetic programming can potentially be used as an "invention machine" to produce patentable new inventions.
Click here for a PDF file of this GPEM journal paper on control in first issue of this journal.
Koza, John R., Yu, Jessen, Keane, Martin A., and Mydlowec, William. 2000.
Evolution of a controller with a free variable using genetic programming. In
Poli, Riccardo, Banzhaf, Wolfgang, Langdon, William B., Miller, Julian, Nordin,
Peter, and Fogarty, Terence C. 2000. Genetic Programming: European
Conference, EuroGP 2000,
A mathematical formula containing one or more free variables is "general" in the sense that it provides a solution to an entire category of problems. For example, the familiar formula for solving a quadratic equation contains free variables representing the equation's coefficients. Previous work has demonstrated that genetic programming can automatically synthesize the design for a controller consisting of a topological arrangement of signal processing blocks (such as integrators, differentiators, leads, lags, gains, adders, inverters, and multipliers), where each block is further specified ("tuned") by a numerical component value, and where the evolved controller satisfies user-specified requirements. The question arises as to whether it is possible to use genetic programming to automatically create a "generalized" controller for an entire category of such controller design problems ¾ instead of a single instance of the problem. This paper shows, for an illustrative problem, how genetic programming can be used to create the design for both the topology and tuning of controller, where the controller contains a free variable.
Click here for a PDF file of this Euro-GP-2000 conference paper on a parameterized topology for controllers.
Koza, John R., Keane, Martin A., Yu, Jessen, Mydlowec, William, and Bennett,
Forrest H III. 2000. Automatic synthesis of both the topology and parameters for
a controller for a three-lag plant with a five-second delay using genetic
programming. In Cagnoni, Stafano et al. (editors). Real-World Applications
of Evolutionary Computing. EvoWorkshops 2000. EvoIASP, Evo SCONDI, EvoTel,
EvoSTIM, EvoRob, and EvoFlight,
This paper describes how the
process of synthesizing the design of both the topology and the numerical
parameter values (tuning) for a controller can be automated by using genetic
programming. Genetic programming can be used to automatically
Click here for a PDF file of this Evo-SCONDI-2000 conference paper.
Koza, John R., Keane, Martin A., Yu, Jessen, Mydlowec, William, and Bennett,
Forrest H III. 2000. Automatic synthesis of both the control law and parameters
for a controller for a three-lag plant with five-second delay using genetic
programming and simulation techniques. In Proceedings of the 2000 American
Control Conference,
This paper describes how the process
of synthesizing the design of both the topology (control law) and the numerical
parameter values (tuning) for a controller can be automated using genetic
programming. Genetic programming can be used to automatically
Click here for a PDF file of this ACC-2000 conference paper
Koza, John R., Keane, Martin A., Yu, Jessen, and Mydlowec, William. 2000.
Automatic synthesis of electrical circuits containing a free variable using
genetic programming. In Whitley, Darrell, Goldberg, David, Cantu-Paz, Erick,
Spector, Lee, Parmee, Ian, and Beyer, Hans-Georg (editors). GECCO-2000:
Proceedings of the Genetic and Evolutionary Computation Conference, July 10 -
12, 2000,
A mathematical formula containing one or more free variables is "general" in the sense that it represents the solution to all instances of a problem (instead of just the solution of a single instance of the problem). For example, the familiar formula for solving a quadratic equation contains free variables representing the coefficients of the to-be-solved equation. This paper demonstrates, using an illustrative problem, that genetic programming can automatically create the design for both the topology and component values for an analog electrical circuit in which the value of each component in the evolved circuit is specified by a mathematical expression containing a free variable. That is, genetic programming is used to evolve a general parameterized circuit that satisfies the problem's high-level requirements. The evolved circuit has been cross-validated on unseen values of the free variable.
Click here for a PDF file of this GECCO-2000 conference paper on a parameterized topology for filters.
Koza, John R., Mydlowec, William, Lanza, Guido, Yu, Jessen, and Keane, Martin A.. Reverse engineering of metabolic pathways.
These slide transparencies were presented at the
Computation in Cells workshop on Tuesday April 18, 2000 in
Click here for a PDF file of the Computation in Cells slides on metabolic pathways.
Koza, John R. (editor). 2000. Genetic Algorithms and Genetic Programming
at Stanford 2000.
This volume contains 55 papers written by students describing their term projects for the course "Genetic Algorithms and Genetic Programming" (Medical Information Sciences 226 / Computer Science 426 / Electrical Engineering 392K) at Stanford University during the winter quarter 2000 (offered on campus, on SITN TV, and on Stanford On Line).
Click here for information on this Book of Student Papers for 2000
Koza, John R. (editor). 2000. CS 426 / MIS 226 / EE 392K: Genetic
Algorithms and Genetic Programming Winter 2000 Course Reader.
This course reader contains slide
transparencies and course materials used in CS 426 / MIS 226 / EE 392K course
on genetic algorithms and genetic programming in the Winter quarter 2000 at
Click here for information on obtaining a copy of the CS 426 / MIS 226 / EE 392K Course Reader for 2000 from the Stanford Bookstore.
Koza, John R., Yu, Jessen, Keane, Martin A., and Mydlowec, William. 2000.
Use of conditional developmental operators and free variables in automatically
synthesizing generalized circuits using genetic programming. In Lohn, Jason,
Stoica, Adrian, Keymeulen, Didier, and Colombano, Silvano (editors). 2000. Proceedings of the Second NASA / DoD Workshop
on Evolvable Hardware, July 13 - 15 2000,
This paper demonstrates that genetic programming can be used to create a circuit-constructing computer program that contains both conditional operations and inputs (free variables). The conditional operations and free variables enable a single genetically evolved program to yield functionally and topologically different electrical circuits. The conditional operations can trigger the execution of alternative sequences of steps based on the particular values of the free variables. The particular values of the free variables can also determine the component value of the circuit's components. Thus, a single evolved computer program can represent the solution to many instances of a problem. This principle is illustrated by evolving a single computer program that yields a lowpass or a highpass filter whose passband and stopband boundaries depend on the program's inputs.
Click here for a PDF copy of this EH-2000 conference paper on a parameterized topology for filter circuits.
Koza, John R., Bennett III, Forrest H, Andre, David, and Keane, Martin A. 2000.
Automatic design of analog electrical circuits using genetic programming In
Cartwright, Hugh (editor). Intelligent Data Analysis in Science.
The design (synthesis) of analog electrical circuits entails the creation of both the topology and sizing (numerical values) of all of the circuit's components. There has previously been no general automated technique for automatically designing an analog electrical circuit from a high-level statement of the circuit's desired behavior.
This chapter introduces genetic programming and shows how it can be used to automate the design of both the topology and sizing of a suite of five prototypical analog circuits, including a lowpass filter, a tri-state frequency discriminator circuit, a 60 dB amplifier, a computational circuit for the square root, and a time-optimal robot controller circuit.
The problem-specific information required for each of the eight problems is minimal and consists primarily of the number of inputs and outputs of the desired circuit, the types of available components, and a fitness measure that restates the high-level statement of the circuit's desired behavior as a measurable mathematical quantity.
All five of these genetically evolved circuits constitute instances of an evolutionary computation technique solving a problem that is usually thought to require human intelligence.
Click here for a PDF file of this chapter in book edited by Cartwright
Koza, John R., Mydlowec, William, Lanza, Guido, Yu, Jessen, and Keane, Martin A. 2000. Reverse Engineering and Automatic Synthesis of Metabolic Pathways from Observed Data Using Genetic Programming. Stanford Medical Informatics Technical Report SMI-2000-0851. November 7, 2000.
Recent work has demonstrated that genetic programming is capable of automatically creating complex networks (such as analog electrical circuits and controllers) whose behavior is modeled by continuous-time differential equations (both linear and non-linear) and whose behavior matches prespecified output values. The concentrations of substances participating in networks of chemical reactions are also modeled by non-linear continuous-time differential equations. This paper demonstrates that it is possible to automatically create (reverse engineer) a network of chemical reactions from observed time-domain data. Genetic programming starts with observed time-domain concentrations of input substances and automatically creates both the topology of the network of chemical reactions and the rates of each reaction within the network such that the concentration of the final product of the automatically created network matches the observed time-domain data. This paper describes how genetic programming automatically created a metabolic pathway involving four chemical reactions that takes in glycerol and fatty acid as input, uses ATP as a cofactor, and produces diacyl-glycerol as its final product. In addition, this paper describes how genetic programming similarly created a metabolic pathway involving three chemical reactions for the synthesis and degradation of ketone bodies. Both automatically created metabolic pathways contain at least one instance of three noteworthy topological features, namely an internal feedback loop, a bifurcation point where one substance is distributed to two different reactions, and an accumulation point where one substance is accumulated from two sources.
Click here for PDF version of
Koza, John R., Mydlowec, William, Lanza, Guido, Yu, Jessen, and Keane, Martin A. 2000.Reverse engineering by means of genetic programming of metabolic pathways from observed data. Accepted as oral presentation paper.
Recent work has
demonstrated that genetic programming is capable of automatically creating
complex networks (e.g., analog electrical circuits, controllers) whose behavior
is modeled by linear and non-linear continuous-time differential equations and
whose behavior matches prespecified output values. The concentrations of
substances participating in networks of chemical reactions are modeled by
non-linear continuous-time differential equations. This paper demonstrates that
it is possible to automatically create (reverse engineer) a network of chemical
reactions from observed time-domain data. Genetic programming starts with
observed time-domain concentrations of substances and automatically creates
both the topology of the network of chemical reactions and the rates of each
reaction of a network such that the behavior of the automatically created
network matches the observed time-domain data. Specifically, genetic
programming automatically created a metabolic pathway involving four chemical
reactions that consume glycerol and fatty acids as input, used ATP as a
cofactor, and produced diacyl-glycerol as the final product. The metabolic
pathway was created from 270 data points. The automatically created metabolic
pathway contains three key topological features, including an internal feedback
loop, a bifurcation point where one substance is distributed to two different
reactions, and an accumulation point where one substance is accumulated from
two sources. The topology and sizing of the entire metabolic pathway was
automatically created using only the time-domain concentration values of
diacyl-glycerol (the final product).
Click here for PDF version of this accepted ICSB-2000 conference paper. This paper was subsequently published in 2001 as chapter in book (edited by Kitano)
Bennett, Forrest H III, Koza, John R., Yu, Jessen, and Mydlowec, William.
2000. Automatic synthesis, placement, and routing of an amplifier circuit by
means of genetic programming. In Miller, Julian, Thompson, Adrian, Thomson,
Peter, and Fogarty, Terence C. (editors). 2000. Evolvable Systems: From
Biology to Hardware. Third International Conference, ICES 2000,
The complete design of a circuit typically includes the tasks of creating the circuit's placement and routing as well as creating its topology and component sizing. Design engineers perform these four tasks sequentially. Each of these four tasks is, by itself, either vexatious or computationally intractable. This paper describes an automatic approach in which genetic programming starts with a high-level statement of the requirements for the desired circuit and simultaneously creates the circuit's topology, component sizing, placement, and routing as part of a single integrated design process. The approach is illustrated using the problem of designing a 60 decibel amplifier. The fitness measure considers the gain, bias, and distortion of the candidate circuit as well as the area occupied by the circuit after the automatic placement and routing.
Click here for a PDF file of this ICES-2002 conference paper
Comisky, William, Yu, Jessen, and Koza, John. 2000. Automatic synthesis of a
wire antenna using genetic programming. Late Breaking Papers at the 2000
Genetic and Evolutionary Computation Conference,
This paper demonstrates the use of genetic programming to automatically synthesize the design of a wire antenna for an illustrative problem that has been previously solved by both conventional antenna design techniques and the genetic algorithm operating on fixed-length character strings. When the genetic algorithm was used, the human user prespecified many characteristics of the size and shape of the solution. The run of genetic programming also produced a satisfactory result for the illustrative problem. However, it did not require the human user to prespecify the size and shape of the solution. Functions from the Logo programming language and Lindenmayer systems enable genetic programming to draw the antenna. The solution evolved by genetic programming possesses the essential characteristics of the Yagi-Uda type of antenna. The rediscovery by genetic programming of the essential characteristics of the Yagi-Uda antenna is an instance where genetic programming has produced a result that is competitive with a result produced by creative and inventive humans.
Click here for a PDF file of this GECCO-2000 late-breaking paper on antennas.
Keane, Martin A., Yu, Jessen, and Koza, John R. 2000. Automatic synthesis of
both the topology and tuning of a common parameterized controller for two
families of plants using genetic programming. In Whitley, Darrell, Goldberg,
David, Cantu-Paz, Erick, Spector, Lee, Parmee, Ian, and Beyer, Hans-Georg
(editors). GECCO-2000: Proceedings of the Genetic and Evolutionary
Computation Conference, July 10 - 12, 2000,
This paper demonstrates that genetic programming can be used to automatically create the design for both the topology and parameter values (tuning) for a common parameterized controller for all the plants in two families of plants that are representative of typical industrial processes. The genetically evolved controller is "general" in the sense that it contains free variables representing the characteristics of the particular plant. The genetically evolved controller outperforms the controller designed with conventional techniques. In addition, the genetically evolved controller infringes on an early patented invention in the field of control.
Click here for a PDF file of this GECCO-2000 conference paper on a parameterized topology for a controller for two families of plants.
Lanza, Guido, Mydlowec, William, and Koza, John R. 2000. Automatic creation
of a genetic network for the lac operon from observed data by means of genetic
programming. Accepted as a poster paper.
This paper
demonstrates that it is possible to use genetic programming to automatically create
(reverse engineer) a computer program representing the logic underlying the
genetic network for the expression level of the lac operon as measured
by its mRNA. Genetic programming starts with observed time-domain expression
levels of two genes (REPRESSOR or CAP) and the concentrations of two substances (GLUCOSE or LACTOSE) and
automatically creates both a topological arrangement of conditional and
comparative functions of the genetic network as well as all necessary numerical
parameters of the genetic network whose behavior matches the observed
time-domain data.
Click here for a PDF file of this ICSB-2000 paper
Mydlowec, William and Koza, John. 2000. Use of time-domain simulations in
automatic synthesis of computational circuits using genetic programming. Late
Breaking Papers at the 2000 Genetic and Evolutionary Computation Conference,
Previously reported applications of genetic programming to the automatic synthesis of computational circuits have employed simulations based on DC sweeps. DC sweeps have the advantage of being considerably less time-consuming than time-domain simulations. However, this type of simulation does not necessarily lead to robust circuits that correctly perform the desired mathematical function over time. This paper addresses the problem of automatically synthesizing computational circuits using multiple time-domain simulations and presents results involving the synthesis of both the topology and sizing for a squaring, square root, and multiplier computational circuit and a lag circuit (from the field of control).
Click here for a PDF file of this GECCO-2000 late-breaking paper on computational circuits.
Yu, Jessen, Keane, Martin A., and Koza, John R. 2000. Automatic design of
both topology and tuning of a common parameterized controller for two families
of plants using genetic programming. In Proceedings of Eleventh IEEE
International Symposium on Computer-Aided Control System Design (CACSD)
Conference and Ninth IEEE International Conference on Control Applications
(CCA) Conference,
This paper demonstrates that a technique of evolutionary computation can be used to automatically create the design for both the topology and parameter values (tuning) for a common controller (containing various parameters representing the overall characteristics of the plant) for two families of plants. The automatically designed controller is created by means of genetic programming using a fitness measure that attempts to optimize step response and disturbance rejection while simultaneously imposing constraints on maximum sensitivity and sensor noise attenuation. The automatically designed controller outperforms the controller designed with conventional techniques. In particular, the automatically designed controller is superior to the Astrom and Hagglund controller for all plants of both families for the integral of the time-weighted absolute error (ITAE) for a step input, the ITAE for disturbance rejection, and maximum sensitivity. Averaged over all plants of both families, the ITAE for the step input for the automatically designed controller is only 58% of the value for the conventional controller; the ITAE for disturbance rejection is 91% of the value for the conventional controller; and the maximum sensitivity, Ms. for the automatically designed controller is only 85% of the value for the conventional controller. The automatically designed controller is "general" in the sense that it contains free variables and therefore provides a solution to an entire category of problems (i.e., all the plants in the two families) ¾ not merely a single instance of the problem (i.e., a particular single plant).
Click here for a PDF file of this CACSD-2000 conference paper
· 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
Last updated on August 25, 2004