IEEE Spectrum October, 2007 - 42
all the way up to the World Champion level-
about 2900 on the Chess Federation's scale. In
the end, this conjecture proved to be partly
true. That is, the program did continue to play
better as search depth increased, but additional gains in rating could also be achieved
by improving the evaluation function and the
selectivity of its search.
DeaD or alive?
to play any board game well you have
to assess the situation on the board
astutely, over and over again. For go,
doing this involves determining whether
a group of connected, like-colored
stones (yours or your opponent's) is
"alive" or "dead." Stones that cannot
be captured are alive; spaces that are
surrounded by living groups of the first
side that cannot sustain living groups of
the second side belong to the first side.
the game ends when both sides agree
on the final disposition of territory.
the challenge of go comes from the
fact that analyzing whether a group
of like-colored stones is likely to live
or die can be a hugely tricky affair. In
the figure below, the black stones are
group is alive or dead the program must
search many moves ahead. In the figure
below, if black places a stone on C, then
D
go is played on a board crisscrossed by
19 vertical and 19 horizontal lines whose
361 points of intersection constitute the playing field. The object is to conquer those intersection points.
A player makes a move by placing a lozengeC
shaped "stone" on an intersection, then the
other player counters, and the two alternate moves. Players capture enemy stones
by surrounding them, that is, by removing
the black stones will live, but not uncontheir "liberties," which consist of either the
ditionally. that is, black may have to make
vacant points adjacent to a stone itself or to
additional moves to keep the stones alive
friendly stones to which it is itself connected
if white plays nearby. For instance, if
(see illustration, "The Goal of Go"). When no
white plays on any of the points marked
more moves are possible, the players count up
in red, then black will have to respond
the intersection points they control, and the
appropriately-and immediately-to keep
player with the most points wins.
the black group alive.
A
All the leading Go programmers today belitConsider the black stone labeled D.
tle brute force. In this they resemble the comIf the nearby green spaces are occupied
puter chess experts of 40 years ago. Selective
by white and black doesn't react right
B
search dominated thinking on computer chess
away, then white can kill black by playfrom the late 1940s to the late 1970s, and that
ing on the space to the right of stone D.
mind-set prevented any program from advancIf black captures the new stone, then
ing beyond the level of a Class C player.
white plays on the space above stone D
Go does, however, present two real probunconditionally alive as they have
and destroys the eye. If black connects
lems, both having to do with the amount of
two "eyes," indicated by A and B. the
by playing on the space above stone D,
searching the program must perform.
liberties A and B cannot be occupied
then white captures the four newly conThe first problem is the tree of analysis.
by white (for a white stone placed in
nected stones, killing the entire group.
Because Go offers more possibilities at every
either spot would itself be dead), and
A program would have to follow these
turn, the tree is far bigger for Go than for chess.
therefore black stones cannot be capbranching possibilities to see whether the
At the start of the game, the first player can place
tured no matter what.
black stones are alive or dead, a far more
a stone on any one of 361 positions, the second
however, the situation is usually more arduous job than simply counting up men
player has 360 choices, and so on. A typical game
complicated, and to judge whether a
and positional features, as in chess. -F.H.
lasts about 200 moves, so it averages at least
200 move choices per turn-nearly 10 times as
many as in the average chess position.
alpha-beta pruning, and it works by curtailing the examination of a
The second problem is the evaluation of the end positions. move the moment it becomes clear that another move must be betIn Go you can't just count up stones, because you have to know ter. Let's say the program is comparing move A with move B, and
which stones are worth counting. Conquered territory is defined as it already knows that A leads to an advantage. If it finds, early on,
board space occupied or surrounded by "living" stones-stones the that move B allows the other side to obtain a draw at the very least,
opponent cannot capture by removing their liberties. Before you then the program can cut off its analysis, saving a lot of time.
can count a stone as live, you have to calculate several moves ahead
Alpha-beta pruning reduces the effective branching factor
just to satisfy yourself that it is really there in the first place.
to about the square root of the number of move choices. For
Put these two problems together and you get a computational example, to look ahead 12 plies in pure brute-force mode, you
problem that at first glance seems intractable. But there are would need to search only about 4 billion positions, or 4 x 10 9,
ways to engineer around it.
instead of 3812-or 1019-positions.
A newer way to cut back the overgrowth-null-move pruning-
let's start with the problem of the exploding tree of analysis. was not implemented in Deep Blue, even though one of its invenIf we assume that the program must consider every possible tors, Murray Campbell, was a key member of the Deep Blue team.
continuation that could arise 12 plies into the future, as Deep The algorithm performs a kind of thought experiment, asking how
Blue did in chess, you might expect to have to search a million the position would look if you were to give up the right to move
times as fast. But we don't really need to pay that high a price, for one turn, thus allowing your opponent to make two moves in
because there are ways to prune the tree of analysis.
a row. If after that enormous sacrifice you still have a good posiOne old standby, implemented in all chess programs, is called tion after a relatively shallow search, then the algorithm can stop
www.spectrum.ieee.org
October 2007 | IEEE Spectrum | NA 53
http://www.spectrum.ieee.org
Table of Contents for the Digital Edition of IEEE Spectrum October, 2007
IEEE Spectrum October, 2007 - Cover1
IEEE Spectrum October, 2007 - Cover2
IEEE Spectrum October, 2007 - 1
IEEE Spectrum October, 2007 - 2
IEEE Spectrum October, 2007 - 3
IEEE Spectrum October, 2007 - 4
IEEE Spectrum October, 2007 - 5
IEEE Spectrum October, 2007 - 6
IEEE Spectrum October, 2007 - 7
IEEE Spectrum October, 2007 - 8
IEEE Spectrum October, 2007 - 9
IEEE Spectrum October, 2007 - 10
IEEE Spectrum October, 2007 - 11
IEEE Spectrum October, 2007 - 12
IEEE Spectrum October, 2007 - 13
IEEE Spectrum October, 2007 - 14
IEEE Spectrum October, 2007 - 15
IEEE Spectrum October, 2007 - 16
IEEE Spectrum October, 2007 - 17
IEEE Spectrum October, 2007 - 18
IEEE Spectrum October, 2007 - 19
IEEE Spectrum October, 2007 - 20
IEEE Spectrum October, 2007 - 21
IEEE Spectrum October, 2007 - 22
IEEE Spectrum October, 2007 - 23
IEEE Spectrum October, 2007 - 24
IEEE Spectrum October, 2007 - 25
IEEE Spectrum October, 2007 - 26
IEEE Spectrum October, 2007 - 27
IEEE Spectrum October, 2007 - 28
IEEE Spectrum October, 2007 - 29
IEEE Spectrum October, 2007 - 30
IEEE Spectrum October, 2007 - 31
IEEE Spectrum October, 2007 - 32
IEEE Spectrum October, 2007 - 33
IEEE Spectrum October, 2007 - 34
IEEE Spectrum October, 2007 - 35
IEEE Spectrum October, 2007 - 36
IEEE Spectrum October, 2007 - 37
IEEE Spectrum October, 2007 - 38
IEEE Spectrum October, 2007 - 39
IEEE Spectrum October, 2007 - 40
IEEE Spectrum October, 2007 - 41
IEEE Spectrum October, 2007 - 42
IEEE Spectrum October, 2007 - 43
IEEE Spectrum October, 2007 - 44
IEEE Spectrum October, 2007 - 45
IEEE Spectrum October, 2007 - 46
IEEE Spectrum October, 2007 - 47
IEEE Spectrum October, 2007 - 48
IEEE Spectrum October, 2007 - 49
IEEE Spectrum October, 2007 - 50
IEEE Spectrum October, 2007 - Cover3
IEEE Spectrum October, 2007 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1017
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0917
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0817
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0717
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0617
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0517
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0417
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0317
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0217
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0117
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1016
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0916
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0816
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0716
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0616
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0516
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0416
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0316
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0216
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0116
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1015
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0915
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0815
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0715
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0615
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0515
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0415
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0315
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0215
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0115
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1014
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0914
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0814
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0714
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0614
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0514
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0414
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0314
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0214
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0114
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1013
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0913
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0813
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0713
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0613
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0513
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0413
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0313
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0213
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0113
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1012
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0912
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0812
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0712
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0612
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0512
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0412
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0312
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0212
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0112
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1011
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0911
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0811
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0711
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0611
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0511
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0411
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0311
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0211
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0111
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1010
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0910
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0810
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0710
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0610
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0510
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0410
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0310
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0210
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0110
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1009
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0909
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0809
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0709
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0609
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0509
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0409
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0309
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0209
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0109
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1008
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0908
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0808
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0708
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0608
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0508
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0408
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0308
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0208
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0108
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1107
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_1007
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0907
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0807
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0707
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0607
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0507
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0407
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0307
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0207
https://www.nxtbook.com/nxtbooks/ieee/spectrum_na_0107
https://www.nxtbookmedia.com