Artificial intelligence in the game of go
Early in the film "A Beautiful Mind," the mathematician John Nash is seen sitting in a Princeton courtyard, hunched over a playing board covered with small black and white pieces that look like pebbles. He was playing Go, an ancient Asian game. Frustration at losing that game inspired the real Nash to pursue the mathematics of game theory, research for which he eventually was awarded a Nobel Prize.
In recent years, computer experts, particularly those specializing in artificial intelligence, have felt the same fascination and frustration. Programming other board games has been a relative snap. Even chess has succumbed to the power of the processor. Five years ago, a chess-playing computer called Deep Blue not only beat but thoroughly humbled Garry Kasparov, the world champion at that time. That is because chess, while highly complex, can be reduced to a matter of brute force computation. Go is different. Deceptively easy to learn, either for a computer or a human, it is a game of such depth and complexity that it can take years for a person to become a strong player. To date, no computer has been able to achieve a skill level beyond that of the casual player.
The game is played on a board divided into a grid of 19 horizontal and 19 vertical lines. Black and white pieces called stones are placed one at a time on the grid's intersections. The object is to acquire and defend territory by surrounding it with stones. Programmers working on Go see it as more accurate than chess in reflecting the ways the human mind works. The challenge of programming a computer to mimic that process goes to the core of artificial intelligence, which involves the study of learning and decision-making, strategic thinking, knowledge representation, pattern recognition and perhaps most intriguingly, intuition.
Danny Hillis, a computer designer and chairman of the technology company Applied Minds, said the depth of Go made it ripe for the kind of scientific progress that came from studying one example in great detail.
"We want the equivalent of a fruit fly to study," Hillis said. "Chess was the fruit fly for studying logic. Go may be the fruit fly for studying intuition."
Along with intuition, pattern recognition is a large part of the game. While computers are good at crunching numbers, peopl are naturally good at matching oetterns. Humans can recognize an acquaintance at a glance, even from the back.
Daniel Bump, a mathematics professor at Stanford, works on a program called GNU Go in his spare time.
"You can very quickly look at a chess game and see if there's some major issue," he said. But to make a decision in Go, he said, players must learn to combine their pattern-matching abilities with the logic and knowledge they have accrued in years of playing.
One measure of the challenge the game poses is the performance of Go computer programs. The past five years have yielded incremental improvements but no breakthroughs, said David Fotland, a programmer and chip designer in San Jose, California, who created and sells The Many Faces of Go, one of the few commercial Go programs.
Part of the challenge has to do with processing speed. The typical chess program can evaluate about 300,000 positions in a second, and Deep Blue was able to evaluate some 200 million positions in a second. By midgame, most Go programs can evaluate only a couple of dozen positions each second, said Anders Kierulf, who wrote a program called SmartGo.
In the course of a chess game, a player has an average of 25 to 35 moves available. In Go, on the other hand, a player can choose from an average of 240 moves. A Go-playing computer would need about 30,000 years to look as far ahead as Deep Blue can with chess in three seconds, said Michael Reiss, a computer scientist in London. But the obstacles go deeper than processing power. Not only do Go programs have trouble evaluating positions quickly; they have trouble evaluating them corectly. Nonetheless, the allure of computer Go incereases as the difficulties it poses encourages programmers to advance basic work in artificial intelligence.
"We think we have the basics of what we do as humans down pat," Bump said. "We get up in the morning and make breakfast, but if you tried to program a computer to do that, you'd quickly find that what's simple to you is incredibly difficult for a computer."
The same is true for Go. "When you're deciding what variations to consider, your subconscious mind is pruning," he said. "It's hard to say how much is going on in your mind to accomplish this pruning, but in a position on the board where I'd look at 10 variations, the computer has to look at thousands, maybe a million positions to come to the same conclusions, or to wrong conclusions."
Reiss, an expert in neural networks, compared a human being's ability to recognize a strong or weak position in Go with the ability to distinguish between an image of a chair and one of a bicycle. Both tasks, he said are hugely difficult for a computer.
For that reason, Fotland said, "writing a strong Go program will teach us more about making computers think like people than writing a strong chess program."