Technology Design or Evolution?
The two processes for building complex systems are fundamentally different.
By Steve Jurvetson
Many of the most interesting problems in computer science, nano-technology, and synthetic biology require the construction of complex systems. But how would we build a really complex system -- such as a general artificial intelligence (AI) that exceeded human intelligence?
Some technologists advocate design; others prefer evolutionary search algorithms. Still others would conflate the two, hoping to incorporate the best of both while avoiding their limitations. But while both processes are powerful, they are very different and not easily combined. Rather, they present divergent paths.
Designed systems offer predictability, efficiency, and control. Their subsystems are easily understood, which allows their reuse in different contexts. But designed systems also tend to break easily, and they have conquered only simple problems so far. Compare, for example, Microsoft code and biological code: Word is larger than the human genome.
By contrast, evolved systems demonstrate that simple, iterative algorithms, distributed over time and space, can accumulate design and create complexity that is robust, resilient, and well adapted to its environment. In fact, biological evolution provides the only "existence proof" that an algorithm can produce complexity transcending that of its antecedents. Biological evolution is so inspiring that engineers have mimicked its operations in areas such as genetic programming, artificial life, and the iterative training of neural networks.
But evolved systems have their disadvantages. For one, they suffer from "subsystem inscrutability." That is, when we direct the evolution of a system, we may know how the evolutionary process works, but we will not necessarily understand how the resulting system works internally. For example, when the computer scientist Danny Hillis evolved a simple sort algorithm, the process produced inscrutable and mysterious code that did a good job at sorting numbers. But had he taken the time to reverse-engineer his system, the effort would not have provided much generalized insight into evolved artifacts.
Why is this? Stephen Wolfram's theory of computational equivalence suggests that simple, formulaic shortcuts for understanding evolution may never be discovered. We can only run the iterative algorithm forward to see the results, and the various computational steps cannot be skipped.
Thus, if we evolve a complex system, it is a black box defined by its interfaces. We cannot easily apply our design intuition to the improvement of its inner workings. We can't even partition its subsystems without a serious effort at reverse-engineering. And until we can understand the interfaces between partitions, we can't hope to transfer a subsystem from one evolved complex system to another.
A grand engineering challenge therefore remains: can we integrate the evolutionary and design paths to exploit the best of both? Can we transcend human intelligence with an evolutionary algorithm yet maintain an element of control?
The answer is not yet clear. If we artificially evolve a smart AI, it will be an alien intelligence defined by its sensory interfaces, and understanding its inner workings may require as much effort as we are now expending to explain the human brain.
Humans are not the end point of evolution. We are inserting ourselves into the evolutionary process. The next step in the evolutionary hierarchy of abstractions will accelerate the evolution of evolvability itself.
Steve Jurvetson is managing director of the venture capital from Draper Fisher Jurvetson.
Copyright Technology Review 2006.