John R. Koza, Matthew J. Streeter, and Martin A. Keane
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 generated two patentable new inventions for which patent applications have been filed. Genetic programming has also generated numerous other human-competitive results, including the design of quantum computing circuits that are superior to those designed by human designers. Genetic programming has also designed antennae, networks of chemical reactions (metabolic pathways), and genetic networks. Genetic programming can automatically create hierarchies, automatically identify and reuse modularities, automatically determine program architecture, and automatically create parameterized topologies. When genetic programming is used to design complex structures, it is often advantageous to use a developmental process that enables syntactic validity and locality to be preserved under crossover.