John R. Koza

John R. Koza
Stanford University | SU · Department of Electrical Engineering

About

172
Publications
28,862
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
8,012
Citations

Publications

Publications (172)
Patent
Signal-processing devices having memristors are described for performing frequency-discrimination functions, amplitude-discrimination functions, and time-oriented functions. In each case, the time-domain behavior of the memristors described herein enables these functions to be performed. In one embodiment, memristance of an arrangement of memristor...
Article
Genetic programming has now been used to produce at least 76 instances of results that are competitive with human-produced results. These human-competitive results come from a wide variety of fields, including quantum computing circuits, analog electrical circuits, antennas, mechanical systems, controllers, game playing, finite algebras, photonic s...
Conference Paper
The tutorial will start with a description of the problem addressed by genetic programming, a description of the basic genetic programming algorithm, and examples of applications. The tutorial will also describe advanced topics, such as use of a developmental process within genetic programming; implementations of automatically defined functions (su...
Article
Genetic programming is a systematic method for getting computers to automatically solve problems. Genetic programming starts from a high-level statement of what needs to be done and automatically creates a computer program to solve the problem by means of a simulated evolutionary process. The paper demonstrates that genetic programming (1) now rout...
Article
This paper describes how genetic programming has been used as an invention machine to automatically synthesize complete designs for four optical lens systems that duplicated the functionality of previously patented lens systems. The automatic synthesis of the complete design is done ab initio, that is, without starting from a preexisting good desig...
Chapter
This paper describes a search for the time-optimal “bang bang” control strategy for the three dimensional broom balancing (inverted pendulum) problem by genetically breeding populations of control strategies using a recently developed new “genetic computing” paradigm. The new paradigm produces results in the form of a control strategy consisting of...
Article
Full-text available
1 This paper introduces genetic programming (GP) – a set of evolutionary computation techniques for getting computers to automatically solve problems without having to tell them explicitly how to do it. Since its inception, GP has been used to solve many practical problems, producing a number of human competitive results and even patentable new inv...
Conference Paper
This paper describes the use of genetic programming to automatically synthesize the design for a fixed-length loaded symmetric dipole antenna whose gain at a specific wavelength exceeds that of a commercially-marketed human-designed antenna and that reaches the theoretical maximum value for an antenna of its type. The run of genetic programming sta...
Conference Paper
The concentrations of substances participating in networks of chemical reactions are often modeled by non-linear continuous-time differential equations. 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 linear...
Chapter
Full-text available
As newly sequenced proteins are deposited into the world's ever-growing archives, they are typically immediately tested by various algorithms for clues as to their biological structure and function. One question about a new protein involves its cellular location — that is, where the protein resides in a living organism (e.g., extracellular, membran...
Chapter
Full-text available
Genetic programming was used to evolve both the topology and sizing (numerical values) for each component of a low-distortion, low-bias 60 decibel (1000-to-1) amplifier with good frequency generalization.
Chapter
Genetic programming is a systematic method for getting computers to automatically solve problems. Genetic programming is an extension of the idea of the genetic algorithm into the arena of computer programs. Genetic programming uses the Darwinian principle of natural selection and analogs of recombination (crossover), mutation, gene duplication, ge...
Conference Paper
This paper has two aspects. First, it describes the use of genetic programming to automatically synthesize a solution to the challenge problem posed at an international competition held every four years in the field of optical design. In 2002, the competition at the International Optical Design Conference attracted 42 entries from 39 well-known opt...
Chapter
This chapter describes how genetic programming was used as an invention machine to automatically synthesize a complete design for an aspherical optical lens system (a type of lens system that is especially difficult to design and that offers advantages in terms of cost, weight, size, and performance over traditional spherical systems). The genetica...
Chapter
Full-text available
Human-competitive results include those equivalent to new scientific results published in peer-reviewed scientific journals, solutions to long-standing or indisputably difficult problems, patented inventions, and results that tie or beat human contestants in regulated competitions. We argue that the pursuit of human-competitive results is not only...
Chapter
Full-text available
This paper demonstrates that a design for a low-distortion high-gain 96 decibel (64,860 -to-1) operational amplifier (including both circuit topology and component sizing) can be evolved using genetic programming.
Chapter
Full-text available
It has been previously established that genetic programming can be used as an automated invention machine to synthesize designs for complex structures. In particular, genetic programming has automatically synthesized structures that infringe, improve upon, or duplicate the functionality of 21 previously patented inventions (including six 21st-centu...
Article
This paper describes how genetic programming was used as an automated invention machine to synthesize both the topology and numerical parameters for seven previously patented optical lens systems, including one aspherical system and one issued in the 21st-century. Two of the evolved optical lens systems infringe the claims of the patents and the ot...
Conference Paper
The three dozen or so known instances of human-competitive designs of antennas, mechanical systems, circuits, and controllers produced by genetic programming suggest the question of whether genetic programming can be extended to the design of complex structures from other fields. This paper describes how genetic programming can be used to automatic...
Conference Paper
This paper describes how genetic programming was used as an invention machine to automatically synthesize complete designs for six optical lens systems that duplicated the functionality of previously patented lens systems. The automatic synthesis was done "from scratch"-that is, without starting from a pre-existing good design and without pre-speci...
Chapter
Full-text available
The goal of getting computers to automatically solve problems is central to artificial intelligence, machine learning, and the broad area encompassed by what Turing called “machine intelligence„ (Turing, 1948, 1950). In his talk entitled AI: Where It Has Been and Where It Is Going, machine learning pioneer Arthur Samuel stated the main goal of the...
Conference Paper
Genetic programming has now been successfully used to automatically synthesize human-competitive designs in a number of fields, including analog electrical circuits, optical lens systems, antennas, controllers, mechanical systems, and quantum computing circuits. Despite considerable variation in representation and technique, the above results share...
Article
Some designs are sufficiently creative that they are considered to be inventions. The invention process is typically characterized by a singular moment when the prevailing thinking concerning a long-standing problem is, in a overthrown and replaced by a new approach that could not have been logically deduced from what was previously known. This pap...
Article
This article reports on a project in which we browsed patents issued after January 1, 2000 to commercial enterprises or university research institutions for analog electrical circuits. We then employed genetic programming to automatically design (synthesize) entities that duplicated the functionality of five post-2000 issued patents. The automated...
Article
Recent work has demonstrated that genetic programming can automatically create both the topology (graphical structure) and sizing (numerical component values) for analog electrical circuits merely by specifying the circuit's high level behavior (e.g., its desired or observed output, given its input). This automatic synthesis of analog circuits is a...
Article
this paper, we use the genetic programming paradigm to evolve a computer program that exhibits emergent behavior and enables an autonomous mobile robot to follow the walls of an irregularly shaped room. The evolutionary process is driven only by the fitness of the programs in solving the problem
Article
The goal in automatic programming is to get a computer to perform a task by telling it what needs to be done, rather than by explicitly programming it. This paper considers the task of automatically generating a computer program to enable an autonomous mobile robot to perform the task of moving a box from the middle of an irregular shaped room to t...
Article
this report describes our search for a practical option that provides computing power that is intermediate between that of workstations and supercomputers at a price (in terms of both money and programming effort) that is intermediate between that of workstations and supercomputers
Article
Full-text available
This paper describes the parallel implementation of genetic programming in the C programming language using a PC 486 type computer running Windows acting as a host and a network of transputers acting as processing nodes. Using this approach, researchers of genetic algorithms and genetic programming can acquire computing power that is intermediate b...
Article
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 automat...
Article
Full-text available
can be used to automate the synthesis of the design of both the topology and parameter values for controllers. The method described in this paper automatically makes decisions concerning the total number of processing blocks to be employed in the controller, the type of each block, the topological interconnections between the blocks, the values of...
Article
Genetic programming is a systematic method for getting computers to automatically solve 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. The paper demonstrates that genetic programming (1) now routinely delivers high-return human-competitive...
Conference Paper
Full-text available
This paper reviews the use of genetic programming as an automated invention machine for the synthesis of both the topology and sizing of analog electrical circuits. The paper focuses on the importance of the developmental representation in this process. The paper makes the point that genetic programming now routinely delivers high-return human-comp...
Article
This document provides instructions for preparing the required 7 camera-ready copies of VERY-HIGH-QUALITY of your paper for the CS 426 / BMI 226 Course. When you are finished, your final camera-ready paper should end up looking very much like this document.
Article
Anyone who has ever looked at a floor plan of a building, a corporate organization chart, a musical score, a protein molecule, a city map, or a large electrical circuit diagram will be struck by the massive reuse of certain basic substructures within the overall structure. Indeed, complex structures are almost always replete with modularities, symm...
Article
Full-text available
Reuse will become increasingly important as larger digital and analog circuits are created by the techniques of the fieM of evolvable hardware. This paper discusses the ways by which genetic programming can facilitate reuse and the associated advantages of using a developmental process.
Article
Full-text available
The concentrations of substances participating in networks of chemical reactions are modeled by non-linear continuous-time differential equations. 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-lin...
Article
Genetic programming can be used as an automated invention machine to create designs. Genetic programming has automatically created designs that infringe, improve upon, or duplicate the functionality (in a novel way) of 16 previously patented inventions involving circuits, controllers, and mathematical algorithms. Genetic programming has also genera...
Article
this paper, Glycerol (C00116), Fatty acid (C00162), and ATP (C00002) are externally supplied at a constant rate (table 3). That is, these values are not subject to evolutionary change during the run
Article
Previous work has shown that genetic programming is capable of creating analog electrical circuits whose output equals common mathematical functions, merely by specifying the desired mathematical function that is to be produced. This paper extends this work by generating computational circuits whose output is an approximation to the error function...
Conference Paper
Full-text available
Previous work has demonstrated that genetic programming can automatically create analog electrical circuits, controllers, and other devices that duplicate the functionality and, in some cases, partially or completely duplicate the exact structure of inventions that were patented between 1917 and 1962. This paper reports on a project in which we bro...
Article
Full-text available
The automated problem-solving technique of genetic programming has generated at least 36 human-competitive results. In six cases, it automatically duplicated the functionality of inventions patented after January 2000.
Conference Paper
Full-text available
Recent work has demonstrated that genetic programming can automatically create both the topology (graphical structure) and sizing (numerical component values) for analog electrical circuits merely by specifying the circuit's high level behavior (e.g., its desired or observed output, given its input). This automatic synthesis of analog circuits is a...
Article
Full-text available
A discussion on the genetic programming was presented. It was found that computer programs that functioned via Darwinian evolution were creating inventions that were novel and useful enough to be patented. The application of genetic programming for machine intelligence and design were presented.
Article
Full-text available
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 p...
Article
The design (synthesis) of analog electrical circuits starts with a highlevel statement of the circuit's desired behavior and requires creating a circuit that satisfies the specified design goals. Analog circuit synthesis entails the creation of both the topology and the sizing (numerical values) of all of the circuit's components. The difficulty of...
Article
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 con...
Conference Paper
Genetic programming is a systematic method for getting computers to automatically solve 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. This summary paper makes the points that (1) genetic programming now routinely delivers high-return huma...
Chapter
Genetic programming is an automatic technique for producing a computer program that solves, or approximately solves, a problem. This chapter reviews several recent examples of human-competitive results produced by genetic programming. The examples all involve the automatic synthesis of a complex structure from a high-level statement of the requirem...
Article
Full-text available
Genetic programming can be used as an automated invention machine to synthesize designs for complex structures. In particular, genetic programming has automatically synthesized complex structures that infringe, improve upon, or duplicate the functionality of 21 previously patented inventions (including analog electrical circuits, controllers, and m...
Article
Full-text available
Genetic programming is a systematic method for getting computers to automatically solve 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. The paper makes the points that (1) genetic programming now routinely delivers high- return human-compe...
Article
Full-text available
This paper describes how we used genetic programming to automatically create the design of both the structure (topology) and sizing (component values) of analog electrical circuits that duplicate the functionality of five post-2000 patented inventions. The paper also describes how we used genetic programming to automatically create the design of bo...
Chapter
This paper describes a biologically inspired domain-independent technique , called genetic programming, that automatically creates computer programs to solve problems. Starting with a primordial ooze of thousands of randomly created computer programs, genetic programming progressively breeds a population of computer programs over a series of genera...
Article
The problem of source identification involves correctly classifying an incoming signal into a category that identifies the signal's source.
Conference Paper
Full-text available
Previous work has shown that genetic programming is capable of creating analog electrical circuits whose output equals common mathematical functions, merely by specifying the desired mathematical function that is to be produced. This paper extends this work by generating computational circuits whose output is an approximation to the error function...
Conference Paper
Full-text available
Most real-world controllers are composed of proportional, integrative, and derivative Signal processing blocks. The so-called PID controller was invented and patented by A. Callender and A.B. Stevenson (1939). Later J.G. Ziegler and N.B. Nichols (1942) developed mathematical rules for automatically selecting the parameter values for PID controllers...
Article
This chapter demonstrates that genetic programming can automatically create complex structures from a high-level statement of the structure's purpose. The chapter presents results produced by genetic programming that are from problem areas where there is no known general mathematical technique for automatically creating a satisfactory structure. Th...
Article
Full-text available
Astrom and Hagglund developed tuning rules in 1995 for PID controllers that outperform the 1942 Ziegler-Nichols rules on an industrially representative set of plants. In this paper, we use genetic programming to automatically discover tuning rules for PID controllers that outperform the Astrom-Hagglund rules for the industrially representative set...
Conference Paper
In tree-based genetic programming (GP), the most frequent subtrees on later generations are likely to constitute useful partial solutions. This paper investigates the effect of encapsulating such subtrees by representing them as atoms in the terminal set, so that the subtree evaluations can be exploited as terminal data. The encapsulation scheme is...
Conference Paper
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 linear and non-linear continuous-time differential equations and whose behavior matches prespecified output values. The concentrations of substances participati...
Article
Full-text available
This paper describes a biologically inspired domain-independent technique, called genetic programming, that automatically creates computer programs to solve problems. Starting with a primordial ooze of thousands of randomly created computer programs, genetic programming progressively breeds a population of computer programs over a series of generat...
Article
Full-text available
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...
Conference Paper
Full-text available
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 make the decisions concerning the total number of signal processing blocks to be employed in a co...
Article
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 prespeci...
Article
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 behavi...
Conference Paper
Full-text available
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 make the decisions concerning the total number of signal processing blocks to be employed in a controller, t...
Conference Paper
Full-text available
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 approa...
Article
Full-text available
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...
Article
Full-text available
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 t...
Article
Full-text available
Genetic programming is an automatic method for creating a computer program to solve a problem. This paper first reviews various instances where genetic programming has previously produced human competitive results and then presents new human-competitive results involving the automatic synthesis of the design of both the parameter values and the top...
Conference Paper
Full-text available
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 automat...
Article
Full-text available
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 p...