lichess.org
Donate

Engine can't find the win!!

The strange thing is that once you enter the variation with 20... Nc4, it can quickly change it's judgement. With Stockfish I sometimes get the feeling that the engine 'learns' from positions it sees. So once you feed him an idea and execute some moves, it can calculate it so much better. Then when you go back again, it takes all the things it calculated into account it seems.

Anyway, I think the lesson learned is that it's better to try out some things instead of letting your engine just calculate for 20 minutes straight.
Stockfish keeps a hashtable of the positions it recently computed.

That's why lichess server analysis works from end to start of the game.
Indeed, if for some strange reason the engine is slow to solve a position, by playing the solution its positions are added to the in-memory hash table and can be accessed by later searches.

Incidentally, this is why it's useful for Lichess automated analysis to annotate the game from the end of the game going backwards to the beginning, since the engine may benefit from positions it has already examined.
@TricksOnlyNL
The first part is simple logic. Once you play the Nc4 move the engine doesn't have to waste its resources on Na4 or other options anymore. Also you're moving the horizon one ply forward.

You're suggesting the engine has a memory. I know little about engines and have no idea if they do. But it would make sense that it doesn't have to calculate everything all over again when you move for- and backward.
So, yes, it might be better and faster to try things out. At the risk of missing a completely hidden possibility in the initial position of course!

edit: Plus what thibault and toadofsky wrote, LMAO.

About the AI-monster..
Once I was playing some engine and had his knight pinned on b5 threatening a2-a4. (white: rook on b2, bishop on d3, black: knight on b5, rook on b8).
(just visualize now... black has the king on g7 plus pawns on f7,g6,h7)
The machine went Rb8-h8!! unpinning the knight which for several reasons I could only capture with the bishop. Also had to because I sacked two pawns.
So, Bxb5, Rh8-b8!! (counter-pinning), winning the peace back several moves later with a7-a6 and 0-1

I nearly fell off my chair.

Edit: while writing this book, some of it has already been answered, lol.
On one lucky run, SF (on a 6*4 GHz CPU) found Nc4 after 7min15sec (4.5 billions nodes) :
FEN: 1r2kb1r/p5p1/1np1p1N1/3pPnB1/1p1P2B1/qP6/2PQ1P1P/1K1R3R b k - 0 20

Stockfish_170702_x64_modern:
...
41/26 01:56 1 255 604k 10 760k 0,00 20. ... Na4 21.bxa4 b3 22.c3 b2 23.Nxh8 Qa1+ 24.Kc2 Qxa4+ 25.Kd3 Qc4+ 26.Kc2 Qa4+
42/26- 07:15 4 627 797k 10 636k -0,07 20. ... Nc4
42/47- 08:23 5 342 991k 10 615k -0,14 20. ... Nc4
42/68- 18:54 12 073 885k 10 638k -1,27 20. ... Nc4

About that hashtable, is the memory of a position erased at some point ? I've noticed that if you explore different lines, at some point, it seems to forget previous assessments.
As described above, this happens because the hash table contains already-analyzed positions.

This process of going forward and then backward again is a common and useful trick to know when trying to analyze a position deeply.

Another implication is that if you intend to analyze positions like this - spending a lot of time and going back and forth - it is helpful to have a large hash table so that it "remembers" as many positions as possible when you're going back and forth. This means having a lot of RAM and setting the engine to have a large hash table when you start the analysis.

Warning - using a large hash table can be detrimental if you only intend to quickly move through a game (or have your engine play bullet/blitz)

This topic has been archived and can no longer be replied to.