Just Add Parts and Shake . . .December 1, 2006 By: Ed Ramsden Sensors
This column usually focuses on prosaic and proven applications for circuits and sensors. This month, though, I am going to talk about an emerging field called evolvable hardware, which potentially has tremendous applicability to designing robust sensing and control systems.
Back in the 1970s, a class of nonlinear mathematical optimization techniques was developed based on evolution in biological systems. These techniques are often referred to as "evolutionary computation." As general-purpose optimization techniques, evolutionary computation can be applied to a variety of problems, including the design of circuits and control systems. Solving a problem using evolutionary computation involves the following steps:
1. Develop a symbolic representation (genome) that can be used to describe multiple versions (genotypes) of the system to be optimized. For example, if the problem is one of optimizing a filter, the genome may consist of a list of resistor and capacitor values.
2. Define a "fitness function" that allows you to determine how well a particular genotype solves the problem, and, equally important, provides a means of ranking genotypes. To continue with the filter example, the fitness function might be the degree to which the actual response of a filter defined by a particular genotype matches the response defined in your design specification.
Figure 1. In mutation, "offspring" genotypes with small random changes are created
3. Define an initial population of genotypes. Population sizes can range from a handful of separate genotypes to thousands of genotypes. For the filter example, this would involve defining a group of filters with random component values.
4. Apply mutation and crossover operators to the population to create a new "generation." Mutation (Figure 1) consists of creating "offspring" genotypes with small random changes, such as changing a resistor to a capacitor. Crossover (Figure 2) is akin to sexual reproduction, where an offspring filter might get Mom's capacitors and Dad's resistors.
Figure 2. Crossover is akin to sexual reproduction, with the offspring receiving characteristics from both parents
5. Rank the individual genotypes within the population and weed out those that are less fit. In this step, the fitness function is used to rank all the individual genotypes in the population. A selection function based on some variation of "survival of the fittest" is then applied to eliminate most of the individuals near the bottom of the heap while retaining most of those near the top (Figure 3.)
Figure 3. "Survival of the fittest" eliminates most of the weaker genotypes and spares the stronger ones
Most Read Articles