Engine not suggesting the best move?

Sort:
Fricass3

Hello,

I just had this game where I realized I actually had a better move to do after playing one. So after the game I went on to the analyzer to see how the engine would see the move I thought I should have played instead of the move I actually played but the engine wasn't suggesting it at all.

But surprisingly, the main line given by the engine (15. Nxd5 cxd5) gives white only a +2.05 advantage, while the other move I thought of afterwards (15. Ne6) gives an immediate advantage of +3.95 for white.

Here is the game, it starts at move 15 with white to play : https://www.chess.com/analysis/game/live/6089648379?tab=report

Is my understanding of how this all works wrong or is the engine actually missing the best move here? This would be strange since he is supposed to analyze at a depth of 18 (meaning 18 moves ahead?).

notmtwain
Fricass3 wrote:

Hello,

I just had this game where I realized I actually had a better move to do after playing one. So after the game I went on to the analyzer to see how the engine would see the move I thought I should have played instead of the move I actually played but the engine wasn't suggesting it at all.

But surprisingly, the main line given by the engine (15. Nxd5 cxd5) gives white only a +2.05 advantage, while the other move I thought of afterwards (15. Ne6) gives an immediate advantage of +3.95 for white.

Here is the game, it starts at move 15 with white to play : https://www.chess.com/analysis/game/live/6089648379?tab=report

Is my understanding of how this all works wrong or is the engine actually missing the best move here? This would be strange since he is supposed to analyze at a depth of 18 (meaning 18 moves ahead?).

The computer certainly sees your move as best.

I would guess that Nd5 was considered best at a lower depth level. 

Fricass3
notmtwain wrote:
Fricass3 wrote:

Hello,

I just had this game where I realized I actually had a better move to do after playing one. So after the game I went on to the analyzer to see how the engine would see the move I thought I should have played instead of the move I actually played but the engine wasn't suggesting it at all.

But surprisingly, the main line given by the engine (15. Nxd5 cxd5) gives white only a +2.05 advantage, while the other move I thought of afterwards (15. Ne6) gives an immediate advantage of +3.95 for white.

Here is the game, it starts at move 15 with white to play : https://www.chess.com/analysis/game/live/6089648379?tab=report

Is my understanding of how this all works wrong or is the engine actually missing the best move here? This would be strange since he is supposed to analyze at a depth of 18 (meaning 18 moves ahead?).

The computer certainly sees your move as best.

I would guess that Nd5 was considered best at a lower depth level. 

 

 

Thanks for taking the time to check, however I don't see the same thing on my end. I used my daily "premium" analysis for this (as you see in the screen, depth is set to 18) so I shouldn't get a different result from yours even if I am on a free membership.

 


 This is what I see on my end of the analysis, Ne6 is not even suggested here. Instead it says that Qf3 was the best (while it wasn't) and only shows Nxd5 as an alternative good move.

Fricass3

I went further in the analysis and on move 31, the engine suggets that I should have moved my rook to b7 (at that point white is +8.30) :

But after the move Rxb7, I'm immediatly down to only+3.72 :

Again this is supposed to be the premium analysis so I don't understand what is going on here.

WBillH

Often, there isn't just "one move."  I really like Leela Chess Zero, which is based on AlphaZero, as well as the Nibbler GUI.

Leela & Alpha express positions in terms of winning percentages.  Much easier to understand than centipawns.  Here's what Leela suggests for your move 15.  I didn't mean to let it run for 15 minutes, but I got interrupted by my kids and had to come back.  happy.png


What this is showing is that Nxd5, Ne6, Qf3, and Nfd3 are all decent moves, preferred in that order.

Fricass3
WBillH wrote:

Often, there isn't just "one move."  I really like Leela Chess Zero, which is based on AlphaZero, as well as the Nibbler GUI.

Leela & Alpha express positions in terms of winning percentages.  Much easier to understand than centipawns.  Here's what Leela suggests for your move 15.  I didn't mean to let it run for 15 minutes, but I got interrupted by my kids and had to come back. 


 

What this is showing is that Nxd5, Ne6, Qf3, and Nfd3 are all decent moves, preferred in that order.

 

Thanks that's intresting to see how a different engine would analyze this position. However I went back to the report again and now it sees Qf3 as an "inacurracy" (while it was seen as the best move yesterday as you can see in my previous screenshots) and finds out that Nfe6 is the only best move here!

 

Even Nxd5 becomes a mistake !!

 

This is the same analyze done with a depth of 18. I don't understand how it produces different outputs that are not even close as one move goes from best to a mistake!

 
WBillH

A "mistake" or "inaccuracy" or "blunder" are all based on differences in the calculated points of the position.

 

If a mistake is a difference of 2.00 between the "best" move and your move, then a delta of 1.99 could be viewed as an inaccuracy, while 2.00 could be a mistake.

 

Instead of worrying about the classification, understand what it is telling you.

 

There are several options here.  Play through the engine-suggested moves.  Do the moves make logical sense to you?  If so, look at the position after playing 3 or 4 moves on each side.  Does one position seem better than the other?

 

If the moves don't make logical sense, there are at least a couple possibilities.  One, you've exposed a gap in your understanding.  Try to understand.  Two, the engine sees something 12 moves ahead that changes the outcome.  And that 12 move sequence relies on playing *exactly* like the engine is anticipating.  That's another reason I'm using Leela and no longer using Stockfish.  Leela is not infallible, but the policy and value trees use guesses as to how likely each move is, and that weighs into Leela's calculations.

 

I'd use this example to understand the pros and cons of each of the four nearly-identical choices.  Use the engine to help understand what the "ideal" lines are for each.  Can you learn something that you missed during your game play?

Is the threat of black's knight on d5 worse than the benefit of placing a knight on e6?  How much do you trust yourself to execute the moves flawlessly that would make Nxd5 better than the immediate material gain of trading a knight for a rook?

Fricass3
WBillH wrote:

A "mistake" or "inaccuracy" or "blunder" are all based on differences in the calculated points of the position.

 

If a mistake is a difference of 2.00 between the "best" move and your move, then a delta of 1.99 could be viewed as an inaccuracy, while 2.00 could be a mistake.

 

Instead of worrying about the classification, understand what it is telling you.

 

I'am not worrying about the classification. What I want to point out here is that the analyzer is producing different outputs (reports) for the same game. I thought these kind of engines were deterministic given a fixed depth of analysis (I'm talking about Stockfish and Komodo here, since Leela works with neural networks I'm not sure about this assertion), thus it should produce the same report for the same game. Seeing a same move being evaluated positivily on one analysis then negatively right after seems dubious.

I also understand that engines are not infallible and try their best to predict the best possible outcome from each move. But seeing a drop of ~500 centipawns between move n and move n+1 while following the engine's ideal line is also very curious.

WBillH

Ahh, that makes sense what you're saying.

 

In that case, you might be better off running an engine locally so you can see exactly what ply it is calculating.  For a given network, I believe Leela is deterministic.  That is, it uses training runs to define its network, and I don't believe that is updated as a matter of course.  I *could* continue training it, but I don't.  I believe Stockfish is also deterministic.

 

You should get the same answer when you run it if the engine calculates to the same depth.  The chess.com analysis uses both server-based and client-based engines.  When using the client-based portion, what you see is going to be dependent on how good your client is.

 

https://decodechess.com/ is interesting.  It's based on Stockfish NNUE.  I bought a month's subscription.   It's not a bad choice to use instead of your own computer.  I also tried the analysis here on chess.com.  After I stumbled on Leela/Nibbler, I decided I much preferred that.  Lucas Chess is also a good choice for Windows, with either Stockfish or Leela.  Chess.com's analysis is the best I've seen for mobile devices.  I can analyze a game on my tablet and look at the key moves without firing up my computer.  The only downside is what you've mentioned:  there is a level of inconsistency that you cannot control.