CMP's TechWeb IBM DB2 Universal Database. Get the latest trial code on the platform of your choice. Click Here.


Search news:

Advanced Search

 Stocks & Finance

 Web Development
 Company Profiles
 Download Center
 Product Reviews
 Buy Software
 Free-Product Info

 E-mail Newsletters
 Send Feedback

  Free E-mail
 Login - Sign Up Now

Click here to visit Alta Vista Get Pointcast free

  Privacy Statement

Search Home Advanced Search Search Help Web Search

Originating publication
June 03, 1996, Issue: 904
Section: Technology
Genetic program auto-designs analog circuits
R. Colin Johnson

Palo Alto, Calif. - Genetic algorithms (GA) can sometimes rescue software engineers stymied by problems that don't lend themselves to conventional programming techniques. But hardware engineers should be using GAs for designing analog circuits too, claims Stanford professor John Koza.

"Genetic programming can design what-you-want-is-what-you-get electronic circuitry without any prior knowledge about electrical engineering," said Koza. He went on to contrast his approach with that of conventional artificial intelligence: "AI says that the power is in the knowledge, but I say that knowledge is the enemy.

"What we want to use is nature's method to evolve optimal solutions without the hindrance of preconceived knowledge."

Yet GAs have not been used for automatic design of analog circuits, for this reason: Unlike software problems, for which there are only a few types of operators, electronic circuits are of a vastly larger variety. For example, if you chose a problem with just 20 two-terminal components-resistors, capacitors and inductors-millions of different circuits could be randomly created.

"There are something like 10,300 possible circuits that can be created from just 20 two-lead components," said Koza.

The barrier to applications of the promising technique boiled down to the possible combinations' being too vast to search using a conventional genetic algorithm. In the standard approach, a population of random candidates evolves toward incrementally better solutions. But there are too many beginning analog circuits from which to choose.

To bring the analog-circuit-design problem into the realm of the solvable, Koza chose the concept of embryonic circuits. "Embryonic circuits are very minimal circuits matched to your problem," Koza said. A two-component LC circuit, for example, could serve as an embryonic circuit.

Using the embryonic circuit as a starting point, the genetic algorithm "operates" on it with functions that either add a circuit component or modify a connection among the existing circuit components.

As each circuit variation is created, it is also tested against the solution parameters of the problem definition. If the modification solves the problem better, then the change is retained. If the change makes the circuit solve the problem less well, then it is discarded.

"We added in many of the common circuit manipulations that engineers ordinarily perform by hand," said Koza. For instance, flipping a component end-for-end is a primitive operation that is useful for getting polarized components, such as diodes, oriented properly. Other operations swap circuits between series and parallel versions.

Koza began by solving such problems as elliptical low-pass filters of order five. The embryonic circuit chosen for the low-pass problem was a one-input one-output circuit with one voltage source feeding it through a resistor and two internal connection points for three other two-terminal components.

Three component-creation functions were chosen, for resistors, capacitors and inductors. Twelve operations were chosen: the end-for-end flip, series transformation, parallel transformation and nine ways of changing internal connections. The fitness measure for the circuit-performance test used a weighted sum of a circuit's response in 100 bands of frequency around the roll-off frequency of the low-pass filter.

The automatically created circuits were then compared for performance. If output frequencies were permitted above the low-pass cutoff in a particular filter design, then that circuit was killed off. Those with higher weighed averages, because they cut off above the low-pass frequency, were retained.

When a population of such "good" circuits accumulated, the genetic program allowed them to procreate sexually, by snipping pieces of two solutions together into a new circuit that was different from the two "parents." Then random mutations were introduced into the particular circuit elements, to change their component values slightly or even to introduce components or connections.

After many hundreds of thousands of iterations, the best-performing low-pass filter designed by the genetic algorithm used three components: two inductors and one capacitor, with the inductor in series with the input and a capacitor/inductor series circuit in parallel with the output.

In other tests, Koza has successfully chosen the component values for Butterworth filters, 20-rung ladder filters and bridged-T filters. He has also experimented with using higher-level components, such as op amps, with equally successful results.

Most of the time, Koza said, the genetic program comes up with something recognizable. "Often, however, we get circuits that work well but whose internal construction is just too complex to analyze properly."

Koza has also incorporated several ways to optimize the circuits that are automatically interconnected, such as rewarding the use of cheap resistors over more expensive capacitors. "There are many ways you can play around with a circuit's evolution to optimize it in various ways," he said.

In a final real-world test, Koza chose a filter circuit to solve a design problem that a scholarly engineering journal had deemed too difficult to solve. "The tenth-order elliptic asymmetric bandpass filter was touted as being difficult to design, but we were easily able to solve it," Koza said.

To be fair, Koza did have to double the size of the population used to evolve a bandpass filter-up to 640,000 circuits-thereby multiplying the time it took the computer to evolve a "best" circuit. He had to devise a more extensive fitness measure by which the members of the evolving population were measured against one another. The problem took four days to run, on a 64-CPU parallel processor.

Humans replaced

In the end, however, the genetic program quickly evolved the complicated bandpass filter without further human intervention. It took 132 generations to meet all the design requirements, and the final circuit used over 40 components. But no human experience was required to meet the analog design's most stringent requirements.

Koza has evolved many other circuits, including a crossover filter that is said to combine perfectly matched high-pass and low-pass filters. The genetic program in that case had no awareness of the separate filters but was aware of the crossover design requirements. "The resulting filter was better than a five-stage Butterworth filter," Koza said.

He has also evolved dual crossovers for separate woofer, midrange and tweeter outputs from a single filter.

When Koza tried to evolve an amplifier from transistor, resistor and capacitor components, he evolved both a classical voltage-gain stage, whereon the input drives the base of the transistor, and a Darlington emitter-follower stage on the output. Unfortunately, nearly half of the circuit seemed to be non-functional.

But, Koza said, when the team "removed the mysterious part of the circuit and just left the voltage-gain stage and the emitter-follower stage, it still performed within design specifications.

"I guess it was just like real biological circuits, where much of the genetic material is seemingly useless," he noted.

Copyright 1996 CMP Media Inc.


Sponsored Supplements From CMPnet
Plug your laptop into USB. Will it save headaches or create new ones?
Find out how affiliate programs can make your Web site money.
Find out what knowledge management can do for you.
Data mining is one profitable use for all that data you store.
Planet IT's newest tech center is about Advanced IP services -- and it's hot!
We take an in-depth look at Caldera's latest: OpenLinux 2.2.

Click Here