A couple days ago, Dribbling made an interesting comment on my post “Bronstein on computers and humans.” He comments that he recently watched GM Nakamura (“Smallville” on ICC) playing bullet chess against a computer. Nakamura would deliberately sacrifice material to achieve a blockaded position, and eventually draw under the 50-move rule even though he was a piece or two behind. In this way he gains rating points, because the computer is rated 3600 and Hikaru is rated “only” 3300. Dribbling says:

“I watched several games, but it all happened so fast I have no idea of how he did it. It seems to me that Smallville has found a flaw in the computer’s evaluation algorithm.”

In a way I’m not surprised. We always have to remember what Jesse Kraai says: A computer does not understand a single thing about chess. It gives the illusion of understanding, because its brute force calculation is so good, but that is only an illusion. It doesn’t say, “I need to put my knight here,” or “I need to use a pawn lever to open the position for my rooks.” Most of the time, these limitations don’t matter. But every now and then, they make the computer play almost comically bad chess.

Here’s my favorite example, from one of my own games against the computer. Unlike Hikaru, who apparently has figured out a system, I literally blundered into this position. Nevertheless, you can see his ideas at work.

In this position, I’m playing Black against Fritz 7. This was in 2004, before I bought Fritz 9. We’re playing at a time control of 40 moves in 10 minutes (no sudden death and no per-move time increment). I weakened its rating to 2400, in order to get a better game. (At this point I was still afraid of playing Fritz full strength.) I’ve just played a terrible blunder and lost two (!!) exchanges as a result.

Against a human opponent, I would have absolutely no hope. The human would say, “All I have to do is play b4, a4, b5, open one or two files, and penetrate to the seventh rank or the back rank with my rooks.” Black can’t do anything to stop this plan. In fact, White can even open a file on the kingside if he wants, by playing g3, Kg2 and h3. This might allow for a more direct attack on Black’s king.

Instead, the computer played with an utter lack of understanding. It delayed the push of its queenside pawns. It traded its bishop for the knight on e4, an utterly senseless move because the bishop might be useful for breaking down Black’s queenside. When it finally got around to pushing the queenside pawns, it played a4 first, which allowed me to play … a5 and set up a blockade (because I already had a knight at d5, the square the computer handed to me by its ill-advised bishop for knight exchange). And finally, the computer botched its last chance at opening a file on the kingside by playing h3 before g3. So by move 45, we reached the following utterly blocked position:

At this point, the 50-move death march begins. We play 49 of the most aimless moves in chess history, and then the computer plays 94. b3 and the count begins again. We play 48 more pointless moves, and then it plays 142. d5 (I had left the d5 square vacant for some reason) and we start over one more time. Finally, on move 192, it concedes a draw.

It’s a darned good thing we weren’t playing bullet chess, though, because I couldn’t physically make 192 moves in one minute!

Now you may say, “Well, that was Fritz 7 and not Fritz 10, and it wasn’t even Fritz 7 at full power.” True, but I think Fritz 10 playing bullet chess is almost certainly no better than Fritz 7 playing 40/10. And more to the point, even my copy of Fritz 9, at full strength, given all the time it wants, still doesn’t understand this position. Let’s look at the position on move 136:

Here, for the first time, I decided to allow the computer to trade queens if it wanted to, even though that would start another 50-move count. For some reason, Fritz 7 didn’t want to trade. Too drawish, I guess! When I give this to Fritz 9, it definitely prefers 137. Qxd5. In fact, it prefers it by so much that it gives White a +2.6 pawn advantage. Even after fifteen minutes of analysis, it still gives White a +2.6 pawn advantage! This in spite of the fact that any human player, in fifteen seconds, can see that White has no way to open lines for his rooks, and therefore no way to use his material advantage. I’m pretty sure that Fritz 10 wouldn’t do any better.

A problem with the evaluation function? No, more like a problem with the whole computer approach to chess. I do think that some smart programmer ought to be able to build in a blockade detecting algorithm that could identify a totally blockaded position and avoid it if it has a material advantage. It’s possible that this would foil Hikaru’s anti-computer strategy. But you would still have problems with almost-but-not-totally blockaded positions and the like. At what point do you want your blockade-sensing subroutine to kick in? The problem is that we’re talking about artificial ways to bypass the computer’s fundamental limitation, which is that it doesn’t know how to reason about a chess position. That’s why, even with the powerful computers we have today, a really smart and dedicated person like Hikaru can still find a way to exploit its weakness.

The only thing that amazes me is that any human can move fast enough to draw a game by the 50-move rule in bullet chess!

P.S. Thinking about it some more, I think that this position (either diagram 2 or 3) would be a really good test case for an almost-but-not-totally blockaded position. Because, in fact, White does have some ways to try to win. He could put one rook on c4, another on b1, and the queen on d2, with the intention of sacrificing an exchange on b4. Black would have to play 1. … Nd5, and then White could try 2. b3-b4, again with the idea of sacrificing an exchange (2. … ab 3. Rxb4). Unfortunately for White, I think that this idea is defeated by 3. … Ba5 pinning the rook and winning both exchanges back. This results in a Q + P endgame where I believe it is very hazardous for White to play for a win because as soon as he opens lines, he is vulnerable to back rank threats. (In fact, Black doesn’t even have to wait, but can start setting up those threats with … Qf7 and … Qh5, once the rooks are off the board.) Finally, if White tries to anticipate this idea with 2. Qc2, threatening b3-b4, Black will jump right back in with his knight: 2. … Nb4. Now the exchange sac on b4 doesn’t work because after 3. Rxb4 ab 4. Qd2, Ba5 maintains the blockade! So maybe, in fact, White has to bring his queen around to a3 instead, to support b3-b4 without allowing a pin. But perhaps, if Black sees White trying to do this, he can set up with … Nd3 and … Qd5 instead. Now b3-b4 isn’t possible because the rook hangs! It’s mind-boggling! Anyway, the point is that, whether it’s a draw or a win, the computer isn’t able to come even close to the truth of the position, because it is incapable of this kind of abstract reasoning.