270 likes | 427 Views
Use of Genetic Programming for Automatic Synthesis of Post-2000 Patented Analog Electrical Circuits and Patentable Controllers. Martin A. Keane Econometrics, Inc. Chicago, Illinois mak@sportsmrkt.com. Matthew J. Streeter Genetic Programming, Inc. Mountain View, California
E N D
Use of Genetic Programming for Automatic Synthesis of Post-2000 Patented Analog Electrical Circuits and Patentable Controllers Martin A. Keane Econometrics, Inc. Chicago, Illinois mak@sportsmrkt.com Matthew J. Streeter Genetic Programming, Inc. Mountain View, California matt@genetic-programming.com John R. Koza Stanford University Stanford, California koza@stanford.edu OPTI 2003, Detroit, May 19-21
Outline • Overview of Genetic Programming (GP) • Circuit Synthesis using GP • Five post-2000 circuits • Patentable new controllers
Main Ideas of GP • Breed computer programs to solve problems • Programs represented LISP expressions • Programs can create anything (e.g., circuit, controller)
Pseudo-code for GP 1) Create initial random population 2) Evaluate fitness 3) Select fitter individuals to reproduce 4) Apply reproduction operations (crossover, mutation) to create new population 5) Return to 2 and repeat until solution found
Random initial population • Function set: {+, *, /, -} • Terminal set: {A, B, C} • (1) Choose “+” • (2) Choose “*” • (3-5) Choose “A”, “B”, “C”
Fitness Evaluation • 4 random equations shown • Fitness is shaded area Target curve (x2+x+1)
Crossover Picked subtree • Subtrees are swapped to create offspring Picked subtree Parents Offspring
Circuit Synthesis using GP • Computer programs represent circuits via developmental process • Programs grow a circuit from an initial embryo • Fitness measured (primarily) by circuit’s frequency or transient response
Initial Circuit • Consists of test fixture (VSOURCE, RSOURCE, RLOAD) and embryo (Z0, Z1)
Developmental Process • Component-inserting functions • Topology-modifying functions • Connection functions
Fitness Measure • Curve-matching (like earlier example) based on circuit’s response in frequency or time domain • Sometimes have additional constraints (e.g., distortion, low component count)
Common setup • 1000 node Beowulf cluster with 350 MHz Pentium II processors • Island model with asynchronous subpopulations • Population size: 100,000 • 70% crossover, 20% constant mutation, 9% cloning, 1% subtree mutation
Setup: Low-voltage Balun Circuit • Produces two half-amplitude signals with 180 degree phase difference • Patented circuit operates with 1 V power supply • Patented circuit
Setup: Low-voltage Balun Circuit • Frequency sweep fitness cases for magnitude & phase angle • Penalty for total harmonic distortion (THD) • Embryo & Test fixture
Setup: Low-voltage Cubic Function Generator • Cubing computational circuit using 2 V supply • Four time-domain fitness cases • Patented circuit
Results: Low-voltage Balun Circuit • Evolved solution is better in terms of frequency response & THD • C302 is in the patent claims • Evolved circuit reads on some, but not all, claims of patent • Evolved circuit
Results: Low-voltage Cubic Function Generator • Evolved solution has 59% of absolute error of patent circuit on our fitness cases • Evolved circuit
Basis for Comparison: the Åström-Hägglund controller • Applied dominant pole design to 16 plants from 4 representative families of plants • Used curve-fitting to obtain generalized solution • Equations are expressed in terms of ultimate gain (Ku) and ultimate period (Tu)
The Åström-Hägglund controller Equation 3 (Ki): Equation 4 (Kd): Equation 1 (b): Equation 2 (Kp) :
One evolved controller: tuning Equation 31: Equation 32: Equation 33: Equation 34: NLM(x) = 100 if x < -100 or x > 100 10(-100/19-x/19) if -100 x < -5 10(100/19-x/19) if 5 < x 100 10x if -5 x 5
Results • 66.4% of setpoint ITAE of Åström-Hägglund (64.1% out-of-sample) • 85.7% of disturbance rejection ITAE of A-H (84.9% OOS) • 94.6% of 1/(minimum attenuation) of A-H (95.8% OOS) • 92.9% of maximum sensitivity of A-H (93.5% OOS)
Conclusions • GP can be used to invent circuits, controllers, and other structures (e.g., antennas) • GP takes a lot of computer time, but: • Moore’s Law is on our side