The Fried Fish Attack

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

Moderators: hgm, Rebel, chrisw

Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

The Fried Fish Attack

Post by Lyudmil Tsvetkov »

Everybody knows there is the so called Fried Lever Attack in the Two Knights Defence, a suspicious attacking line for white involving a piece sacrifice.

Similar suspicious attacking lines would often occur in games of lower-rated engines, but when a top engine plays like that, that is certainly a reason to highlight it. In my games against Stockfish the engine rarely sacrifices incorrectly or plays highly speculative moves, but that still happens sometimes. Here a game which reminds me of the Stockfish style of play somewhere in versions 1.60-1.90. Back then, Stockfish very much liked to offer a pawn or two to open files against the enemy king. Sometimes that worked, at other times proved illusory. Since this time Stockfish has improved a lot and rarely plays similar moves, however, here is a game where it did so.

[pgn][PlyCount "62"]
[Event "Blitz 2m+2s"]
[Site "Sofia"]
[Date "2014.01.09"]
[White "Tsvetkov, Lyudmil"]
[Black "Stockfish DD 64 SSE4.2"]
[Result "1/2-1/2"]
[ECO "C20"]
[TimeControl "120+2"]
[Annotator "Tsvetkov,Lyudmil"]
[MLNrOfMoves "31"]
[MLFlags "000100"]

{512MB, Dell XPS 4Cores} 1. e4 {[%emt 0:00:00]} 1... e5 {[%emt 0:00:05]} 2. c4
{[%emt 0:00:02]} 2... Bc5 {[%emt 0:00:05]} 3. Nc3 {[%emt 0:00:02]} 3... d6
{[%emt 0:00:02]} 4. Nf3 {[%emt 0:00:03]} 4... Nc6 {[%emt 0:00:02]} 5. Bd3
{[%emt 0:00:07]} 5... g5 {[%emt 0:00:06]} 6. O-O {[%emt 0:00:00]} 6... g4
{[%emt 0:00:08]} 7. Ne1 {[%emt 0:00: 03]} 7... h5 {[%emt 0:00:03]} 8. Nc2
{[%emt 0:00:26]} 8... g3 {[%emt 0:00:00]} 9. hxg3 {[%emt 0:00:00]} 9... h4
{[%emt 0:00:24]} 10. g4 {[%emt 0:00:06]} 10... h3 {[%emt 0:00:16]} 11. g3
{[%emt 0:00:06]} 11... Be6 {[%emt 0:00:03]} 12. Kh2 {[%emt 0:00:29]} 12... Nf6
{[%emt 0:00:14]} 13. f3 {[%emt 0:00:02]} 13... Nd7 {[%emt 0:00:07]} 14. Be2
{[%emt 0: 00:26]} 14... a6 {[%emt 0:00:07]} 15. d3 {[%emt 0:00:10]} 15... Nd4
{[%emt 0:00:04]} 16. Nxd4 {[%emt 0:00:17]} 16... Bxd4 {[%emt 0:00:04]} 17. Bd2
{[%emt 0:00:20]} 17... f6 {[%emt 0:00:06]} 18. Qc1 {[%emt 0:00:06]} 18... c6
{[%emt 0:00:00]} 19. Be3 {[%emt 0:00:04]} 19... Rh7 {[%emt 0:00:13]} 20. Rb1
{[%emt 0:00:22]} 20... Qc7 {[%emt 0:00:11]} 21. b4 {[%emt 0:00:15]} 21... a5
{[%emt 0:00:06]} 22. b5 {[%emt 0:00:03]} 22... Ke7 {[%emt 0:00:03]} 23. bxc6
{[%emt 0:00:40]} 23... bxc6 {[%emt 0:00:03]} 24. Na4 {[%emt 0:00:12]} 24... Qa7
{[%emt 0:00:06]} 25. Bxd4 {[%emt 0:00:20]} 25... Qxd4 {[%emt 0:00:02]} 26. Qc3
{[%emt 0:01:00]} 26... Qe3 {[%emt 0:00:03]} 27. Rb2 {[%emt 0:00:03]} 27... Rhh8
{[%emt 0:00: 06]} 28. Qc1 {[%emt 0:00:15]} 28... Qd4 {[%emt 0:00:02]} 29. Qc3
{[%emt 0:00:13]} 29... Qe3 {[%emt 0:00:00]} 30. Qc1 {[%emt 0:00:46]} 30... Qd4
{[%emt 0:00:02]} 31. Qc3 {[%emt 0:00:23]} 31... Qe3 {[%emt 0:00:00]} 1/2-1/2
[/pgn]

[d]r1bqk1nr/ppp2ppp/2np4/2b1p3/2P1P3/2NB1N2/PP1P1PPP/R1BQK2R b KQkq - 0 5
Inviting Stockfish to unchartered waters.

[d]r1bqk1nr/ppp2p1p/2np4/2b1p1p1/2P1P3/2NB1N2/PP1P1PPP/R1BQK2R w KQkq - 0 6
Stockfish has just played g5. Now, is this the best move in this position?

[d]r1bqk1nr/ppp2p2/2np4/2b1p2p/2P1P3/2NB2p1/PPNP1PPP/R1BQ1RK1 w kq - 0 9
Stockfish has just played g3, offering a pawn. I think this sacrifice is unsound, interesting if latest Stockfish also plays this move.

[d]r2qk2r/ppp2p2/2npbn2/2b1p3/2P1P1P1/2NB1PPp/PPNP3K/R1BQ1R2 b kq - 0 13
A couple of moves later white has already stabilised: the h file is closed, white has a pawn more and the black king still has not castled. Was Stockfish aiming at this position? I do not know how it evaluates it, but white is certainly better here. As I have had also similar games with Stockfish, I suppose it either values the h3 passer/storming pawn too high, or thinks the white king is vulnerable, but it actually is quite safe, as it blocks the enemy passer, while the large group of partially chained pawns near it provide for its relative security.

[d]r2qk3/1p1n3r/p1ppbp2/4p3/2PbP1P1/2NPBPPp/PP2B2K/R1Q2R2 w q - 0 20
White is safe. The center is more or less closed, there are no black storming pawns apart from h3 able to strenthen the attack, as f6 is backward-fated, i.e. it can not advance at all without being lost (but backward-fated pawns will probably be the last thing engines will understand, as they are maybe the most difficult positional concept, much more difficult than fully closed sides, chains, etc.; and of course, the penalty for f6 is enormous in most situations, some full pawn with Stockfish values, no matter what CLOP says, engines simply do not know how to play with similar concepts and that is why implementing them will be futile for quite a long time), white can only gradually improve its position.

[d]r7/q2nk2r/2ppbp2/p3p3/N1PbP1P1/3PBPPp/P3B2K/1RQ2R2 w - - 0 25
I am sure I miss here something, but in winter time I usually play much weaker and slower, so I readily accept the 3-fold in blitz. With longer time control, however, I am sure the white advantage is easily exploitable.

In the end it was not clear who was the fried fish - me or the engine, but I think Stockfish played here a bit more sacrificially than necessary.

Do you have similar examples where Stockfish (or other strong engines) overextended itself in attacking?
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: The Fried Fish Attack

Post by zullil »

[D]r1bqk1nr/ppp2p2/2np4/2b1p2p/2P1P1p1/2NB4/PPNP1PPP/R1BQ1RK1 b kq - 1 8

The latest Stockfish still opts for g3, at least through depth 35:

Code: Select all

info depth 35 seldepth 50 score cp 81 nodes 4299270732 nps 7589220 time 566497 multipv 1 pv g4g3 h2g3 h5h4 g3g4 h4h3 g2g3 g8f6 d3e2 h8g8 c2e3 c5e3 d2e3 c8g4 c3d5 g4e2 d1e2 c6b8 d5f6 d8f6 e2h5 g8h8 h5f5 f6g7 c4c5 b8c6 c5d6 c7d6 c1d2 c6e7 f5f3 e8c8 a1c1 c8b8 d2a5 b7b6 a5b4
info nodes 4299270732 time 566497
bestmove g4g3 ponder h2g3
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: The Fried Fish Attack

Post by Lyudmil Tsvetkov »

zullil wrote:[D]r1bqk1nr/ppp2p2/2np4/2b1p2p/2P1P1p1/2NB4/PPNP1PPP/R1BQ1RK1 b kq - 1 8

The latest Stockfish still opts for g3, at least through depth 35:

Code: Select all

info depth 35 seldepth 50 score cp 81 nodes 4299270732 nps 7589220 time 566497 multipv 1 pv g4g3 h2g3 h5h4 g3g4 h4h3 g2g3 g8f6 d3e2 h8g8 c2e3 c5e3 d2e3 c8g4 c3d5 g4e2 d1e2 c6b8 d5f6 d8f6 e2h5 g8h8 h5f5 f6g7 c4c5 b8c6 c5d6 c7d6 c1d2 c6e7 f5f3 e8c8 a1c1 c8b8 d2a5 b7b6 a5b4
info nodes 4299270732 time 566497
bestmove g4g3 ponder h2g3
Thanks Louis! (I forgot that magical phrase, 'Thanks, Louis' ) :(

And if I understand correctly, Stockfish also sees large advantage for itself after that move. But I think I am better. :D
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: The Fried Fish Attack

Post by Lyudmil Tsvetkov »

As nobody seems to be interested in the topic discussed, or probably people just have not witnessed Stockfish or other top engines overextending themselves in attack, let me post a game of current world champion Magnus Carlsen, featuring play with a backward-fated pawn. I post this game so that people do not say I am just vainly speculating again on penalties for pawns that actually do not exist. Besides, the f6 black pawn from my Fried Fish Attack game is this same feature that makes impossible for black to use this pawn as a storming pawn and weighs heavy in the eval.

[pgn][PlyCount "89"]
[EventType "team"]
[EventRounds "5"]
[EventCountry "NOR"]
[Source "Fansite"]
[SourceDate "2004.11.15"]
[Event "Nordic-chT"]
[Site "Norway"]
[Date "2001.??.??"]
[White "Carlsen, Magnus"]
[Black "Hammer, Jon Ludvig"]
[Result "1-0"]
[EventDate "2001.??.??"]
[ECO "D35"]
[MLNrOfMoves "44"]
[MLFlags "010000"]

1. d4 d5 2. c4 e6 3. Nc3 Be7 4. cxd5 exd5 5. Nf3 Nf6 6. Bg5 c6 7. e3 Be6 8. Bd3
Nbd7 9. Qc2 h6 10. Bh4 Rc8 11. O-O O-O 12. Rab1 Qc7 13. b4 b5 14. a4 a6 15. a5
Bg4 16. Nd2 Bd6 17. Bg3 Rfe8 18. Rfc1 Re7 19. Nb3 Kh8 20. Na2 Nb8 21. Nc5 Nfd7
22. Bf5 Bxf5 23. Qxf5 g6 24. Qf3 Bxg3 25. hxg3 Nxc5 26. Rxc5 Nd7 27. Rc3 Qd6 28.
Nc1 Qf6 29. Nd3 Qxf3 30. gxf3 g5 31. Rbc1 Nb8 32. Ne5 Kg7 33. Rc5 Rec7 34. e4
dxe4 35. fxe4 f6 36. Ng4 h5 37. Ne3 Kf7 38. Nf5 Ke6 39. d5+ Kd7 40. d6 Rb7 41.
e5 fxe5 42. Rxe5 Re8 43. Re7+ Rxe7 44. dxe7 Rc7 45. Rd1+ 1-0
[/pgn]

[d]2r2rk1/2qnbpp1/p1p1bn1p/Pp1p4/1P1P3B/2NBPN2/2Q2PPP/1R3RK1 b - - 0 15
The c6 black weak pawn is a major feature of the position.

[d]2r4k/2qnrp2/p1p3pp/Pp1p4/1P1P4/2R1PQP1/N4PP1/1R4K1 b - - 0 27
Despite having a doubled pawn on the king side, white actually has a pawn more, as 3 white pawns on the queen side stop 4 enemy ones. The c6 black pawn can not budge, is fully useless and is losing the game. Young Carlsen plays the game very well, as humans know how to exploit such weaknesses.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: The Fried Fish Attack

Post by zullil »

Lyudmil Tsvetkov wrote:
zullil wrote:[D]r1bqk1nr/ppp2p2/2np4/2b1p2p/2P1P1p1/2NB4/PPNP1PPP/R1BQ1RK1 b kq - 1 8

The latest Stockfish still opts for g3, at least through depth 35:

Code: Select all

info depth 35 seldepth 50 score cp 81 nodes 4299270732 nps 7589220 time 566497 multipv 1 pv g4g3 h2g3 h5h4 g3g4 h4h3 g2g3 g8f6 d3e2 h8g8 c2e3 c5e3 d2e3 c8g4 c3d5 g4e2 d1e2 c6b8 d5f6 d8f6 e2h5 g8h8 h5f5 f6g7 c4c5 b8c6 c5d6 c7d6 c1d2 c6e7 f5f3 e8c8 a1c1 c8b8 d2a5 b7b6 a5b4
info nodes 4299270732 time 566497
bestmove g4g3 ponder h2g3
Thanks Louis! (I forgot that magical phrase, 'Thanks, Louis' ) :(

And if I understand correctly, Stockfish also sees large advantage for itself after that move. But I think I am better. :D
You're welcome. Yes, Stockfish says the right move is g3, with an evaluation of 81 centipawns in its favor.
Ralph Stoesser
Posts: 408
Joined: Sat Mar 06, 2010 9:28 am

Re: The Fried Fish Attack

Post by Ralph Stoesser »

Lyudmil Tsvetkov wrote: [d]r2qk2r/ppp2p2/2npbn2/2b1p3/2P1P1P1/2NB1PPp/PPNP3K/R1BQ1R2 b kq - 0 13
Was Stockfish aiming at this position? I do not know how it evaluates it, but white is certainly better here.
Hello Lyudmil,

again a very interesting game which exposes serious weaknesses! If you want to know how Stockfish evaluates the specific position, start Stockfish in a console window and type

position fen r2qk2r/ppp2p2/2npbn2/2b1p3/2P1P1P1/2NB1PPp/PPNP3K/R1BQ1R2 b kq - 0 13 [ENTER]
eval [ENTER]

Now you get the following output (dependent on exact version maybe slightly different than this)

Code: Select all

           Eval term |    White    |    Black    |     Total     
                     |   MG    EG  |   MG    EG  |   MG     EG   
---------------------+-------------+-------------+---------------
Material, PST, Tempo |   ---   --- |   ---   --- |   0.99   0.77 
  Material imbalance |   ---   --- |   ---   --- |   0.09   0.09 
               Pawns |   ---   --- |   ---   --- |   0.25   0.19 
             Knights |  0.08  0.00 |  0.00  0.00 |  +0.08  +0.00 
             Bishops | -0.32 -0.48 | -0.12 -0.42 |  -0.20  -0.06 
               Rooks |  0.00  0.00 |  0.00  0.00 |  +0.00  +0.00 
              Queens |  0.00  0.00 |  0.00  0.00 |  +0.00  +0.00 
            Mobility |  0.45  0.75 |  0.70  1.02 |  -0.25  -0.27 
         King safety | -2.86 -0.08 |  1.09 -0.08 |  -3.95  +0.00 
             Threats |  0.00  0.00 |  0.16  0.25 |  -0.16  -0.25 
        Passed pawns |  0.00  0.00 |  0.89 -0.55 |  -0.89  +0.55 
               Space |  0.64  0.00 |  0.52  0.00 |  +0.12  +0.00 
---------------------+-------------+-------------+---------------
               Total |   ---   --- |   ---   --- |  -4.06  +0.92 

Scaling: 100.00% MG,   0.00% * 100.00% EG.
Total evaluation: -4.06

It is a king safety misevaluation.
Ralph Stoesser
Posts: 408
Joined: Sat Mar 06, 2010 9:28 am

Re: The Fried Fish Attack

Post by Ralph Stoesser »

The main problem is probably that the engine does not understand that the black pawn on h3 is in fact part of white's pawn shelter.:-) Misevaluation goes along those simple calculations:

White has no pawn on the h file -> pawn shelter penalty
Black has a storming pawn on the h file -> storming pawn penalty
gladius
Posts: 568
Joined: Tue Dec 12, 2006 10:10 am
Full name: Gary Linscott

Re: The Fried Fish Attack

Post by gladius »

Ralph Stoesser wrote:The main problem is probably that the engine does not understand that the black pawn on h3 is in fact part of white's pawn shelter.:-) Misevaluation goes along those simple calculations:

White has no pawn on the h file -> pawn shelter penalty
Black has a storming pawn on the h file -> storming pawn penalty
I've taken a crack at adding the knowledge of a king blockading a storming pawn. It reduces the king safety penalty in this position, but not by a huge amount.

Looking a little more into it, SF is extending the kingRing up two ranks, so it counts the rook as attacking the king. As with all king safety magic, this is tough to judge, but at least in this position, it leads to a decent misevaluation. Deeper search just keeps dropping the score.

I'll maybe try a few takes on modifying the kingRing as well.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: The Fried Fish Attack

Post by Lyudmil Tsvetkov »

gladius wrote:
Ralph Stoesser wrote:The main problem is probably that the engine does not understand that the black pawn on h3 is in fact part of white's pawn shelter.:-) Misevaluation goes along those simple calculations:

White has no pawn on the h file -> pawn shelter penalty
Black has a storming pawn on the h file -> storming pawn penalty
I've taken a crack at adding the knowledge of a king blockading a storming pawn. It reduces the king safety penalty in this position, but not by a huge amount.

Looking a little more into it, SF is extending the kingRing up two ranks, so it counts the rook as attacking the king. As with all king safety magic, this is tough to judge, but at least in this position, it leads to a decent misevaluation. Deeper search just keeps dropping the score.

I'll maybe try a few takes on modifying the kingRing as well.
Thanks for paying attention, Gary!
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: The Fried Fish Attack

Post by Lyudmil Tsvetkov »

Ralph Stoesser wrote:
Lyudmil Tsvetkov wrote: [d]r2qk2r/ppp2p2/2npbn2/2b1p3/2P1P1P1/2NB1PPp/PPNP3K/R1BQ1R2 b kq - 0 13
Was Stockfish aiming at this position? I do not know how it evaluates it, but white is certainly better here.
Hello Lyudmil,

again a very interesting game which exposes serious weaknesses! If you want to know how Stockfish evaluates the specific position, start Stockfish in a console window and type

position fen r2qk2r/ppp2p2/2npbn2/2b1p3/2P1P1P1/2NB1PPp/PPNP3K/R1BQ1R2 b kq - 0 13 [ENTER]
eval [ENTER]

Now you get the following output (dependent on exact version maybe slightly different than this)

Code: Select all

           Eval term |    White    |    Black    |     Total     
                     |   MG    EG  |   MG    EG  |   MG     EG   
---------------------+-------------+-------------+---------------
Material, PST, Tempo |   ---   --- |   ---   --- |   0.99   0.77 
  Material imbalance |   ---   --- |   ---   --- |   0.09   0.09 
               Pawns |   ---   --- |   ---   --- |   0.25   0.19 
             Knights |  0.08  0.00 |  0.00  0.00 |  +0.08  +0.00 
             Bishops | -0.32 -0.48 | -0.12 -0.42 |  -0.20  -0.06 
               Rooks |  0.00  0.00 |  0.00  0.00 |  +0.00  +0.00 
              Queens |  0.00  0.00 |  0.00  0.00 |  +0.00  +0.00 
            Mobility |  0.45  0.75 |  0.70  1.02 |  -0.25  -0.27 
         King safety | -2.86 -0.08 |  1.09 -0.08 |  -3.95  +0.00 
             Threats |  0.00  0.00 |  0.16  0.25 |  -0.16  -0.25 
        Passed pawns |  0.00  0.00 |  0.89 -0.55 |  -0.89  +0.55 
               Space |  0.64  0.00 |  0.52  0.00 |  +0.12  +0.00 
---------------------+-------------+-------------+---------------
               Total |   ---   --- |   ---   --- |  -4.06  +0.92 

Scaling: 100.00% MG,   0.00% * 100.00% EG.
Total evaluation: -4.06

It is a king safety misevaluation.
Thanks Ralph.

As I sometimes mention to annoy people, engine evaluations at the root are, well, should I say it, 'disastrous'. :D (hopefully not many people read this)

Is it possible that the engine thinks it has an advantage in this position of full 4 pawns?

I did not quite understand what is the problem with eval:

- obviously the h3 passer gets too much bonus here
- why is king safety for white penalised by 3 full pawns; ok, no h shelter pawn, but is it worth that much? I think just a single pawn adjacent to the king in many situations will be quite sufficient for its safety, well 2 adjacent shelter pawns are better, but that is mostly a luxury. I would have a standard king safety with just a single pawn immediately adjacent, and give small bonus for 2nd, 3rd such pawns. Maybe it depends on how you do pawn shelter. Whether you define 2 or 3 pawns as optimal and give penalties when pawns are less, or you define a single pawn as optimal and give small bonus for 2nd and 3rd pawns. I would rather stick with the second solution, as indeed, in most situations a second pawn of the immediate shelter is a luxury.
- what is the penalty for the white king on the second rank on h2? I would not penalise it much higher than g1, especially if there are chain pawns around. 2 chain pawns close by, f3 and g4, so the king on h2 in this case is not that badly placed.

Thanks for paying attention.