Why do engines fail to solve a 400 year old chess puzzle?

Why do engines fail to solve a 400 year old chess puzzle?


Hello chess lovers. Here is a chess puzzle by Gioachino Greco. This was created in 1623 and its black to move and draw the game. Let’s first turn on the engine Komodo 10 infinite analyzes and then I will speak about this puzzle and also will try to answer the question why are chess engines unable to solve this? You can see that the engine is evaluating the position incorrectly. First of all who was Greco? He was an Italian chess player and writer. He recorded some of the earliest chess games known. His games, all against anonymous opponents (“NN”), were quite possibly constructs but served as highly useful tools for spotting opening traps. Mikhail Botvinnik considered Greco to be the first professional chess player. So why are chess engines unable to find the solution of this puzzle?
Chess engines are just brute forces which in a second are analyzing hundreds of millions of positions. The evaluation engine , assigns a positive (good) or a negative (bad) value to any chess board position. And accordingly the engine is programmed that “if this position occurs, do this or that.Otherwise they are stupid but hardworking machines. I call them stupid because they even analyze a millions of silly moves which a normal chess player won’t even consider. So it all depends how far they can calculate. When it comes to tactics they are perfect. But when speaking about positional chess or endgames, alone with the calculating depth it is difficult to find a correct evaluation. So engines must have Endgame Tablebases, in order to solve such puzzles. Endgame more tricky endgames. Tablebases are precalculated databases that hold for every possible position in a certain endgame, whether it is drawn or how many moves are left for a side to win or lose assuming perfect play. With the help of those, chess engines can simply lookup, if it is advisable to do a certain exchange or not, as well as how to finish some of the more tricky endgames. Such Tablebases are available for all positions containing three to six pieces (counting the kings) and for some seven-piece combinations. The only disadvantage is that, Tablebases are very space consuming and the disk-access tends to be slow. Now what about this puzzle? Did you solve it? As for the engine it can’t see the solution. You can see here are the suggested moves; Ra1. That is true. But after Rf1 it is not calculating to take on f1 but the correct move is taking on f1 Kf1 and now a very difficult choice for black Bh3. Your are taking on h3 and this is a drawn endgame because this bishop is useless because it is of an opposite color of h8 square that’s why this is theoretically drawn position and these pawns are also useless. By the way this Bh3 sacrifice reminds me of Alexey Shirovs move against Veselin Topalov. One day we will cover that endgame as well. But why the computer can’t see or solve this puzzle? To understand which moves are good and which ones are bad you have to know about evaluation function. This function gives the following values to each pieces. Pawn 100, Bishop and knight 300. Rook 500 queen 900 king 100 000 The king must have a much greater value in order not to get sacrificed by the program. So the program won’t give up 300 value because it is unable to calculate up to the end. When the maneuvering in an ending to achieve an irreversible improvement takes more moves than the horizon of calculation of a chess engine, an engine is not guaranteed to find the best move without the use of an endgame Tablebase, and in many cases can fall foul of the fifty-move rule as a result.That’s why the engine chooses another line where it keeps it’s valuable pieces. So what are the conclusions. The engines can only solve this puzzle if they have an endgame Tablebase containing not only positions but also rules. You can see that even in this position after playing Bh3 the engine thinks that white is winning! This much, what other puzzles do you know that computer choke on it. Tell me about it please I will publish them with great pleasure. Good luck.

100 thoughts on “Why do engines fail to solve a 400 year old chess puzzle?

  1. An engine would never ever end up in a position like that. It doesn't need to know the solution to useless endgame constructs because its superior strategy will perfectly prevent it from getting stupidly cornered like that when up two pawns…

  2. Fritz 16 was initially suggesting 2. …Ra4 but after about 7-8 seconds it found the right move 2. …Rxf1+ and then 3. … Bh3. Stockfish 8 was unable though :>

  3. Here"s Stockfish 9 analysis at depth 40:

    [Site "Georgetown, PEI, Canada"]
    [Date "2018.03.02"]
    [Round "Puzzle"]
    [White "Stockfish_9_x64"]
    [Black "Stockfish_9_x64"]
    [Result "1/2-1/2"]
    [BlackElo "3200"]
    [Time "10:50:24"]
    [WhiteElo "3200"]
    [SetUp "1"]
    [FEN "r7/8/8/5bk1/8/5B2/5RPP/6K1 b – – 0 1"]
    [Termination "normal"]
    [WhiteType "program"]
    [BlackType "program"]

    1…Ra1+ 2. Rf1 Rxf1+ 3. Kxf1 Bh3 4. gxh3 Kg6 5. h4 Kf5 6. h3 Kg6
    7. h5+ Kh7 8. Be4+ Kg7 9. h6+ Kg8 10. h4 Kh8 11. Kf2 Kg8 12. h5 Kh8
    13. h7 Kg7 14. h6+ Kh8 15. Bd5 Kxh7 16. Be4+ Kxh6
    {+0.08/40 0 Insufficient material} 1/2-1/2

  4. My engine needs 1 second, to see that ra1 is +0.00 without tablebases.
    It is really a super easy puzzle for engines, there are puzzles that hurt some of the alpha beta cuts, when engines wants to draw because of opponent having much more material, but there are version solvin theese.
    This is a 1 second seeing draw.
    Maybe engine has the knoledge that a bishop with a wrong color pawn cant win, i dont know.
    It is stockfish 9.
    Even spike 1.4 evaluate this fast as 0.00 and i dont know why you post a video with a position supereasy to solve from engines nowdays.

  5. You all stop calculate, and imagine- white will winn, cause white king will go around the board and push black king away and get white pawn to the queens!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  6. Lol remember playing chess games soon as computer sees its going to lose it stops playing never making a move. Me….cheater!!

  7. What is compelling white to take the bishop with the pawn? Why not just make a king move to avoid the draw? How is this a puzzle if the white pieces are not forced to make specific moves?

  8. No, engine does not fail to solve it. check here: https://lichess.org/analysis/r7/8/8/5bk1/8/5B2/5RPP/6K1_b_-_-#1

  9. What sad chess engine brute forces anything? It would drown in Its own tears long before ever making a move in any game.

  10. your conclusion ist not correct. the real reason is a very bad computer programm or in better words, the programmer has less fantasy how a program has to be for such complex situation

  11. So that wasnt so much of a puzzle as it was just a set of moves that some engines wouldnt be willing to make. Wow…..* claps slowly* ….>,;,<

  12. I think white is winning this position btw. After king F2, black king has to move. H4 is bad because after bishop D1 king G5 and king G3, the sacrifice is cancelled and white can push G pawn to promotion all along. I think the engine is right

  13. Hi Suren, I am back again (dont wonder about "Laber Tasche", i am Rainer) and i put in the position into Stockfish 9 64bit, 4 CPUs. And – it didnt take him more than a second in order to find the solution! He immediately playes Ra1+ and also Bh3 two moves later, without hesitating. Not so bad, or not?!

  14. Is it possible the computer can see the gambit and is thinking about Pushing the pawn rather than taking black's bishop like I was?  Then you can win the game even if the opponent has a bishop and no pawns…

  15. If white doesn't take the bishop and instead moves its pawn to G3, it can then bring its king into the action to get the pawn in the G file queened. If if stays on the dark squares, black's bishop can't do it ANY harm.

  16. I know the reason.. chess was perfectly played in the ancient times.. engines appeared out of nowhere and destroyed chess. I'm sure those forebears would beat stockfish if they were alive today.

  17. Thanks Suren, it's great to see limitations to chess engines! Jason Doucette has given an excellent explanation in comments. And don't some people think they know a lot.

  18. I just ran across this puzzle. I'm not sure why the engines you tested didn't find the solution, each one I tried found the correct move, but didn't always find the mate, which is in 16 moves. But I usually try these positions with endgame table bases turned off. I doubt a year and a half of engine development made that much difference. try it again with the newer engines you have.

  19. Suren, first… I love your videos, please keep up the great work…. Computers consider stupid moves, whereas humans dont? Not ture. Take the move Rook A2. Sure that's a silly move. How do we know? Well because we 'considered it' and ignored it. This is what the 'killer move' concept in AI deals with in the same way as humans. We do 'consider' silly moves, we just ignore them immediately, same as an engine.

  20. I want to be shown how the puzzle continues on to achieve a draw ; otherwise I don't trust that is a draw and that komodo is actually correct in the moves it chooses . its a fake puzzle !

  21. My computer game did play all the "best" moves up to and including 3. …Bh3. It's Chessmaster 9000 v1.1.3 (2002-2004) (not particularly new as you can see), running on a 2013 Apple Mac Pro. It will play all moves indicated in the video, including that one (3. ..Bh3) in less than 60 seconds even though it's set to think up to a minute per move. It seems to think the position is only 0.14 "ahead" for white, but that's not saying that the game itself isn't drawn.

  22. I found a better move for black to win.
    1. bC2 sacrificing bishop
    2. rook takes c2 bishop
    3. Black Rook to A1..
    4. White Bishop to D1
    5. Black rook takes bishop and its check again
    6. white has to sacrifice rook
    An then its 1 rook against 2 pawns.

  23. Black to move
    Stockfish 10 (on android) solved it in 9 moves.
    Within 1 second.

    Ra+
    Rf1 Rxf1+
    Kxf1 Bh3
    Kf2 Bxg2
    Bxg2 Kf6
    H3 Kg6
    H4 Kf6
    H5 Kg7
    H6+ Kxh6
    Draw by insufficient materials.

  24. Can Lc0 not also solve it? How about the other neural nets? New version of SF? Or by SF running with superhardwares like Bluefish or Redfish?

Leave a Reply

Your email address will not be published. Required fields are marked *