AUTOMATIC CREATION OF COMPUTER PROGRAMS FOR DESIGNING ELECTRICAL CIRCUITS USING GENETIC PROGRAMMING
One of the central goals of computer science is to get computers to solve problems starting from only a high-level statement of the problem. The goal of automating the design process bears many similarities to the goal of automatically creating computer programs. The design process entails creation of a complex structure to satisfy user-defined requirements. The design process is usually viewed as requiring human intelligence. Indeed, design is a major activity of practicing engineers. For these reasons, the design process offers a practical yardstick for evaluating automated programming (program synthesis) techniques. In particular, the design (synthesis) of analog electrical circuits entails the creation of both the topology and sizing (numerical values) of all of a 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 paper shows how genetic programming 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. 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.