27
Use of Genetic Programming for Automatic Synthesis of Post-2000 Patented Analog Electrical Circuits and Patentable Controllers Matthew J. Streeter Genetic Programming, Inc. Mountain View, California [email protected] Martin A. Keane Econometrics, Inc. Chicago, Illinois [email protected] John R. Koza Stanford University Stanford, California [email protected] OPTI 2003, Detroit, May 19-21

Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Embed Size (px)

DESCRIPTION

Use of Genetic Programming for Automatic Synthesis of Post-2000 Patented Analog Electrical Circuits and Patentable Controllers. Martin A. Keane Econometrics, Inc. Chicago, Illinois [email protected]. Matthew J. Streeter Genetic Programming, Inc. Mountain View, California - PowerPoint PPT Presentation

Citation preview

Page 1: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Use of Genetic Programming for Automatic Synthesis of Post-2000 Patented Analog Electrical

Circuits and Patentable Controllers

Matthew J. StreeterGenetic Programming, Inc.Mountain View, California

[email protected]

Martin A. KeaneEconometrics, Inc.

Chicago, [email protected]

John R. KozaStanford UniversityStanford, California [email protected]

OPTI 2003, Detroit, May 19-21

Page 2: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Outline

• Overview of Genetic Programming (GP)

• Circuit Synthesis using GP

• Five post-2000 circuits

• Patentable new controllers

Page 3: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Overview of Genetic Programming (GP)

Page 4: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Main Ideas of GP

• Breed computer programs to solve problems

• Programs represented LISP expressions

• Programs can create anything (e.g., circuit, controller)

Page 5: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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

Page 6: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Random initial population

• Function set: {+, *, /, -}

• Terminal set: {A, B, C}

+ +

*

1

2

+

*

A B

C

(1) Choose “+” (2) Choose “*” (3-5) Choose “A”, “B”, “C”

Page 7: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Fitness Evaluation

• 4 random equations shown

• Fitness is shaded areaTarget curve

(x2+x+1)

Page 8: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Crossover

• Subtrees are swapped to create offspring

0.234Z + X – 0.789

X 0.789

0.234 Z

*

+

ZY(Y + 0.314Z)

Z Y

*

0.314 Z

*Y

+

*1 1

2 25 5

8 9

3 34 46 7 76

X 0.789

+

0.314 Z

*Y

+

Y + 0.314Z + X – 0.789

Z Y

*

*

0.234 Z

*

0.234Z Y2

Pickedsubtree

Parents

Offspring

Pickedsubtree

Page 9: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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

Page 10: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Initial Circuit

• Consists of test fixture (VSOURCE, RSOURCE, RLOAD) and embryo (Z0, Z1)

C FLIP

LIST1

2 3

-

Page 11: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Developmental Process

• Component-inserting functions

• Topology-modifying functions

• Connection functions

C FLIP

LIST1

2 3

-

Page 12: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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)

Page 13: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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

Page 14: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Five Post-2000 Patented Circuits

Page 15: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Patent Inventor InstitutionLow-voltage balun circuit

Sang Gug Lee Information and Communications University

Mixed analog-digital variable capacitor

Turgut Sefket Aytur

Lucent Technologies Inc.

Voltage-current converter

Akira Ikeuchi and Naoshi Tokuda

Mitsumi Electric Co., Ltd.

High-current load circuit

Timothy Daun-Lindberg and Michael Miller

IBM Corporation

Low-Voltage cubic function generator

Stefano Cipriani and Anthony A. Takeshian

Conexant Systems, Inc.

Page 16: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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

Page 17: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Setup: Low-voltage Balun Circuit

• Frequency sweep fitness cases for magnitude & phase angle

• Penalty for total harmonic distortion (THD)

Embryo & Test fixture

Page 18: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Setup: Low-voltage Cubic Function Generator

• Cubing computational circuit using 2 V supply

• Four time-domain fitness cases

Patented circuit

Page 19: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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

Page 20: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Results: Low-voltage Cubic Function Generator

• Evolved solution has 59% of absolute error of patent circuit on our fitness cases

Evolved circuit

Page 21: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Four Patentable Controllers

Page 22: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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)

Page 23: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

The Åström-Hägglund controller

0.56 0.12+ 2

0.25*Ku KueEquation 1 (b):

Equation 2 (Kp) :

1.6 1.2+

20.72* *

Ku KuuK e

Equation 3 (Ki):

Equation 4 (Kd):

1.6 1.2+ 2

1.3 0.38+ 2

0.72* *

0.59* *

Ku Kuu

Ku Kuu

K e

T e

1.6 1.2 1.4 0.56+ +

2 20.108* * * *

K Ku uK Ku uu uK T e e

Page 24: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

One evolved controller: topology

Page 25: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

Equation 31: Equation 32:

Equation 33:

Equation 34:

( )loglog - + log

+1

L

r uu

LT T

T

( ) ( )( )2 3NLM log - abs( ) +1 - 2L L Lu u r uL L T T T e T e

( )( )( )NLM log - 2 2 log - log +L L Lu u u u uL T e K K e L T K e

log +1rT

NLM(x) = 100 if x < -100 or x > 10010(-100/19-x/19) if -100 x < -510(100/19-x/19) if 5 < x 10010x if -5 x 5

One evolved controller: tuning

Page 26: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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)

Page 27: Matthew J. Streeter Genetic Programming, Inc. Mountain View, California

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