Sensors Mag

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.

 Ed Ramsden
Ed Ramsden

Evolutionary Computation

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
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
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.)

6. Repeat steps 4 and 5 until satisfactory genotypes emerge. These represent solutions to your problem (viable filters).

Figure 3. "Survival of the fittest" eliminates most of the weaker genotypes and spares the stronger ones
Figure 3. "Survival of the fittest" eliminates most of the weaker genotypes and spares the stronger ones

Initial Doubts

1 2 


Add Comment




IIoT University


Deep Learning for Vision Using CNNs and Caffe: A Hands-on Tutorial – 9/22/16 – Cambridge, Mass


IDE






Sensors 2017 Call for Speakers


Sensors Midwest


Advertise


Subscribe



Twitter Feed

Find It Fix It Forum

Sensors invites you to join the Findit-Fixit Forum, where you can get answers to your sensing questions—concerning technologies, products, methods, applications, and services--and also offer help to your fellow engineers. The Forum covers all kinds of topics, from the basics to the extraordinary.

Join the discussion!


© Copyright 2016 Questex, LLC. All Rights Reserved. Sensorsmag. Privacy Policy | Terms of Use

If you are having technical difficulties or considerations, please contact the webmaster.