The Science of Discworld Revised Edition
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, signals 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 produce 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 properties 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 configuration 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 randomly 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 evolution occurred.
The strangest thing about the eventual solution was its structure. 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 circuit 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 otherwise 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.
Weitere Kostenlose Bücher