Re:Computer Science: "an Alzheimer's patient who has forgott...
by jerf on Sunday July 05, 2009 @09:57PM
(#688976)
While I'm not sure I can disagree with the conclusion, I disagree with the arguments leading up to it. Some of the most interesting progress I see today is occurring in the field of computer vision, and the reason why it is occurring today and not 15 years ago is because 15 years ago, you had a Pentium/MMX 133 with 16 MB of RAM. All of the algorithms that today run in just-barely-real time, or run in batch mode on a timeframe that a single grad student can do many compile-run-analyze-try something else cycles on per day, would have taken weeks on that hardware.
I think general AI will see some stuff like this too, algorithms that could have been conceived of 20, 30, 40 years ago but couldn't be feasibly run on even a supercomputer of the time, that run fairly comfortably in a modern <$1000 laptop at Best Buy. (And of course runs even better in a dedicated server performance box; my point is that even low-grade consumer hardware is pretty damn amazing nowadays.)
When I took a grad-level evolutionary computation course about eight years ago, one of the two professors related a story about one of his earliest runs of an evolutionary algorithm. He literally carried around a stack of punchcards as he moved between several schools, and set up the computation so that he could run it for a few hours as there was time, then suspend it again. It literally took him years. This same computation of course runs in a few seconds on something as powerful as an iPhone. (Which isn't too dissimilar in spec from the laptop I used in that class, an 800 MHz Duron PoC (even at the time, admittedly) which was proud to have 256MB of RAM, IIRC.)
It's not just the raw speed of the algorithms, it's the speed of the analysis loop. Where computation time once dominated the research of even the best minds, soon the best minds of our generation will actually be able to get feedback about their AI explorations on reasonable time scales. The fat lady has not sung yet.
(This still explains a lot in the non-AI cases too. It took a while before garbage collection was not a big performance hit, then it took a while longer for popular languages to pick it up. It was never forgotten, it's just that there is often a larger gap between "a good idea" and "a good implementation" than ideas-people realize. Clearly, UNIX is old and out-of-date, but creating an entire ecosystem that is clearly superior and also ready to go is not something you hand to a grad student to write a thesis on. And so on.)
I think general AI will see some stuff like this too, algorithms that could have been conceived of 20, 30, 40 years ago but couldn't be feasibly run on even a supercomputer of the time, that run fairly comfortably in a modern <$1000 laptop at Best Buy. (And of course runs even better in a dedicated server performance box; my point is that even low-grade consumer hardware is pretty damn amazing nowadays.)
When I took a grad-level evolutionary computation course about eight years ago, one of the two professors related a story about one of his earliest runs of an evolutionary algorithm. He literally carried around a stack of punchcards as he moved between several schools, and set up the computation so that he could run it for a few hours as there was time, then suspend it again. It literally took him years. This same computation of course runs in a few seconds on something as powerful as an iPhone. (Which isn't too dissimilar in spec from the laptop I used in that class, an 800 MHz Duron PoC (even at the time, admittedly) which was proud to have 256MB of RAM, IIRC.)
It's not just the raw speed of the algorithms, it's the speed of the analysis loop. Where computation time once dominated the research of even the best minds, soon the best minds of our generation will actually be able to get feedback about their AI explorations on reasonable time scales. The fat lady has not sung yet.
(This still explains a lot in the non-AI cases too. It took a while before garbage collection was not a big performance hit, then it took a while longer for popular languages to pick it up. It was never forgotten, it's just that there is often a larger gap between "a good idea" and "a good implementation" than ideas-people realize. Clearly, UNIX is old and out-of-date, but creating an entire ecosystem that is clearly superior and also ready to go is not something you hand to a grad student to write a thesis on. And so on.)