Electronics design through artificial evolution is becoming practical for some real-world applications [Sipper, Mange, & Péres-Uribe 1998], especially in domains where conventional design methodologies struggle. These include automated analogue circuit design [Rutenbar 1993], and design under difficult implementation constraints such as size, power-consumption, or even fault-tolerance [Thompson 1997a]. Here there are applications even for relatively simple evolved circuits.
When setting-out to evolve a circuit for some task, there is a fundamental decision to be made: whether the evolutionary process is free to explore any possible design, or whether it is constrained to encourage `sensible' circuits more like those arising from conventional design methods. In many ways, the constrained approach seems like a good idea. The search-space of possible designs through which evolution must navigate is reduced in size, to a set of circuits that we can readily understand, and some of which we know should be able to perform the task. Superficially, this suggests an increased chance of success, and a guaranteed utility of the final result, in that we know it is likely to be `well-behaved' and amenable to analysis using established techniques.
The unconstrained approach, however, is alluring [Thompson 1998]. Evolution is free to explore very unusual designs: circuits with strange structures and intricate dynamical behaviours beyond the scope of conventional design and analysis. In this larger search-space, there is the possibility of better solutions, if we are prepared to set aside our prejudices (based on existing design methods) of how an electronic circuit should be. The unrestricted design-space may also contain more evolvable circuits: those more susceptible to gradual adaptation, through a sequence of small changes, towards meeting the specification. Attempts to aid evolution by restricting it to conventional architectures, usually the products of top-down design, may actually hinder it if these structures are not so easily improved through evolution's more bottom-up activities. Furthermore, if the most promising application domains are the ones problematic for conventional design, then the exploration of new strategies is appropriate. Finally, if we are to learn or be inspired by the products of artificial evolution, then we must give it the freedom to produce circuits working in an unexpected way.
Clearly, to learn from an evolved circuit, we need to be able to discern some of its principles of operation. However, even if the goal is merely to evolve a circuit that works (and we don't need to know how), some degree of analysis may still increase its utility as an engineering product. In particular, if bounds on possible long-term changes in the circuit's behaviour can be derived, then the circuit can be applied with confidence more widely. The need for extended consistent performance is difficult to accommodate within an evolutionary framework, because usually the tests for fitness measurement of candidate solutions (the bottleneck in the evolutionary process) are as brief as possible. The evolutionary approach can be made more viable if, through analysis, it can be predicted that a circuit will perform adequately in the long term, even though it was never tested for long during its evolution.
There are two components to long-term stability of behaviour. First, the circuit must be insensitive to certain variations in its implementation or environment, or able to adapt to them. Examples include thermal drift, noise, and ageing effects in semiconductor devices and integrated circuits. Second, it is possible for even simple dynamical systems to display intermittent behaviour over long time-scales [Pomeau & Manneville 1980]. This is not due to any external fluctuations, but is a property of the system's own dynamics. Circuits can be constructed which will inevitably -- though after a long period of normal operation -- suddenly and unpredictably change in their qualitative mode of behaviour; possibly forever, or perhaps to return to normal operation for another long interval [Jefferies & Deane 1997]. An evolutionary algorithm, unless using debilitatingly long fitness evaluation tests, would be blind to this pathological behaviour, and could present such a circuit as a solution to the engineering specification. Inherently erratic dynamics of this kind can also interact with the time-dependent exogenous influences mentioned above. If analysis can provide reassurance against long-term sporadic misbehaviour, the circuit is rendered more useful.
In critical applications, complex circuits can be embedded within an error-recovering framework [Anderson 1985]. The error recovery mechanisms themselves can be simpler, and perhaps formally verified. For example, if a failure condition is detected, the circuit responsible could be automatically reset to a safe initial state. The more a circuit's potential failure modes are understood, the more feasible it becomes to construct a resilient system containing it.
When encouraging evolution to explore beyond the scope of conventional design, there can be engineering benefits to some sort of analysis even without a complete understanding of how the circuit works. In the next section, we discuss what `analysis' is, and how it can be done. We then apply these techniques to illuminate an unconventional evolved circuit, showing that one can indeed address some analysis questions even if the circuit is so strange that parts of its inner workings remain unknown.