<<
>>

Origin of a Specie

A computer—above all else—computes. The part of the translation chain between voltage levels and mathematical computation was the easiest part to write. From there, things became harder.

The only way to get a computer to help with any other task is to translate that task into computation. Much of this work has its roots in artificial intelligence (AI). AI,s practitioners interview human users to identify tasks ripe for translation into computation, and then develop the techniques necessary to effect those translations.

Their work began with a “simple” challenge first issued in 1950: trans­late chess into computation.5 Looking back, it may be hard to remem­ber just how young the computing world was in 1950, but when Claude Shannon, a prominent communications researcher at Bell Labs, proposed chess as the first not-strictly-computational task that anyone ever asked a computer to solve, he had to explain that he planned to write a set of instructions that would “program” the computer to play chess, rather than to build a special chess-playing machine.6

Shannon approached the challenge through game theory. Several years earlier, a group of mathematicians and mathematical economists led by John von Neumann had shown how to translate games like chess into mathematical constructs called “game trees.” They had also explained the algorithmic steps needed to “solve” the mathematical equation implicit in the game tree, and to devise the optimal moves to make under any possible circumstance.7 If Shannon could implement von Neumann’s algorithm, he could teach his computer to play perfect chess. But there was a problem. While the game-theoretic algorithms were theoretical breakthroughs, and the game tree model gave Shannon a sturdy plat­form upon which to base his work, von Neumann’s pointers to chess­playing perfection suffered from a glaring lack of efficiency.

Had Shannon implemented them in 1950, his computer would still be think­ing about its first move—for about another 10100 centuries. Shannon wisely chose another route to computational chess.

He decided to forego optimality, to settle instead for a program that would make pretty good moves much of the time. He augmented his computational algorithm with heuristics, shortcuts that embody tidbits of wisdom in an attempt to do pretty well, while making relatively few mistakes. Heuristics were radical at the time. Back when computers per­formed only computational tasks, tolerance for errors was limited. Programs that returned the wrong answer—even if only on rare occasions—were “bad.” Shannon’s consideration of computer chess taught him an immediate lesson about the evolution of the interface: If it was going to grow upward in any meaningful way, it would have to take risks. It would need principles that allowed it to issue educated guesses, even at the expense of an occasional mistake. His inquiry gave birth to the concept of heuristic programming.

Sound esoteric? Well, it was in 1950, but today it’s not. In fact, heuris­tic programming lies at the cutting edge of e-commerce. Heuristics are what allow Amazon to guess what books you may want to buy based on your past purchases. They’re what allow Yahoo! Music to know that I (and perhaps I alone) enjoy segueing from Yoko Ono to the Weavers. They’re also what allow the same program to posit erroneous connec­tions, such as suggesting that if I like Simon and Garfunkel, I’d proba­bly also like Mary J. Blige.

But Shannon had no way of knowing where his inquiry would lead some fifty years in the future. He wanted to integrate heuristics with algo­rithms to teach his computer how to play chess. He started by studying the game-theoretic algorithm for chess perfection. The underlying idea was fairly straightforward: Think about all of White’s possible openings. Now think about all of Black’s possible responses to each of White’s pos­sible openings.

Now think about all of White’s possible responses to each of Black’s possible responses to each of White’s possible openings. Now keep on going until you’ve generated all possible chess games. Then look at all the games that have finished. It’s pretty clear which ones White won, which ones Black won, and which were stalemates. Now look at all the next-to-last moves. The player who made that move would prefer a win to a draw and a draw to a loss—so we can tell how the game would end if we could only get to that next-to-last move. Then look at the next-to-next-to-last moves. Again, whoever got to make that move would prefer a win to a draw and a draw to a loss. So we can tell how the game would end if we could only get to the next-to-next-to-last moves. And so on and so on and so on (and so on). We can work our way back up from each possible ending to the opening moves, and know how each opening will end. (You can see why this might take 10100 cen­turies). Simple. Complex, inefficient, and heavy on the bookkeeping, but conceptually quite simple—and alliteratively named “minimax.”

Shannon saw two possible shortcuts that kept at least some of mimimax’s flavor: he could either look ahead only a few moves (rather than all of them), or he could consider only selected openings and responses (rather than all of them). Strategies of the first sort represent “brute force searches” of the game tree. They don’t really need to think about what they’re doing. The key lies in bookkeeping. They simply con­sider every possible alternate path until they run out of either time or memory space. When they reach a “horizon” lying several moves in the future, they apply heuristic information encoded by a programmer who knows something about chess to estimate the probability that each point on their horizon will lead to a win, apply the minimax algorithm to those estimates, and make the move that appears to be best. Strategies of the second sort define “selective searches.” They embody a good deal more heuristic information.

While they may enumerate all possible openings, they don’t waste their time considering responses to stupid openings. This immediate rejection of the foolish allows them to save a great deal of time, effort, and bookkeeping. It allows them to look many more moves into the future than brute force searches before applying their horizon heuristics. It also means that they damn well better be right. The heuristics that they use to “prune” moves by immediate rejection need to embody a good deal more chess expertise than their horizon heuristics.

Shannon’s inquiry into chess programming led him to define both cat­egories of search strategies. Over the years, a number of researchers fol­lowed his lead, expanded his concepts, and turned them into powerful, generally useful algorithms. How general? And how useful? The current incarnation of these algorithms powers every commercial search that the Web has ever seen. Google, Yahoo!, Lycos, Alta Vista, HotBot, and even Lexis/Nexis—all can trace their intellectual underpinnings back to Shannon’s initial inquiry into computer chess. The evolutionary processes that he unleashed in his desire to find a not-strictly- computational use of his computer laid the groundwork for the infor­mation sector to absorb reference lookups into the realm of computing.

But again, Shannon wasn’t looking to revolutionize library science. He just wanted to play chess. And the truth is, he wasn’t even really inter­ested in that; his primary interest lay in using his computer to model human decision making. As a result, he outlined the pros and cons of both brute force and selective searches, programmed his computer to play pretty poor chess, and wrote an important and influential article about the experience. But his article had thrown down more gauntlets than he may have realized. At least two important groups of challengers arose to pick them up: the chess programmers and the AI researchers.

The chess programmers more or less missed Shannon’s point.

Shannon had explained that his interest in chess was essentially incidental; he was primarily interested in helping software evolve from its strictly compu­tational roots into the broader world of decision making. He viewed chess as an excellent first step in the right direction. The chess pro­grammers arrived with a different agenda. They liked chess. They wanted their computers to play chess. In fact, they wanted their computers to play world-class chess. They wanted to build the world’s first automated chess champion. Because many of the chess programmers were also prominent chess players, they liked to believe that excellence in chess required extraordinary intelligence, keen insight, and carefully honed acumen. They were thus not terribly enamored of brute force searches. No, they preferred selective search strategies that would allow them to teach the computer what they had mastered themselves—how to tell with but a quick glance which moves were so stupid that they weren’t worth considering. It was a great plan. The best human chess players would train great automated chess players. The chess programmers set out to evolve the interface between the human and the computing worlds by incorporating chess within the computational environment.

But they were wrong. And not because they were slouches at chess. They were just wrong. Take Mikhail Botvinnik, for example. Botvinnik was the greatest chess player of his time; he held the world championship for fourteen of sixteen years between 1948 and 1963. He was also a chess programmer. He developed a technique that he called the “chess master’s method,” and taught it to his computer, which he named PIONEER. Regrettably, PIONEER never learned how to play competi­tive chess. But Botvinnik was not beyond taking advantage of a lucky coincidence. His chess master’s method actually embodied some sophis­ticated, generalizable approaches to reasoning and decision making. Botvinnik put these approaches to use in his day job; the reconfigured PIONEER planned maintenance repair schedules for power stations across the Soviet Union.8 Nevertheless, Botvinnik’s experience did demonstrate an important type of software evolution: he helped to convert scheduling into a computational task and thereby moved the translation frontier upward.

But it was Hans Berliner, a correspondence chess champion and a Pro­fessor at Carnegie Mellon, who proved to be the most important of the chess programmers. Berliner extolled the virtues of selective strategies and derided the simple fools who advocated brute force approaches. He emerged as the most articulate priest of computer chess, developed several chess programs embodying his ideas, and entered virtually every available computer chess tournament. His programs never won, but defeat is effective in focusing the mind. After one-too-many brute force programs defeated his selective searchers, Berliner experienced an epiphany; in the mid-1970s, he began extolling the virtues of brute force approaches and deriding the simple fools who advocated selective searches. As luck would have it, he was right this time. By the mid-1980s he had assembled a team of students who stood Shannon’s original idea on its head. They built dedicated chess-playing machines named Hitech and Deep Thought.9 And Deep Thought was an excellent chess player. In fact, it was a good enough chess player for IBM to hire it and rename it Deep Blue. Deep Blue’s evolution continued at IBM, as it drew more and more chess knowledge out of the human environment, across the software interface, and into the computing environment. In 1997, Deep Blue met world chess champion Gary Kasparov for the second time— and won the match.10

And so, nearly fifty years after Claude Shannon set out to translate chess into a computational problem to enable software to evolve into the realm of chess, Gary Kasparov found himself losing a match to a fully evolved chess machine. Even those who missed Shannon’s basic point managed to make an important contribution to software’s evolution. That left only those who joined Shannon’s original quest to model human decision making: the pioneering researchers of AI.

<< | >>
Source: Abramson B.. Digital Phoenix: Why the Information Economy Collapsed and How It Will Rise Again. The MIT Press,2006. — 373 p.. 2006
More economic literature on Economics.Studio

More on the topic Origin of a Specie:

  1. AVIAN CHOLERA
  2. Policy Provisions for Bovine and Zoonotic Tuberculosis in Uganda
  3. Control of BTB in Ethiopia