Source:
http://www.ted.com/talks/danny_hillis_back_to_the_future_of_1994.html
So if you go back about two and a half billion years, the Earth was this big, sterile hunk of rock with a lot of chemicals floating around on it. And if you look at the way that the chemicals got organized, we begin to get a pretty good idea of how they do it. And I think that there's theories that are beginning to understand about how it started with RNA, but I'm going to tell a sort of simple story of it, which is that, at that time, there were little drops of oil floating around with all kinds of different recipes of chemicals in them. And some of those drops of oil had a particular combination of chemicals in them which caused them to incorporate chemicals from the outside and grow the drops of oil. And those that were like that started to split and divide. And those were the most primitive forms of cells in a sense, those little drops of oil.
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.
Now that's sort of just a very simple chemical form of life, but when things got interesting was when these drops learned a trick about abstraction. Somehow by ways that we don't quite understand, these little drops learned to write down information. They learned to record the information that was the recipe of the cell onto a particular kind of chemical called DNA. So in other words, they worked out, in this mindless sort of evolutionary way, a form of writing that let them write down what they were, so that that way of writing it down could get copied. The amazing thing is that that way of writing seems to have stayed steady since it evolved two and a half billion years ago. In fact the recipe for us, our genes, is exactly that same code and that same way of writing. In fact, every living creature is written in exactly the same set of letters and the same code.
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 transition point happened when these communities got so close that, in fact, they got together and decided to write down the whole recipe for the community together on one string of DNA. And so the next stage that's interesting in life took about another billion years. And at that stage, we have multi-cellular communities, communities of lots of different types of cells, working together as a single organism. And in fact, we're such a multi-cellular community. We have lots of cells that are not out for themselves anymore. Your skin cell is really useless without a heart cell, muscle cell, a brain cell and so on. So these communities began to evolve so that the interesting level on which evolution was taking place was no longer a cell, but a community which we call an organism.
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.
So an organism could, for instance, learn not to eat a certain kind of fruit because it tasted bad and it got sick last time it ate it. That could happen within the lifetime of a single organism, whereas before they'd built these special information processing structures, that would have had to be learned evolutionarily over hundreds of thousands of years by the individuals dying off that ate that kind of fruit. So that nervous system, the fact that they built these special information structures, tremendously sped up the whole process of evolution. Because evolution could now happen within an individual. It could happen in learning time scales.
Humans
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.
Technology
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.