Выбрать главу

Thompson wondered what would happen if you used the genetic algorithm approach on an electronic circuit. Decide on some task, randomly cross-breed circuits that might or might not solve it, keep the ones that do better than the rest, and repeat for as many generations as it takes.

Most electronic engineers, thinking about such a project, will quickly realize that it's silly to use genuine circuits. Instead, you can simulate the circuits on a computer (since you know exactly how a circuit behaves) and do the whole job more quickly and more cheaply in simulation. Thompson mistrusted this line of argument, though: maybe real circuits 'knew' something that a simulation would miss.

He decided on a task: to distinguish between two input signals of different frequencies, 1 kilohertz and 10 kilohertz, that is, sig­nals that made 1000 vibrations per second and 10,000 vibrations per second. Think of them as sound: a low tone and a high tone. The circuit should accept the tone as input signal, process it in some manner to be determined by its eventual structure, and pro­duce an output signal. For the high tone, the circuit should output a steady zero volts, that is, no output at all, and for the low tone, the circuit should output a steady five volts. (Actually, these prop­erties were not specified at the start: any two different steady signals would have been acceptable. But that's how it ended up.)

It would take forever to build thousands of trial circuits by hand, so he employed a 'field-programmable gate array'. This is a microchip that contains a number of very tiny transistorized 'logic cells', mildly intelligent switches, so to speak, whose connections can be changed by loading new instructions into the chip's config­uration memory.

Those instructions are analogous to an organism's DNA code, and can be cross-bred. That's what Thompson did. He started with an array of one hundred logic cells, and used a computer to ran­domly generate a population of fifty instruction codes. The computer loaded each set into the array, fed in the two tones, looked at the outputs, and tried to find some feature that might help in evolving a decent circuit. To begin with, that feature was anything that didn't look totally random. The 'fittest' individual in the first generation produced a steady five-volt output no matter which tone it heard. The least fit instruction codes were then killed off (deleted), the fit ones were bred (copied and recombined), and the process was repeated.

What's most interesting about the experiment is not the details, but how the system homed in on a solution, and the remarkable nature of that solution. By the 220th generation, the fittest circuit produced outputs that were pretty much the same as the inputs, two waveforms of different frequencies. The same effect could have been obtained with no circuit at all, just a bare wire! The desired steady output signals were not yet in prospect.

By the 650th generation, the output for the low tone was steady, but the high tone still produced a variable output signal. It took until generation 2800 for the circuit to give approximately steady, and different, signals for the two tones; only by generation 4100 did the odd glitch get ironed out, after which point little further evolu­tion occurred.

The strangest thing about the eventual solution was its struc­ture. No human engineer would ever have invented it. Indeed no human engineer would have been able to find a solution with a mere 100 logic cells. The human engineer's solution, though, would have been comprehensible, we would be able to tell a convincing 'story' about why it worked. For example, it would include a 'clock', a cir­cuit that ticks at a constant rate. That would give a baseline to compare the other frequencies against. But you can't make a clock with 100 logic cells. The evolutionary solution didn't bother with a clock. Instead, it routed the input signal through a complicated series of loops. These presumably generated time-delayed and oth­erwise processed versions of the signals, which eventually were combined to produce the steady outputs. Presumably. Thompson described how it functioned like this: 'Really, I don't have the faintest idea how it works.'

Amazingly, further study of the final solution showed that only 32 of its 100 logic cells were actually needed. The rest could be removed from the circuit without affecting its behaviour. At first it looked as if five other logic cells could be removed, they were not connected electrically to the rest, nor to the input or output. However, if these were removed, the circuit ceased to work. Presumably these cells reacted to physical properties of the rest of the circuit other than electrical current, magnetic fields, say. Whatever the reason, Thompson's hunch that a real silicon circuit would have more tricks up its sleeve than a computer simulation turned out to be absolutely right.

The technological justification for Thompson's work is the pos­sibility of evolving highly efficient circuits. But the message for basic evolutionary theory is also important. In effect, it tells us that evolution has no need for narrativium. An evolved solution may 'work' without it being at all clear how it does whatever it does. It may not follow any 'design principle' that makes sense to human beings. Instead, it can follow the emergent logic of Ant Country, which can't be captured in a simple story.

Of course, evolution may sometimes hit on 'designed' solutions, as happens for the eye. Sometimes it hits on solutions that do have a narrative, but we fail to appreciate the story. Stick insects look like sticks, and their eggs look like seeds. There is a kind of Discworld logic to this, since seeds are the 'eggs' of sticks, and prior to the the­ory of evolution taking hold the Victorians approved of this 'logic' because it looked like God being consistent. The early evolutionists didn't see it that way, and they worried about it; but they worried a lot more when they found that some stick insect eggs looked like lit­tle snails. It seemed silly for anything to resemble the favourite food of nearly everything else. In fact, it seemed to be a flat contradiction to the evolutionary story. The puzzle was solved only in 1994, after forest fires in Australia. When new plant shoots came up out of the ashes, they were covered in baby stick insects. Ants had carried the 'seeds', and the 'baby snails', down into their subterranean nests, thinking they were the real thing. Being safely underground, the stick insect eggs escaped the fires. In fact, baby stick insects look, and run, just like ants: this should have been a clue, but nobody made the connection.

And sometimes evolution's solution has no narrative structure. To test Darwin's theories thoroughly, we should be looking for evolved systems that don't conform to a simple narrative descrip­tion, as well as for ones that do. Many of the brain's sensory systems may well be like this. The first few layers of the visual cortex, for example, perform generalized functions like detecting edges, but we have no idea how lower layers work, and that may well be because they don't conform to any design principles that we cur­rently can recognize. Our sense of smell seems to be 'organized' along very strange lines, not at all as clearly structured as the visual cortex, and it too may be lacking any element of design.

More importantly, genes may well be like this. Biologists habit­ually talk of 'the function of a gene', what it does. The unspoken assumption is that it does only one thing, or a small list of things. This is pure magic: the gene as a spell. It is conceived as being a spell in the same sense that 'Cold Start' in a car is. But a lot of genes may not do anything that can be summed up in a simple story. The job they evolved to do is 'build an organism', and they evolved as a team, like Thompson's circuits. When evolution turns up solutions of this kind, conventional reductionism is not much help in under­standing those solutions. You can list neural connections till the cows come home, but you won't understand how the cows' visual systems distinguish a cowshed from a bull.