PHOTO:Mark Leong
|
In 1957, Herbert A.
Simon, a pioneer in artificial intelligence
and later a Nobel Laureate in economics, predicted that
in 10 years a computer would surpass humans in what was
then regarded as the premier battleground of wits: the
game of chess. Though the project took four times as
long as he expected, in 1997 my colleagues and I at IBM
fielded a computer called Deep Blue that defeated Garry
Kasparov, the highest-rated chess player ever.
You might have thought that we had finally put the
question to rest—but no. Many people argued that we had
tailored our methods to solve just this one, narrowly
defined problem, and that it could never handle the
manifold tasks that serve as better touchstones for
human intelligence. These critics pointed to weiqi, an
ancient Chinese board game, better known in the West by
the Japanese name of Go, whose combinatorial complexity
was many orders of magnitude greater than that of chess.
Noting that the best Go programs could not even handle
the typical novice, they predicted that none would ever
trouble the very best players.
Ten years later, the best Go programs still can't beat
good human players. Nevertheless, I believe that a
world-champion-level Go machine can be built within 10
years, based on the same method of intensive
analysis—brute force, basically—that Deep Blue
employed for chess. I've got more than a small personal
stake in this quest. At my lab at Microsoft Research
Asia, in Beijing, I am organizing a graduate student
project to design the hardware and software elements
that will test the ideas outlined here. If they prove
out, then the way will be clear for a full-scale project
to dethrone the best human players.
Such a result would further vindicate brute force as a
general approach to computing problems, if further
vindication were needed. Even now, the method is being
applied to such forbidding challenges as protein
folding, scheduling, and the many-body problem.
Many of the
early computer-chess researchers hailed from
the fields of psychology or artificial intelligence and
believed that chess programs should mimic human
thinking. Specifically, they wanted computers to examine
only playing sequences that were meaningful according to
some human reasoning process. In computer chess this
policy, known as selective search, never really made
progress. The reason is that humans are extremely good
at recognizing patterns; it is one of the things that we
do best.
It was only in the late 1970s, with the success of
Northwestern University's Chess 4.x program, written by
David Slate and Larry Atkins, that the engineering
school of thought became dominant. The idea was to let
computers do what they do best, namely, calculate. A
simple legal-move generator finds all the permissible
moves in a position, considers all the possible
responses, and then repeats the cycle. Each cycle is
called a ply, each generation of new possibilities is
called a node—that is, a branching point in a rapidly
widening tree of analysis. The branches terminate in
“leaf,” or end positions.
Carried to its logical extreme, the tree would grow
until it exhausted every legal continuation, leaving the
program nothing to do but examine the end positions to
see which of them were wins—that is, checkmates—and
which were draws, then work backward along the branching
structure to choose the line that led to the best
outcome, assuming that both sides play perfectly. Such
exhaustive analysis is impractical, though, because it
would produce a tree containing about
1060 positions. That's about
a thousand times the number of hydrogen atoms in the sun.