Evolutionary Electronics, Sussex University

Posted at: October 23, 2003 02:44 PM | Comments (0) | Edit

Introduction:
Adrian Thompson and the rest of the evolutionary electronics group at Sussex university are currently investigating using genetic algorithms to design electronic circuitry. Their work has shown that artificial evolution is able to explore circuit designs that could never be considered using conventional design methods. They also suggest that these evolved circuits can be better than conventional circuits in terms of size and fault tolerance. What is particularly interesting is that they sometimes don't even understand how their evolved circuits work, despite the fact that they function perfectly as required. It seems that artificial evolution is able to tap into the subtle physical behaviour inherent to silicon circuitry. Outlined below is one experiments which successfully demonstrates an artificially evolved electronic circuit.

Tone discriminator circuit:
This circuit had one input and one output. The task was to evolve the circuit such that it could discriminate between square waves of 1kHz and 10kHz presented at the input. The output should go to +5V as soon as one of the frequencies is present and to 0V for the other. This was considered a first step into pattern recognition and signal processing.


A Xilinix XC6216 FPGA was used. This contains an array of 64 x 64 identical cells. However, only the north-west 10 x 10 corner of cells was used. This made the task not so facile due to the few components and no access to a clock or any other off chip resources. A basic genetic algorithm was used for the evolution. This was run on a normal desktop PC and enabled the fitness of a physically instantiated circuit to be evaluated automatically. A tone generator drove the input with five 500ms bursts of the 1kHz square wave and five similar bursts of the 10kHz wave. These ten test tones were shuffled into a random order. Connected to the output was an analogue integrator with integrated the voltage of the output over the 500ms duration of the tone.

The individual in the initial random population of 50 produced a constant +5V output at all times, irrespective of the input. No individual in the initial population demonstrated any ability whatsoever to perform the task. For the first few hundred generations the best circuits simply copied the input to the output. By generation 650 progress was made. the 1kHz input gave an output that mostly stayed high. The 100kHz input gave an output that resembled the input. Perfect desired behaviour was achieved around generation 4100. The GA was run for a further 1000 generations without any observable change in the behaviour of the best individual. In the final circuit, arbitrarily chosen as the 5000th, if the input changed from 1kHz to 10kHz the output changed cleanly from a steady +5V to a steady 0V.

It was apparent that evolution explored beyond the scope of conventional design. Output waveforms at generation 1400 would seem absurd to an electronics designer. The experiment took 2-3 weeks, dominated by the five seconds taken to evaluate each individual.

The diagram above shows the final evolved circuit. This circuit discriminates between inputs of periods 1ms and 0.1ms using only 32 cells, each with a propagation delay of less than 5ns. This is not a trivial circuit, and for a human designer to come up with this circuit using so few components would be very hard (if not impossible). The circuit is not brittle either. It responds correctly for input frequencies down to 4.5kHz and for frequencies up to 1.6kHz. In between the output will oscillate spending more time at one output - whichever is more correct. This generalisation property is fortuitous, no steps were taken to encourage it.


The diagram also shows a representative logic diagram. This assumes that all of the FPGA cells were acting as Boolean logic gates in the normal way. The diagram shows several continuous-time recurrent loops however, thus breaking digital design rules.

If the circuit was configured onto a different but nominally identical FPGA chip then its performance was degraded. If the circuit was translated to another region of the 64x64 array on the same chip the performance was also degraded. In both cases if evolution was allowed to continue, the population quickly adapted to the characteristics of the new silicon.

A digital simulation of the circuit extensively exploring variations in time delays and parasitic capacitances. The simulated circuit however never reproduced the FPGA configuration's successful behaviour. Also, a circuit was built out of separate CMOS chips, mimicking the way that the gates were implemented on the FPGA. But again the circuit did not work successfully.

These results show that it must be a particular property of the FPGA implementation that is in part responsible for the circuits successful function. The core of the timing mechanism is a subtle (not understood) property of the VLSI medium.

Conclusion:
Of importance to note is that these exceptional circuits have been evolved from a kind of "primordial silicon-soup". No human design of circuits was involved. This way the evolution was able to take advantage of extremely subtle physical properties and behaviours of silicon, some of which we don't even understand. An obvious parallel can be drawn to the growth and function of natural nervous systems. Biological neural networks are not "designed". Instead they simply find a configuration that seems to work. There is also little doubt that they make use of the physical properties and behaviours of biological cells, some of which we also still don't understand or know about.

Links:
Evolvable Hardware, Sussex University: www.cogs.susx.ac.uk/users/adrianth