|
Self-Evolving Computer Hardware
I used Field Programmable Gate Arrays (FPGAs) to build a computer in college.
Specifically, XILINX chips. Now those same chips are being using in conjunction
with Genetic Algorithms to "evolve"
logic design. Genetic Algorithms work by mutating characteristics, in this case
of a chip design, and then testing the result for correctness and efficiency.
Of course, the better designs, the ones that act correctly and efficiently,
survive and are then in turn mutated. Most of the work in this area has been
in software where mutations can be tested quickly.
FPGAs are chips whose internal logic can be rewired on the fly. I had to use
them in Computer Science classes to create custom ICs. Someone came up with
the idea of using a computer to control hardware mutations in FPGAs. Brilliant.
Because of this, Adrian Thompson has evolved the design of a chip that distinguishes
between two audio tones. What's the big deal? Well, the design was more efficient
than those made by humans using known principles. And then there is the fact
that five logic cells were completely unconnected to the rest of the circuit
and yet when those cells were removed, the chip failed. "Evidently the
chip had evolved a way to use the electromagnetic properties of a signal in
a nearby cell. But the fact is that Thompson doesn't know how it works."
Chips whose internal logic we don't understand: can we trust them? I can see
an entire new field being born to analyze the properties of these Darwinian
chip designs. A whole new level of abstraction to describe a collection of NAND
gates. via ArsTechnica
|