Computers can’t blunder…right?
The TCEC superfinal between Komodo and Stockfish is currently taking place. I have the games (a 100-game match I believe!) running in the background while I work, kind of like test-match cricket. It’s somehow soothing, a silicon version of Enya if you will. I bet noone’s ever used that analogy before.
Yesterday, in game 22, something amazing happened. Stockfish blundered. Stockfish, currently two games behind, was completely winning and gave its evaluation of the position as +26. Then, in two moves, it was 0.00. Really! And these guys (girls? its?) are supposed to be 3200+. If that’s not what you call throwing away a win, I don’t know what is.
You can see the game here. 64.Bc2 wins, although it’s a long, complicated variation (and obviously not one that I found myself!). After 64.Kg4 both computers immediately recognised the draw.
(Hat tip to Mark Watkins for the link.)
I suspect this has to do with the aggressive pruning that programs like Stockfish do at the deepest levels in the move tree. Some critical refuting move got pruned out of the tree, causing SF to eval the position much higher than it should. After the game progressed a few moves, that move was at a low enough ply in the tree that it no longer got pruned out. The pruning of moves from the tree, so that the program can search deeper in a given amount of time, has always been a very difficult thing to get perfectly correct in chess programming, and even little tweaks in search of a little more strength can have the opposite effect.
I want to point out that 64. Kg4 is still a win but after 64… Rg2+ white needs to repeat moves with 65. Kh3.
It is well possible that it is a bug in the program as the latest version Stockfish had already several glitches. It sees that 64. Kg4 is also winning but after having played 64. Kg4 another algoritm prevents the engine to return with 65. Kh3. I am sure such algoritm exists to avoid short draws via repetitions when other not losing moves exist which happened here in the game.
Humans will often repeat moves in won positions but engines normally don’t do.
So the real blunder only arrives at move 67 !!