Back in the 1990s some interesting things were done with hardware that could evolve into a function using genetic algorithms and feedback. So what happened? And could it have a role to play today?
The free market and many other natural systems are supposedly about the survival of the fittest. The survival of the best companies, the success of the best products, the best processors and ICs, and so on.
But what about a circuit that evolves through thousands of iterations, influenced by feedback, until it is optimized for a particular function?
I remember being excited back in the mid 1990s, reading a description of work by Adrian Thompson of the University of Sussex that made use of a Xilinx FPGA to perform the genetic design of evolvable hardware.
Thompson chose the task of evolving a circuit in the corner of an unclocked XC6216 FPGA to discriminate between 1-kHz and 10-kHz tones presented at an input — one or other tone in and a 1 or 0 out. The method was to treat the 1800 bit-string that is the configuration word for the FPGA as a genotype and then test random choices of genotype for its fitness to perform the task. The evolution comes by creating "off-spring" genotype words using a genetic algorithm. After 3,500 iterations the circuit defined by the genotype had evolved and was performing the discrimination well (see Thompson's paper presented at the 1st International Conference on Evolvable Systems in 1996).
And with automated iteration of the generations it produced a circuit that occupied far less circuitry and in far less time than could be achieved by human design.
That is spectacular or, if you are an IC designer, may make you concerned. The idea of evolvable hardware is clearly very powerful in design, but also in adaptive and self-repairing circuits.
So what happened and why didn’t it take off?