17 April 2013
How life began
But now those drops of oil weren't really alive, as we say it now, because every one of them was a little random recipe of chemicals. And every time it divided, they got sort of unequal division of the chemicals within them. And so every drop was a little bit different. In fact, the drops that were different in a way that caused them to be better at incorporating chemicals around them, grew more and incorporated more chemicals and divided more. So those tended to live longer, get expressed more.
So what was the next step? Writing down the DNA was an interesting step. And that caused these cells -- that kept them happy for another billion years. But then there was another really interesting step where things became completely different, which is these cells started exchanging and communicating information, so that they began to get communities of cells. I don't know if you know this, but bacteria can actually exchange DNA. Now that's why, for instance, antibiotic resistance has evolved. Some bacteria figured out how to stay away from penicillin, and it went around sort of creating its little DNA information with other bacteria, and now we have a lot of bacteria that are resistant to penicillin, because bacteria communicate. Now what this communication allowed was communities to form that, in some sense, were in the same boat together; they were synergistic. So they survived or they failed together, which means that if a community was very successful, all the individuals in that community were repeated more and they were favored by evolution.
Now the next step that happened is within these communities. These communities of cells, again, began to abstract information. And they began building very special structures that did nothing but process information within the community. And those are the neural structures. So neurons are the information processing apparatus that those communities of cells built up. And in fact, they began to get specialists in the community and special structures that were responsible for recording, understanding, learning information. And that was the brains and the nervous system of those communities. And that gave them an evolutionary advantage. Because at that point, an individual -- learning could happen within the time span of a single organism, instead of over this evolutionary time span.
But then what happened was the individuals worked out, of course, tricks of communicating. And for example, the most sophisticated version that we're aware of is human language. It's really a pretty amazing invention if you think about it. Here I have a very complicated, messy, confused idea in my head. I'm sitting here making grunting sounds basically, and hopefully constructing a similar messy, confused idea in your head that bears some analogy to it. But we're taking something very complicated, turning it into sound, sequences of sounds, and producing something very complicated in your brain. So this allows us now to begin to start functioning as a single organism.
And so, in fact, what we've done is we, humanity, have started abstracting out. We're going through the same levels that multi-cellular organisms have gone through -- abstracting out our methods of recording, presenting, processing information. So for example, the invention of language was a tiny step in that direction. Telephony, computers, videotapes, CD-ROMs and so on are all our specialized mechanisms that we've now built within our society for handling that information. And it all connects us together into something that is much bigger and much faster and able to evolve than what we were before. So now, evolution can take place on a scale of microseconds.
So now we've speeded up the time scales once again. So the first steps of the story that I told you about took a billion years a piece. And the next steps, like nervous systems and brains, took a few hundred million years. Then the next steps, like language and so on, took less than a million years. And these next steps, like electronics, seem to be taking only a few decades. The process is feeding on itself and becoming, I guess, autocatalytic is the word for it -- when something reinforces its rate of change. The more it changes, the faster it changes. And I think that that's what we're seeing here in this explosion of curve. We're seeing this process feeding back on itself.
Now I design computers for a living, and I know that the mechanisms that I use to design computers would be impossible without recent advances in computers. So right now, what I do is I design objects at such complexity that it's really impossible for me to design them in the traditional sense. I don't know what every transistor in the connection machine does. There are billions of them. Instead, what I do and what the designers at Thinking Machines do is we think at some level of abstraction and then we hand it to the machine and the machine takes it beyond what we could ever do, much farther and faster than we could ever do. And in fact, sometimes it takes it by methods that we don't quite even understand.
Teaching evolution to a computer
One method that's particularly interesting that I've been using a lot lately is evolution itself. So what we do is we put inside the machine a process of evolution that takes place on the microsecond time scale. So for example, in the most extreme cases, we can actually evolve a program by starting out with random sequences of instructions. Say, "Computer, would you please make a hundred million random sequences of instructions. Now would you please run all of those random sequences of instructions, run all of those programs, and pick out the ones that came closest to doing what I wanted." So in other words, I define what I wanted. Let's say I want to sort numbers, as a simple example I've done it with. So find the programs that come closest to sorting numbers.
So of course, random sequences of instructions are very unlikely to sort numbers, so none of them will really do it. But one of them, by luck, may put two numbers in the right order. And I say, "Computer, would you please now take the 10 percent of those random sequences that did the best job. Save those. Kill off the rest. And now let's reproduce the ones that sorted numbers the best. And let's reproduce them by a process of recombination analogous to sex." Take two programs and they produce children by exchanging their subroutines, and the children inherit the traits of the subroutines of the two programs. So I've got now a new generation of programs that are produced by combinations of the programs that did a little bit better job. Say, "Please repeat that process." Score them again. Introduce some mutations perhaps. And try that again and do that for another generation.
Well every one of those generations just takes a few milliseconds. So I can do the equivalent of millions of years of evolution on that within the computer in a few minutes, or in the complicated cases, in a few hours. At the end of that, I end up with programs that are absolutely perfect at sorting numbers. In fact, they are programs that are much more efficient than programs I could have ever written by hand.
Now if I look at those programs, I can't tell you how they work. I've tried looking at them and telling you how they work. They're obscure, weird programs. But they do the job. And in fact, I know, I'm very confident that they do the job because they come from a line of hundreds of thousands of programs that did the job. In fact, their life depended on doing the job.