Engine doesn't recognize best move

Sort:
abchesselsson

Hi friends

I recently played a game, and during the post game analysis, I recognized something odd.

On move 29 for black, the best continuations proposed by the engine are 29...Ra8, 29...Rb8 and 29...b4

However, clearly the best move is 29...Rxf7, and the engine agrees after the fact. Any idea why the engine doesn't recognize this before? 

Martin_Stahl
abbasmufaddal wrote:

 

Hi friends

 

I recently played a game, and during the post game analysis, I recognized something odd.

On move 29 for black, the best continuations proposed by the engine are 29...Ra8, 29...Rb8 and 29...b4

However, clearly the best move is 29...Rxf7, and the engine agrees after the fact. Any idea why the engine doesn't recognize this before? 

 

The analysis only goes to a depth of 20 and it may need more time to see the move.

notmtwain
abbasmufaddal wrote:

 

Hi friends

 

I recently played a game, and during the post game analysis, I recognized something odd.

On move 29 for black, the best continuations proposed by the engine are 29...Ra8, 29...Rb8 and 29...b4

However, clearly the best move is 29...Rxf7, and the engine agrees after the fact. Any idea why the engine doesn't recognize this before? 

It's not hard to figure out that eliminating the knight, rook and pawn cuts down drastically on the number of lines the computer has to look at.  You can look past that and see a straightforward win . The computer can't.

abchesselsson

Well, to me, it looks like the engine doesn't even consider this move in its analysis. If it did, evaluating it even 2 or 3 moves ahead would be sufficient for the engine to rank the move higher. So, when it says it has evaluated to a depth of 20, does it mean it has evaluated all possibilities to this depth, or a few selected moves? 

Martin_Stahl
abbasmufaddal wrote:

Well, to me, it looks like the engine doesn't even consider this move in its analysis. If it did, evaluating it even 2 or 3 moves ahead would be sufficient for the engine to rank the move higher. So, when it says it has evaluated to a depth of 20, does it mean it has evaluated all possibilities to this depth, or a few selected moves? 

 

It depends. You can change the depth and time it thinks and it will probably see the move.

 

All engines have issues with depth and move pruning. The more time/depth, the more/better it sees and evaluates.

Chessflyfisher

Not meaning to be sarcastic, but perhaps your analysis program is not very good or, as someone here suggested, maybe you did not allow enough time for the computer to be thorough. As powerful as these engines are, they still need time to give the best move.

Numquam

29....Rb8 is completely winning and not inferior to Rxf7. The engine probably does not see Rxf7, because lots of alternatives are completely winning.

abchesselsson

@chessflyfisher No worries mate, maybe i should have clarified previously. I am evaluating this game on both chess.com and lichess, evaluation time set to unlimited, # of lines 5. I left the analysis on move 29, and even after 1 hour, it still did not show Rxf7 as a recommended move.

 

@Numquam, I agree. But my point is that, after the move 29...Rxf7 is played, the engine immediately evaluates the position as -12, whereas after 29...Rb8, the evaluation remains at -5, similar to the value before the move. This is what i cannot wrap my head around

Numquam
abbasmufaddal schreef:

@chessflyfisher No worries mate, maybe i should have clarified previously. I am evaluating this game on both chess.com and lichess, evaluation time set to unlimited, # of lines 5. I left the analysis on move 29, and even after 1 hour, it still did not show Rxf7 as a recommended move.

 

@Numquam, I agree. But my point is that, after the move 29...Rxf7 is played, the engine immediately evaluates the position as -12, whereas after 29...Rb8, the evaluation remains at -5, similar to the value before the move. This is what i cannot wrap my head around

The computer tries to analyze only the potentially best moves and it tries to eliminate bad moves. Rxf7 at first sacrifices material and the win is based on creating unstoppable passers. The moves which do not sacrifice material are completely winning too, so that may explain why the computer does not find it.

Martin_Stahl

As has been mentioned, a lot of moves are winning, by a lot.

 

I tested on a local install of Stockfish 9.0 an it prefers Ra8 and Rb8 even at a depth of 33.

Komodo 12.3 likes Rxf7 at a lower depth.

 

Both are good moves and it comes down to how the engines evaluates positions and how that interacts with material. Personally, I think keeping the rook on the board keeps the pressure and may be easier to play than the kings vs pawns endgames, with less room to go wrong.

Martin_Stahl

Stockfish 9 finally finds Rxf7 at a depth of 34.

 

Interestingly enough, Stockfish 10 likes Ra8/Rb8 and b4 at depth 34.

drmrboss

Stockfish 10+ (latest developmental version, with 6 men TB) did not consider Rxf7 as best move (up to depth 32).

When I play Rxf7 and get the move into the hash of stockfish (memory of stockfish), stockfish prefer Rxf7 instead and changed his mind and stick to Rxf7 as the best line.

It is because of the nature of alpha-beta pruning!

As in diagram, stockfish condider Rxf7 as a bad move as branch 5, and doesnt consider exploring anymore . This can happen in minority of position, let us say approx, 1-5% of positions. 

But without pruning, and if we ask stockfish to analyse all possible moves, (approx 20 ^5 =3 million moves), stockfish will end up seeing depth 10 in allocated time of 1 min, which will certainly get more worse evaluation in majority of positions.

 

 

In conclusion, both Rxf7 or Rb8 lead to completly winning, so it doesnt matter. The state of winning doesnt change, so no need to consider which is better actually. 

And also in human chess, if you think a position with a deep continuation that leads to winning, you dont need to think another way of winning. 

abchesselsson

@martin_stahl @drmrboss Thanks a lot for running this on local engines, it's been very informative happy.png FYI, lichess managed to find Rxf7 overnight!

And out of curiosity, would any of you have also considered this move in game? I almost played it instinctively, i spotted majorities on both king and queen side, and the white passer on e5 didn't bother me as eventually the white king would have to leave its defense.