How far will computers advance during the next 20 years? Will they become like the amazing devices we see in Star Trek and other science fiction tales? One way to predict this is to look back and see how far we've come in the last two decades.
But that's not easy. It's hard to compare computational prowess without benchmarks, and the best bechmarks are application benchmarks. Alas, modern application benchmarks don't run on old computers. You can't make an Apple II run Microsoft Office 2000 scripts, and even the original CRAY-1 supercomputer won't produce timedemo scores for Quake 3!
Not to worry. There does exist one excellent--and fun--application benchmark that makes full use of the capabilities of old and modern computers alike: chess! The playing strength of computer chess programs depends on their speed; the same chess program running on a faster computer will play better than on a slower one if both are given the same amount of time to make moves.
Let's go back 20 years. The IBM PC didn't quite exist yet, but the Apple II was at the zenith of its popularity, and representative of the power of personal computers of 1980. Its processor was a 1 MHz Mostek 6502, and it could directly access up to 48K of RAM. Yes, that's kilobytes, not megabytes!
The best chess program available for the Apple II in 1980 was Sargon II by the husband-and-wife programming team Dan and Kathe Spraklen. It was much stronger than their original Sargon, which had easily won the microcomputer chess tournament at the 1978 West Coast Computer Fair. For those of you familiar with United States Chess Federation (USCF) ratings, Sargon II had a playing strength somewhere near 1400. In other words, Sargon II played chess about as well as the average USCF member, but stood no chance against professional chessplayers.
Modern computers have processor clock frequencies around 1 GHz--a thousand times as fast as the Apple II. And even that is misleading, because today's microprocessors utilize superscalar architecture and pipelining to execute more than one instruction per clock cycle--over a billion instructions per second. The Apple II's 6502 microprocessor required multiple clock cycles to execute a single instruction, and probably averaged only about 300,000 instructions per second. Modern computers also typically come with more than 1000 times as much RAM memory as the Apple II, and can access hard drives containing many gigabytes of storage; the Apple IIs' mass storage consisted of floppy disks. Processors of the year 2000 also feature far more powerful instructions than the 6502, and access memory in 64-bit words rather than the 8-bit bytes that the 6502 used.
Let's get down to benchmarks. My own Apple II is no longer functional, but there are lots of free emulator programs that enable software for old computers to run on new ones. Alas, I couldn't find a copy of Sargon II for the Apple II, but I did find one for the Commodore VIC-20. This computer was released in June 1980 and used the same processor at the same speed as the Apple II. Thus Sargon II for the VIC-20 almost certainly played exactly the same as on the Apple II.
The screenshot shown here is of Sargon II running on the VICE emulator under Windows 95. The emulator runs up to 10 times as fast as the original VIC-20 on my computer, but that's OK since Sargon II did not use the real-time clock to decide how long to "think" about chess moves--since most computers in 1980 didn't have real-time clocks!
I initially wanted to test the improvement in computer hardware--not software--between 1980 and 2000, so I searched the Internet for the oldest competently implemented commercial chess program for the PC that I could find. I settled on Psion 1.01 by Richard Lang, circa 1985.
I set Psion to its fastest move time, 2 seconds per move. (Psion does use the PC's real-time clock to time its moves.) To be fair, I also disabled Psion's option to "ponder" moves on its opponent's time. I set Sargon II to its tournament level, level 3, which guarantees at least a 3-ply search. This means that Sargon II, at a minimum, considers all its own moves, its opponent's responses, and all of its own responses to its opponent's responses. From there, Sargon II also evaluates all possible piece exchanges to their conclusion. If time allows, Sargon II searches even deeper, using the total number of moves evaluated as a guesstimate of how much time has elapsed. This tournament level was designed to average about 2 minutes per move.
In short, we're talking Sargon II at 2 minutes per move vs. Psion at 2 seconds per move. If the difference between 1980 and 2000 computers is really as great as the specifications imply, then Psion should not only be able to overcome this 60-to-1 handicap, it should win every game!
Computer software also makes great strides over the years. To demonstrate this effect, I obtained Crafty, a well-respected modern freeware chess program by Dr. Robert Hyatt. I also downloaded a 13MB opening move book and 31MB of endgame tablebases that enable Crafty to play 3 and 4 piece endgames perfectly. I also configured Crafty to utilize several megabytes of RAM for "hash tables" to speed up its analysis of transposed and/or redundant positions (I admit that I'm a bit uncomfortable considering such improvements strictly as software enhancements, since they're only possible with the large RAM memories and hard drives of today.) Tablebases for 5 piece and even some 6 piece endings are also available, but they are truly gigantic, and I don't have the time to download them.
I set Crafty to 60 moves every 4 minutes (i.e., 4 seconds per move), and Psion to 15 seconds per move. Even though they were both running natively on the same computer, I decided it best to disable both programs' "pondering" of moves on each others' time. Of eight games played at these settings, Crafty won 5, drew 2, and lost 1. These results suggest that software advancements have improved the performance of computer chess programs by at least a factor of 4 in the last 15 years.
At this point, I couldn't help wondering how a PC of the year 2000 compares to the world's most powerful computer of 1980--the multi-million-dollar CRAY-1 supercomputer. We can use chess to determine that too!
In 1980, Albert Gower and Robert Hyatt--yes, the author of Crafty--converted their Blitz
chess program to run on the CRAY-1. The result, Cray Blitz, was one of the strongest chess
programs in the world. In 1981, it became the first computer program to win a state chess
championship (the Mississippi State Championship), and it came in second at the 1982 North
American Computer Chess Championship. Improved versions of the software running on
multiprocessor Crays won the North American and World computer chess championships in later
years. According to Hyatt, Crafty is itself a direct descendant of Cray Blitz.
+---+---+---+---+---+---+---+---+ 8 | | | | | | *R| | *K| +---+---+---+---+---+---+---+---+ 7 | | | | | | | *P| | +---+---+---+---+---+---+---+---+ 6 | | *N| | | Q | | | *P| +---+---+---+---+---+---+---+---+ 5 | | | | | *P| | | | +---+---+---+---+---+---+---+---+ 4 | | | | | | | | | +---+---+---+---+---+---+---+---+ 3 | | | | | | | | P | +---+---+---+---+---+---+---+---+ 2 | P | P | | | | | P | K | +---+---+---+---+---+---+---+---+ 1 | R | | B | | *Q| | | | +---+---+---+---+---+---+---+---+ a b c d e f g h
Cray Blitz's logs of the game reveal that it evaluated QxN to a depth of 6 plies and still thought the move overwhelmingly advantageous. Because there are many moves at any given position, it takes several times as long to complete a 7 ply search as a 6 ply search...and several times as long again to complete an 8 ply search...and several times as long again to complete a 9 ply search. It is clear that Crafty running on a modern PC is tremendously faster than its ancestor running on a CRAY-1 supercomputer!
OK, so the overall performance of personal computers--software and hardware combined--has increased by a factor of more than 10,000 in the last 20 years--not even counting the additional benefits of specialized hardware devices like graphics accelerators and sound DSPs. Let's extrapolate that into the future.
In general, any computation that requires 3 hours today will require only 1 second 20 years from now. Photorealistic scenes will be rendered at high frame rates for completely realistic simulations and games; even computer-generated people will look normal. We couldn't have imagined First Person Shooters in 1980; by 2020 they'll be indistinguishable from reality. We won't need actors, sets, and cameramen to make movies anymore because any PC will be able to render a movie in real time. Meanwhile, video will be compressed on-the-fly as it is captured, and the compression will be better than anything we've seen yet, even MPEG-4. (Not that we'll really need to compress video on the storage devices we'll have in 20 years!) Speech recognition, speech synthesis, and natural language processing won't begin to strain the computers of the year 2020; they'll finally be as smart as the computers we've seen on Star Trek. Not only that, but computers will be able to see! Right now, it takes a tremendous amount of computational power for a computer to analyze a video image and "understand" at least some of its content, but in 20 years that won't be a problem.
So if computers of the year 2020 will be able to see and talk, could we have intelligent robots like those in science fiction movies? If you had asked me in 1980, I would have told you that such machines were hundreds of years away because the computers inside them would have to be 100,000,000 times as fast as the computers we had then. Well, guess what? By 2020, they will be!
And of course you'll be able to buy a chess program for your PC that can clobber any human
player in the world.
to the Rants, Raves, and Reviews main page
to The World of the Wondersmith