next up previous
Next: Conclusion Up: Previous: Analysis

Discussion

The idea of enabling sophisticated behaviour to arise from an unusually small number of electronic components by allowing them to interact more freely than is customary dates back at least as far as Grey Walter's electromechanical `tortoises' in 1949 (when the active components were thermionic valves and relays)[6]. More recently, Mead's philosophy for analogue neural VLSI has been to exploit the behaviours that semiconductor structures naturally exhibit, rather than choosing a set of functions and then trying to implement them in hardware [9]. In `Pulse-stream' neural networks, the use of continuous-time dynamics has been demonstrated to release new power from a digital substrate [10].

The core principle that these ideas approach is to look for an efficient composition of electronic components selected from a set of physical (not abstract) resources, such that their coupled natural behaviours collectively give rise to the required overall system behaviour. In this paper, we have seen evolution do exactly that. A `primordial soup' of reconfigurable electronic components has been manipulated according to the overall behaviour it exhibits, and on no other criterion, with no constraints imposed upon the structure or its dynamical behaviour other than those inherent in the resources provided.

For a human to design such a system on paper would require the set of coupled differential equations describing the detailed electronic and electromagnetic interactions of every piece of metal, oxide, doped silicon, etc., in the system to be considered at all stages of the design process. Because this is not practical, the structure and dynamical behaviour of the system must be constrained to make design tractable. The basic strategy is to: (1) Break the system into smaller parts that can be understood individually. (2) Restrict the interactions between these parts so that can be understood. (3) Apply 1 and 2 hierarchically, allowing design at increasing levels of abstraction.

Thus, conventional design always requires constraints to be applied to the circuit's spatial structure and/or dynamical behaviour. Evolution, working by judging the effects of variations applied to the real physical hardware, does not. That is why the circuit was evolved without the enforcement of any spatial structure, such as limitations upon recurrent connections, or the imposition of modularity, and without dynamical constraints such as a synchronising clock or handshaking between modules.gif This sets free all of the detailed properties of the components to be used in developing the required overall behaviour. It is reasonable to claim that the evolved circuit consequently uses significantly less silicon area than would be required by a human designer faced with the same problem, but such assertions are always open to attack from genius designers.

The outstanding problem with allowing evolution a free hand to exploit the resources is that the evolving circuits can become tailored too specifically to the exact conditions prevailing during evolution. For instance, our example circuit was shown to be using subtle interactions between adjacent components on the silicon; surely if this evolved configuration were used with another, nominally identical, FPGA chip then it would no longer work? Every chip has slightly different propagation delays, capacitances, etc., and the circuit could have come crucially to rely on those of the particular chip on which it was evolved. To investigate this question, the final population at generation 5000 was used to configure a completely different tex2html_wrap_inline422 region of the same FPGA chip (Fig. 9).

   figure143
Figure 9: Moving the circuit to a different region of the FPGA.

When used to configure this new region, the individual in the population that was fittest at the old position deteriorated by tex2html_wrap_inline502 %. However, there was another individual in the population which, at the new position, was within 0.1% of perfect fitness. Evolution was allowed to continue at the new position, and after only 100 generations had recovered perfect performance. When this new population was moved back to the original region of silicon, again the transfer reduced the fitness of the individual that used to be fittest, but there was another individual in the population that behaved perfectly there.

Recall that the circuit works perfectly over the tex2html_wrap_inline490 C range of temperatures to which the population was exposed during evolution. This, together with the ease with which evolution was observed to adapt the circuit to work on a new region of silicon, suggests a unified solution to the problem of evolving circuits with engineering tolerances. The plan is to have tex2html_wrap_inline506 nominally identical FPGA chips, selected from separate batches (so as to be as different from each-other as possible), held at different temperatures using Peltier-effect heat pumps, and with a range of permissible power-supply voltages. To evaluate an individual's fitness, it will be tested on each of the FPGAs and given a score according to its ability to perform under all of these conditions. This will not slow down evolution because the FPGAs can operate in parallel. The hope is that evolution will produce a configuration that works at any permissible temperature and power-supply voltage and for any FPGA of that type. Success is not certain, because it will not be possible to expose the evolving circuits to every possible combination of conditions, but there is good reason to think that it can be made easier for evolution to generalise than to specialise. If the unconstrained efficient evolutionary exploitation of resources can be made an engineering practicality, the pay-offs will be great.


next up previous
Next: Conclusion Up: Previous: Analysis

Adrian Thompson
Tue Dec 10 12:57:54 GMT 1996