How to effectively utlize Stockfish's strength for one's chess development

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

bmp1974
Posts: 74
Joined: Wed Dec 04, 2019 11:25 am
Full name: Prasanna Bandihole

How to effectively utlize Stockfish's strength for one's chess development

Post by bmp1974 »

People use different approaches when using an Engine but I found the below method more effective:

1. One of the most recommended book for a beginner to improve chess is still 'The Road to Chess Mastery' by Max Euwe. In this book the player is taught through a series of games played between a Master and an amateur where the Master exploits small mistakes & concessions of amatuer to score victories. Same approach can be used for engine's match by selecting the most recent Stockfish dev engine (as Master) and play it against an Engine (amateur) which is around 2800 - 3000 elo.

2. Select the openings one wants to test (with no. of plies determined by you for testing) and store it in a database.

3. Select reasonable time control say 15"+10' or so with use of Database (as is allowed in Fritz GUI)

4. Amateur engines usually doesn't make out right blunders but gives little concessions here and there which are perfectly exploited by Stockfish.

5. After the games, study with the help of Stockfish all the moves which one didn't understand completely by trying out variations

One example is shown below in which Stockfish beautifully exploits the position in a Scotch opening (11...h4! is actually a novelty and 13...Ke7! is a brilliant idea)

[pgn][Event "Tour1, Rapid 15.0min+20.0sec"]
[Site "?"]
[Date "2021.08.29"]
[Round "2.1"]
[White "Toga III 0.3.12"]
[Black "Stockfish 270821"]
[Result "0-1"]
[ECO "C45"]
[PlyCount "72"]
[EventDate "2021.08.28"]
[EventType "tourn"]
[SourceTitle "Fritz Engine Tournament"]
[Source "BM"]

{Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz 3600 MHz W=22.3 plies; 9,509kN/s
B=32.0 plies; 7,554kN/s; 7,372,498 TBAs} 1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4
Nf6 5. Nxc6 bxc6 6. Bd3 d5 7. e5 Ng4 8. O-O Bc5 9. Bf4 g5 10. Bg3 h5 11. Be2 h4
$1 12. Bxg4 hxg3 13. hxg3 Ke7 $3 14. Nc3 Qg8 15. Na4 Qh7 16. Bh5 Bb6 17. Nxb6
axb6 18. g4 Bxg4 19. Qxg4 Qxh5 20. Qxh5 Rxh5 21. f3 c5 22. Kf2 Ke6 23. Rfe1 b5
24. c3 c4 25. a3 c5 26. Rab1 Rhh8 27. Kg3 d4 28. b3 Rhb8 29. cxd4 cxd4 30. Re4
Rd8 31. bxc4 bxc4 32. Rb6+ Kd5 33. Rb5+ Kc6 34. Rb4 Kc5 35. Rb1 c3 36. Rb7 Rac8
0-1




[/pgn]
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by carldaman »

I've been using something similar, where you pit a very strong engine with an attractive style of play (this is essential) against a lesser decent engine, serving as 'cannon fodder', [as Brendan Norman likes to call it :)]
bmp1974
Posts: 74
Joined: Wed Dec 04, 2019 11:25 am
Full name: Prasanna Bandihole

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by bmp1974 »

carldaman wrote: Sun Aug 29, 2021 8:11 am I've been using something similar, where you pit a very strong engine with an attractive style of play (this is essential) against a lesser decent engine, serving as 'cannon fodder', [as Brendan Norman likes to call it :)]
True.
One can also hide Engine's evaluations, Setup a physical board and start guessing Stockfish's moves when the game is on.
This way one can see how much we are following Stockfish's idea.
bmp1974
Posts: 74
Joined: Wed Dec 04, 2019 11:25 am
Full name: Prasanna Bandihole

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by bmp1974 »

Amazing game involving queen sacrifice!

[pgn][Event "Tour1, Rapid 15.0min+15.0sec-1"]
[Site "?"]
[Date "2022.01.15"]
[Round "1.1"]
[White "Stockfish 130122"]
[Black "Critter 1.6a 64-bit"]
[Result "1-0"]
[ECO "C54"]

1. e4 e5 2. Nf3 Nc6 3. Bc4 Bc5 4. d3 Nf6 5. c3 d6 6. Nbd2 a6 7. Nf1 O-O 8. Ng3
b5 9. Bb3 Bb6 10. Bg5 h6 11. Bh4 Na5 12. Bc2 g5 13. Nxg5 Ng4 14. Nf5 Bxf5 15.
Nf3 Bxf2+ 16. Bxf2 Nxf2 17. Kxf2 Be6 18. Rf1 c5 19. Kg1 Kh7 20. Qe2 Rg8 21. Rf2
Qe7 22. Kh1 Rac8 23. Raf1 Rg7 24. h3 Kg8 25. Bd1 Rc7 26. Qe1 Rg6 27. d4 Bc8 28.
Nh2 Qh4 29. Rxf7 $3 Qxe1 30. Rxc7 Qd2 31. Rxc8+ Kg7 32. Bg4 h5 33. Rcf8 Kh6 34.
R1f7 Rg5 35. Nf1 Qc1 36. Rh8+ Kg6 37. Be6 exd4 38. h4 Re5 39. Rg8+ Kh6 40. Bf5
Qxf1+ 41. Kh2 Qf4+ 42. Kh3 Rxf5 43. exf5 Qg4+ 44. Rxg4 hxg4+ 45. Kxg4 Nc6 46.
Rf6+ Kg7 47. Rxd6 Ne5+ 48. Kf4 Nf7 49. Rxa6 1-0

[/pgn]
matejst
Posts: 365
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by matejst »

The problem with SF is that it is sometimes very difficult to make a connection between his move choices and the static features of the position. I prefer using one of the GM personalities in Lucas chess and an engine with a good evaluation, but a slower search. The engines I recommend are Komodo 8, Dark Toga (or Fire/Ethereal NNUE + the Dark Horse net [dh02]), and Imho, the best for this purpose, Marvin with the Rebel/Benjamin NNUE. One has also to know the characteristics of the engine it uses -- Komodo is extremely positional, but can misses tactical shots, Marvin_Rebel is a bit overoptimistic, but plays very active, searches for initiative, Dietrich's dh-02 net is also very positional (I think that, for this purpose, it is a bit better than The White Rose).

Playing "assisted" is also good for improving one's understanding of positions, but also for improving focus and calculation abilities. It has some serious drawbacks, though.

In general SF was not optimal for human play and improvements. It could be used to analyze a critical variation though, where the depths it achieves in a short time are useful. But there, I would rather recommend one of the derivatives/clones: Sugar, Shashchess etc. where the authors tried to adapt/improve SF usefulness for analysis. I think the situation has improved with this new SF/Leela hybrid in this regard, and an advanced player (not me, obviously!) could make really good use of this engine.
matejst
Posts: 365
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by matejst »

BTW, I have a question related to engino-nymy:

When I use Ethereal NNUE search with DH-02 net, is it still Ethereal, or is it Dark Horse? Idem for Fire + Raptor (trained on SF data), idem for SF 14 (trained on Lc0 data), Dark Toga, etc.

From what I have seen, Marvin + a net trained on Benjamin data does not play like Marvin, but much more like Benjamin. Imho, it is a kind of Benjamin NN. The style of play is heavily dictated by the NN, although, from what I have also seen, the search has its importance too, but in a lesser degree.
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by dkappe »

matejst wrote: Sat Jan 15, 2022 11:58 am The problem with SF is that it is sometimes very difficult to make a connection between his move choices and the static features of the position.
My recent choice is Dragon MCTS vs Koivisto, Berserk and Slowchess. The games are, in my opinion, full of ideas that are more useful against human opposition.

[pgn]

[Event "?"]
[Site "?"]
[Date "2021.12.31"]
[Round "1"]
[White "2844-mcts"]
[Black "koivisto7"]
[Result "1-0"]
[ECO "B12"]
[TimeControl "300+5"]
[GameDuration "00:15:54"]
[GameEndTime "2021-12-31T14:53:49.452 UTC"]
[GameStartTime "2021-12-31T14:37:55.110 UTC"]
[Opening "Caro-Kann"]
[Termination "adjudication"]
[Variation "Advance Variation"]

1. e4 {book} 1... c6 {book} 2. d4 {book} 2... d5 {book} 3. e5 {book} 3... Bf5
{book} 4. Nc3 {book} 4... e6 {book} 5. g4 {book} 5... Bg6 {book} 6. Nge2 {book}
6... c5 {+0.67/24 15s} 7. h4 {-0.01/16 15s} 7... cxd4 {+0.59/27 8.1s} 8. Nxd4
{+0.17/16 9.6s} 8... h5 {+0.48/27 13s} 9. f4 {+0.91/18 21s} 9... hxg4
{-0.10/25 19s} 10. Bb5+ {+0.87/16 6.9s} 10... Nd7 {-1.45/24 8.8s} 11. f5
{+0.90/17 7.4s} 11... Rxh4 {-1.26/26 21s} 12. Rf1 {+1.04/17 6.9s} 12... Rh5
{-0.97/26 12s} 13. fxg6 {+1.19/15 8.1s} 13... Qh4+ {-1.28/26 12s} 14. Ke2
{+1.34/16 9.9s} 14... Qh2+ {-1.51/26 27s} 15. Rf2 {+1.11/17 16s} 15... Qxe5+
{-0.94/23 7.1s} 16. Be3 {+1.20/17 7.3s} 16... O-O-O {-2.95/27 32s} 17. Bxd7+
{+1.54/16 11s} 17... Rxd7 {-0.79/24 6.2s} 18. Ncb5 {+1.06/16 8.4s} 18... Kd8
{-1.30/25 21s} 19. Qd2 {+1.21/17 13s} 19... g3 {-0.98/22 18s} 20. Qa5+
{+1.38/16 9.3s} 20... Ke8 {-1.29/24 10s} 21. Nf3 {+1.57/16 6.9s} 21... Qb8
{-0.87/24 5.4s} 22. gxf7+ {+1.90/16 8.1s} 22... Rxf7 {-1.38/24 4.3s} 23. Qa4
{+2.24/17 6.8s} 23... d4 {-1.56/26 11s} 24. Rff1 {+3.12/16 11s} 24... g2
{-3.94/24 23s} 25. Nd6+ {+3.35/16 7.2s} 25... Ke7 {-2.12/27 3.8s} 26. Nxf7
{+3.39/17 7.0s} 26... gxf1=Q+ {-2.44/25 6.2s} 27. Rxf1 {+3.37/16 7.2s} 27... Nf6
{-2.50/27 4.6s} 28. N3e5 {+3.51/17 7.2s} 28... Rxe5 {-2.46/28 5.1s} 29. Nxe5
{+3.33/17 7.5s} 29... Qxe5 {-2.79/26 5.5s} 30. Qxd4 {+3.32/17 7.5s} 30... Qb5+
{-2.69/27 5.2s} 31. Qd3 {+3.41/17 16s} 31... Qe5 {-2.65/27 3.7s} 32. Kd2
{+3.83/17 17s} 32... Qxb2 {-2.82/25 5.6s} 33. Bc5+ {+4.00/15 12s} 33... Kf7
{-2.84/28 6.2s} 34. Qd7+ {+4.54/16 7.6s} 34... Kg6 {-2.88/28 6.7s} 35. Qxe6
{+5.20/17 6.8s} 35... Bxc5 {-2.79/26 4.8s} 36. Qf5+ {+4.78/17 6.9s} 36... Kf7
{-2.88/27 11s} 37. Qxc5 {+5.06/17 7.1s} 37... a6 {-3.07/27 20s} 38. Kd3
{+5.63/16 11s} 38... Qxa2 {-2.82/25 5.5s} 39. Qc7+ {+6.61/16 11s} 39... Kf8
{-3.02/25 5.3s} 40. Qb8+ {+8.26/16 13s} 40... Kf7 {-3.50/26 5.5s} 41. Qxb7+
{+8.54/16 9.0s} 41... Kf8 {-3.51/30 5.8s} 42. Qb4+ {+9.25/16 12s} 42... Ke8
{-4.10/30 7.7s} 43. Re1+ {+9.24/16 15s} 43... Kd8 {-4.22/32 7.0s} 44. Qe7+
{+47.79/15 18s} 44... Kc8 {-4.22/1 0s} 45. Qf8+ {+51.84/16 8.3s} 45... Kc7
{-4.77/34 6.2s} 46. Qxg7+ {+91.80/17 11s} 46... Nd7 {-14.28/27 10s} 47. Qd4
{+80.11/16 5.6s} 47... Qa3+ {-1.97/28 17s} 48. Qc3+ {+199.24/15 8.4s} 48... Nc5+
{-79.11/47 3.0s} 49. Kc4 {+161.95/16 21s} 49... Qxc3+ {-79.11/57 5.0s} 50. Kxc3
{+250.00/13 11s} 50... Kb6 {-79.13/51 3.6s} 51. Kd4 {+250.00/27 3.8s} 51... Nd7
{-79.17/61 7.5s} 52. Re6+ {+250.00/26 1.6s} 52... Kb7 {-79.19/64 3.2s} 53. Kc4
{+250.00/26 1.7s} 53... Nb6+ {-79.21/67 4.5s} 54. Kb4 {+250.00/26 1.8s} 54...
Nd7 {-79.25/72 3.9s} 55. Ka5 {+250.00/25 3.4s} 55... Nc5 {-79.29/85 3.3s} 56.
Re5 {+250.00/25 3.5s} 56... Kc6 {-79.31/99 4.1s} 57. Rf5 {+250.00/25 2.3s} 57...
Kd6 {-79.33/119 5.1s} 58. Kb6 {+250.00/24 3.0s} 58... a5 {-79.35/128 0.32s} 59.
Rxc5 {+250.00/24 2.7s, White wins by adjudication: SyzygyTB}
1-0
[/pgn]
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
Cornfed
Posts: 511
Joined: Sun Apr 26, 2020 11:40 pm
Full name: Brian D. Smith

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by Cornfed »

Let me preface this by saying I am open to being persuaded otherwise. But, honestly, I think you are mostly chasing an inefficient chimera here. How can an engine - which does not convert moves into words, do much to help (some GUI’s do so…to various degrees of success) in “One’s chess development”?

Openings…well, I can see how a player with an existing good understanding of how to play decent chess can get help there; but you used the blanket “one’s chess development” and reference a book which as I remember is about ones...general ‘chess development’.

Perhaps you just mean using an engine to weed out bad opening moves and get a better idea of what you should/should not do in a given opening?

Even there…I think you could do better to just use your brain directly in conjunction with an engine which has good multi-pv – Dragon MCTS, for example but even Stockfish would do - and investigate specific openings by tabbing thru...opening lines/book lines/ pgn file of an opening which has words from a competent annotator, supplemented by your own investigations… to check for interesting ideas or problematic moves in the lines and for ways to exploit those?

I glanced at my notes to an odd line for a tournament this weekend…which sadly I did not go to because of forecasted bad weather. This isn’t actually my ‘black opening tournament book’ which I created a while back with help of the method I mention above, just a fragment from a game referenced in it:

[pgn]
[Event "?"]
[Site "?"]
[Date "2019.01.20"]
[Round "?"]
[White "IM; 2436"]
[Black "Me; 2040"]
[Result "1-0"]
[ECO "B01"]
[WhiteElo "2436"]
[BlackElo "2040"]
[Annotator "Me"]
[PlyCount "24"]
[EventDate "2019.??.??"]

1. e4 d5 2. exd5 Nf6 3. d4 Bg4 4. Bb5+ c6 {One plays these gambit lines simply
to get an unbalanced position where one hopes to outplay their opponent. I've
had this position in blitz but never put much study into the line and probably should never have ventured it against this particular opponent.} 5. dxc6
Nxc6 6. Nf3 Qb6 7. Nc3 O-O-O 8. Bxc6 Qxc6 9. h3 Bxf3 10. Qxf3 Rxd4 ({In the
actual game I played} 10... Qxf3 {thinking I could play} 11. gxf3 Rxd4 12. Be3
{when I thought I could play 12...Rb4...but quickly realized after 13. b3 my
rook would be terribly misplaced and otherwise I lose my a7 pawn when the
long-term 3 vs 1 on the Queenside is just not going to be holdable.}) {By
tabbing thru this with multi-pv it became obvious that if I am to ever play
this line again, the position is more holdable with 10...Rd4} 11. Qxc6+ (11.
Be3 $5 Rc4 12. Qxc6+ Rxc6 13. Nb5 Rxc2 14. Nxa7+ {Is still 'a game'.}) 11...
bxc6 12. Be3 Rd7 $14 {and while White is still better, we still have a game to
play.} 1-0


[/pgn]
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by dkappe »

Cornfed wrote: Sat Jan 15, 2022 5:34 pm Let me preface this by saying I am open to being persuaded otherwise. But, honestly, I think you are mostly chasing an inefficient chimera here. How can an engine - which does not convert moves into words, do much to help (some GUI’s do so…to various degrees of success) in “One’s chess development”?

Openings…well, I can see how a player with an existing good understanding of how to play decent chess can get help there; but you used the blanket “one’s chess development” and reference a book which as I remember is about ones...general ‘chess development’.

Perhaps you just mean using an engine to weed out bad opening moves and get a better idea of what you should/should not do in a given opening?

Even there…I think you could do better to just use your brain directly in conjunction with an engine which has good multi-pv – Dragon MCTS, for example but even Stockfish would do - and investigate specific openings by tabbing thru...opening lines/book lines/ pgn file of an opening which has words from a competent annotator, supplemented by your own investigations… to check for interesting ideas or problematic moves in the lines and for ways to exploit those?
I try to avoid being led around by the nose with a multipv engine running in a window. My approach is using a shallow opening rep (5 moves) with good model games at all of the leaf positions. In some of those leaves, there aren’t many good human games to use as a model. I use GM Sadler’s method of generating model games with engines as I described above.

At the end of the day, you need to study those model games with your own brain and some strategy and endgame books, reaching for an engine to spellcheck your work only at the end.
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
matejst
Posts: 365
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: How to effectively utlize Stockfish's strength for one's chess development

Post by matejst »

Calculating variations and putting a tremendous mental effort is the key, like always. Engines can help, though. E.g., interactive analysis helped me to understand when to exchange the knight on c6, when to retreat it on b3 and when to support it with Be3 in the Sicilian. Playing sequences in a position against an engine is a good form of training too. Like always, one has to be creative.