Further weaknesses

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

Re: Doubled and isolated

Post by Lyudmil Tsvetkov »

Well, people might say, what a stupid suggestion.
It is not stupid.

I am sure people have tuned up and down doubled and isolated pawns mala, and arrived at the current optimum. However, they did not try to separate doubled and isolated pawns in general from doubled pawns that are simultaneously isolated. That makes a big distinction. Please, look at the below diagram:

[d]6k1/8/8/P7/7P/2P5/2PP3P/6K1 w - - 0 1
a5 is isolated, c3 is doubled, h2 is isolated, and h4 is both doubled and and isolated. Now, if we try to tune up and down doubled and isolated pawns mala, we will tune them for all pawns, and that will not work. Instead, we need to increase the penalty only for h4, that is simulataneously doubled and isolated. That is probably going to work. In chess terms, h4 is much more isolated than a5, for example, it is simply a wekaer pawn. And much more doubled than c3, in a sense. That is why we need to specifically address that pawn.
We need to specify, in order to be precise.

Now, I know that Gary very kindly tried to decrease penalties for doubled and isolated pawns with the pair of bishops, but that did not work. I must confess that in that specific case it might have been my fault to suggest such a stupid idea, as it was based just on a single game, which might have been a fluke. What concerns increasing the penalties for pawns like h4, pawns that are doubled and isolated at the same time, the suggestion is based on at least 5 or 6 observed games, so it is not a fluke. SF simply underestimates such pawns.

I would increase the penalty for isolation for h4 by some 50%, or maybe both doubleness and isolation penalties by 20%.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Doubled and isolated

Post by Lyudmil Tsvetkov »

Sorry again, in the hurry I forgot to mention my main idea: the primary reason why people think h4 is already sufficiently penalised is that it already receives an isolation malus, and a doubleness malus. However, those should be increased, as this pawn is more doubled than other ones and more isolated than other ones.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Zero mobility again

Post by Lyudmil Tsvetkov »

lucasart wrote:
Ferdy wrote:
lucasart wrote:
Lyudmil Tsvetkov wrote: In light of the above, my suggestion would be the following: give a penalty, maybe some 20cps, for a zero safe mobility king in the endgame. This could solve cases like this one.
I already tried king safe mobility in the endgame. It failed:
http://tests.stockfishchess.org/tests/v ... 4b84c1a754

Code: Select all

Bitboard mobility = ei.attackedBy[Us][KING] & ~pos.pieces(Us, PAWN) & ~ei.attackedBy[Them][PAWN];
That might not be enough.
What about

Code: Select all

ei.attackedBy[Us][KING] & empty_sq & ~ei.attackedBy[Them][all_pieces_including_king];
If this is 0 give penalty, but don't give bonus if this is not 0.
The endgame component of the eval applies in the endgame. When there are only kings and pawns left. With linear interpolation obviously. So it makes no sense to include attacks of other pieces. It's against the principle of eval orthogonality. These attacks are accounted for in king safety, mobility etc. But have nothing to do with king endgame mobility.
So how do you make SF then solve the above position? Current search does not help.
So the endgame template then refers only to king and pawns? Does not SF have an endgame definition in terms of available material, i.e. when total available material is less then half of the material in the starting position?
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Zero mobility again

Post by Ferdy »

lucasart wrote:
Ferdy wrote:
lucasart wrote:
Lyudmil Tsvetkov wrote: In light of the above, my suggestion would be the following: give a penalty, maybe some 20cps, for a zero safe mobility king in the endgame. This could solve cases like this one.
I already tried king safe mobility in the endgame. It failed:
http://tests.stockfishchess.org/tests/v ... 4b84c1a754

Code: Select all

Bitboard mobility = ei.attackedBy[Us][KING] & ~pos.pieces(Us, PAWN) & ~ei.attackedBy[Them][PAWN];
That might not be enough.
What about

Code: Select all

ei.attackedBy[Us][KING] & empty_sq & ~ei.attackedBy[Them][all_pieces_including_king];
If this is 0 give penalty, but don't give bonus if this is not 0.
The endgame component of the eval applies in the endgame. When there are only kings and pawns left. With linear interpolation obviously. So it makes no sense to include attacks of other pieces. It's against the principle of eval orthogonality. These attacks are accounted for in king safety, mobility etc. But have nothing to do with king endgame mobility.
I mean something like this.

Code: Select all

Bitboard mobility = ei.attackedBy[Us][KING] & empty_sq & ~ei.attackedBy[Them][all_pieces_including_king];
const int king_severe_mobility_penalty[] = { 20, 0, 0, 0, 0, 0, 0, 0, 0 };
score -= make_score(0, king_severe_mobility_penalty[popcount(mobility)]);
The routine evaluate_king() is also called when there are still pieces(not pawns) on the board. Notice there are no attacks here, the king is not threatened whatsoever for the time being, it is just crippled and caged :) .
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Zero mobility again

Post by Lyudmil Tsvetkov »

A funny position, something similar was posted on this forum recently. Try to see the draw here:

[d]6k1/8/8/3R4/8/5Bp1/5bPp/7K w - - 0 1

The baseline might be that lone R+B can not mate the enemy king without the support of the own king. So, what concerns mating abilities in the late endgame, the king might be more valuable than a minor piece. That is why I thought king psqt bonus for 5th and 6th ranks in the endgame is an essential requirement, apart from king centralisation in general.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

What to do about this?

Post by Lyudmil Tsvetkov »

A game between SF and Houdini with an interesting endgame.

[pgn][MLNrOfMoves "92"]
[MLFlags "000100"]
[Event "4 Minutes/Game"]
[Site "2 SF 4 min gauntlet, HP-PC"]
[Date "2014.04.09"]
[Round "32.1"]
[White "Stockfish1404061153x64"]
[Black "Houdini4Prox64"]
[Result "0-1"]

1. c4 e5 2. Nc3 Nf6 3. Nf3 Nc6 4. e4 Bb4 5. d3 d6 6. Be2 Bc5 7. O-O O-O 8. a3 a5
9. Nd5 {0.00/20 5s} 9... h6 {-0.14/19 8s} 10. Be3 {+0.02/23 4s} 10... Be6
{-0.17/17 6s (Bd7)} 11. Rc1 {0.00/20 4s (Bxc5)} 11... Nd7 {-0.18/18 4s (Re8)}
12. d4 {-0.01/21 5s (Nc3)} 12... exd4 {-0.17/16 2s} 13. Nxd4 {+0.06/22 4s}
13... Nxd4 {-0.15/18 3s (Bxd4)} 14. Bxd4 {+0.03/21 5s} 14... Re8
{-0.18/19 13s (c6)} 15. Bc3 {+0.08/22 2s} 15... a4 {-0.08/18 2s} 16. Qd3
{+0.05/21 8s} 16... Rc8 {-0.11/19 4s (f6)} 17. Nf4 {0.00/22 5s (Qc2)} 17... Qh4
{-0.09/20 4s} 18. g3 {+0.05/24 3s} 18... Qe7 {-0.04/20 3s} 19. Qd1 {+0.08/23 2s}
19... Ra8 {0.00/19 3s} 20. Nd5 {0.00/23 5s (Nxe6)} 20... Qd8 {-0.02/17 2s} 21.
Kg2 {+0.06/25 4s (Nf4)} 21... Qc8 {-0.06/19 4s (Ne5)} 22. f4 {+0.11/22 8s (Bg4)}
22... c6 {-0.10/17 5s (Nb6)} 23. f5 {0.00/20 6s} 23... Bxd5 {-0.10/16 0s} 24.
cxd5 {+0.18/23 16s} 24... Rxe4 {+0.11/18 14s (f6)} 25. Bd3 {+0.60/21 4s} 25...
Re5 {+0.26/17 3s (Re3)} 26. f6 {+0.71/20 3s (Bxe5)} 26... Rxd5 {+0.28/16 3s}
27. fxg7 {+0.58/24 3s} 27... Ne5 {+0.28/15 0s} 28. Qh5 {+0.39/23 3s} 28... Qe6
{+0.49/18 2s} 29. Bf5 {+0.35/23 3s} 29... Rd2+ {+0.49/16 0s} 30. Bxd2
{+0.20/24 3s} 30... Qd5+ {+0.31/16 0s} 31. Kh3 {+0.56/26 2s} 31... Qxd2
{+0.31/15 0s} 32. Rf4 {+0.56/26 2s (Be6)} 32... Kxg7 {+0.22/14 0s} 33. Rc2
{+0.56/25 2s} 33... Qd5 {+0.22/18 1s} 34. Re2 {+0.35/23 4s} 34... Bd4
{+0.22/19 5s} 35. Bd7 {+0.30/24 2s (Qh4)} 35... Bb6 {+0.22/18 1s} 36. Re1
{+0.43/23 2s (Bf5)} 36... Ng6 {+0.22/18 2s} 37. Rf5 {+0.28/24 7s} 37... Ne5
{+0.22/17 0s} 38. Rd1 {+0.54/24 5s} 38... Qc5 {+0.22/16 0s} 39. Rdf1
{+0.60/26 1s (Re1)} 39... Qd5 {+0.97/18 3s} 40. Rf6 {+0.61/26 1s} 40... Be3
{+0.97/17 0s} 41. R1f5 {+0.65/26 1s} 41... Rf8 {+1.41/18 5s} 42. Be6
{+0.77/25 5s} 42... fxe6 {+1.41/17 0s} 43. Rxe5 {+0.77/25 1s} 43... Rxf6
{+1.36/16 0s} 44. Rxd5 {+0.84/25 1s} 44... cxd5 {+1.23/17 4s} 45. Qg4+
{+0.89/24 4s} 45... Rg6 {+1.00/19 7s (Kf7)} 46. Qxa4 {+1.00/23 3s} 46... Kf6
{+1.10/19 2s} 47. Qb3 {+0.95/24 3s (Qb4)} 47... d4 {+0.81/17 1s} 48. Qxb7
{+0.95/25 1s} 48... Rg5 {+0.81/18 1s} 49. Qb6 {+1.10/22 1s} 49... Rd5
{+1.21/17 1s} 50. Kg2 {+1.10/21 1s} 50... Ke7 {+1.11/17 3s (Ke5)} 51. Qa7+
{+1.34/22 3s} 51... Kf6 {+1.67/17 3s} 52. b4 {+1.34/23 1s} 52... Bc1
{+1.62/17 2s (Rf5)} 53. Qb8 {+1.65/21 2s} 53... d3 {+1.36/17 1s} 54. Qf8+
{+1.53/21 1s} 54... Ke5 {+1.38/16 0s} 55. Qf1 {+1.47/23 3s} 55... Be3
{+1.04/19 1s (Bg5)} 56. Kf3 {+1.38/20 1s} 56... Ba7 {+0.99/17 1s} 57. Qe1+
{+1.11/20 3s} 57... Kf6 {+0.99/15 0s} 58. a4 {+1.06/21 2s} 58... d2
{+0.75/16 1s (Ke7)} 59. Qd1 {+1.07/20 2s} 59... Ke7 {+0.75/15 0s} 60. Ke2
{+0.48/20 3s} 60... Re5+ {+0.66/18 1s} 61. Kd3 {0.00/22 3s} 61... Rd5+
{+0.44/18 1s (Be3)} 62. Kc3 {0.00/27 1s (Kc4)} 62... e5 {+0.08/15 1s (Bd4+)}
63. Kc4 {-1.34/22 4s (a5)} 63... Rd4+ {+0.08/14 0s} 64. Kb5 {-0.50/22 3s (Kc3)}
64... e4 {-0.40/16 1s} 65. Ka6 {-0.50/23 0s} 65... Bb8 {-0.34/17 1s (Bc5)} 66.
b5 {-1.36/20 1s} 66... e3 {-0.44/16 1s} 67. Kb7 {-1.58/22 2s} 67... Bc7
{-0.84/16 1s} 68. Kxc7 {-1.58/22 0s} 68... Rc4+ {-0.91/15 1s} 69. Kb8
{-1.42/21 0s (Kb6)} 69... Rc1 {-1.22/13 0s} 70. Qf3 {-1.42/20 0s (Qg4)} 70...
d1Q {-1.51/13 0s} 71. Qe4+ {-1.95/20 4s (Qxe3+)} 71... Kd8 {-1.84/15 1s} 72.
Qh4+ {-2.09/17 0s} 72... Kd7 {-1.84/14 0s} 73. Qh3+ {-2.18/18 0s} 73... Ke7
{-1.68/16 1s} 74. Qh4+ {-2.69/19 2s} 74... Kf7 {-1.68/15 0s} 75. Qf4+
{-2.69/20 0s} 75... Kg7 {-1.78/18 1s} 76. Qxe3 {-2.69/20 0s} 76... Qe1
{-1.79/17 0s} 77. Qa7+ {-2.49/18 0s} 77... Kf6 {-1.86/18 1s} 78. Qh7
{-2.63/19 0s} 78... Qe8+ {-1.98/17 0s} 79. Kb7 {-2.62/20 0s (Ka7)} 79... Qc8+
{-2.10/16 1s} 80. Kb6 {-2.51/20 0s} 80... Qf8 {-2.24/17 0s (Qb8+)} 81. Qd3
{-2.51/17 0s} 81... Qd8+ {-2.75/16 1s (Qb8+)} 82. Ka6 {-3.19/18 1s} 82... Qc8+
{-2.56/15 1s} 83. Kb6 {-3.13/18 0s (Ka5)} 83... Qc5+ {-2.70/16 0s} 84. Ka6
{-3.07/16 0s} 84... Qb4 {-2.70/14 0s} 85. Kb6 {-3.30/17 1s} 85... Kg7
{-3.21/15 1s} 86. Qd5 {-3.25/16 0s (h3)} 86... Qxa4 {-3.52/14 0s} 87. Qb7+
{-3.17/16 1s (Qxd6)} 87... Kg6 {-3.73/17 0s} 88. Qd5 {-3.17/17 0s} 88... Qc4
{-3.73/15 0s} 89. Qxd6+ {-3.41/17 0s} 89... Kf5 {-3.67/18 0s} 90. h3
{-3.41/17 0s (Qf8+)} 90... Qe6 {-6.28/17 0s (Rc3)} 91. g4+ {-7.55/16 0s} 91...
Kf6 {-6.28/16 0s} 92. Qxe6+ {-39.78/22 0s} 92... Kxe6 {-5.79/15 0s} 0-1
[/pgn]

[d]8/1Q6/3ppk1p/6r1/3p4/P3b1PK/1P5P/8 w - - 0 49
Both engines see 1 to 2 full pawns white advantage here for the next 20 moves, when suddenly, first SF, and then Houdini, understand that black is winning.

As I do not quite make sense of what eval suggestions could be advanced for this position, my question to you is do you think of any reasonable applicable eval rules?

I know that SF has a passer bonus for the side with the more pieces, but is it sufficient? Or maybe the queen case should be specified separately? (hope Marco and Lucas are not reading this ) :)

In any case, it seems black has a decisive advantage in terms of eval on the above diagram.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Zero mobility again

Post by Ferdy »

Ferdy wrote:
lucasart wrote:
Ferdy wrote:
lucasart wrote:
Lyudmil Tsvetkov wrote: In light of the above, my suggestion would be the following: give a penalty, maybe some 20cps, for a zero safe mobility king in the endgame. This could solve cases like this one.
I already tried king safe mobility in the endgame. It failed:
http://tests.stockfishchess.org/tests/v ... 4b84c1a754

Code: Select all

Bitboard mobility = ei.attackedBy[Us][KING] & ~pos.pieces(Us, PAWN) & ~ei.attackedBy[Them][PAWN];
That might not be enough.
What about

Code: Select all

ei.attackedBy[Us][KING] & empty_sq & ~ei.attackedBy[Them][all_pieces_including_king];
If this is 0 give penalty, but don't give bonus if this is not 0.
The endgame component of the eval applies in the endgame. When there are only kings and pawns left. With linear interpolation obviously. So it makes no sense to include attacks of other pieces. It's against the principle of eval orthogonality. These attacks are accounted for in king safety, mobility etc. But have nothing to do with king endgame mobility.
I mean something like this.

Code: Select all

Bitboard mobility = ei.attackedBy[Us][KING] & empty_sq & ~ei.attackedBy[Them][all_pieces_including_king];
const int king_severe_mobility_penalty[] = { 20, 0, 0, 0, 0, 0, 0, 0, 0 };
score -= make_score(0, king_severe_mobility_penalty[popcount(mobility)]);
The routine evaluate_king() is also called when there are still pieces(not pawns) on the board. Notice there are no attacks here, the king is not threatened whatsoever for the time being, it is just crippled and caged :) .
Another flavor so that it is not penalized when own king happens to be just surrounded by all its own pieces,
the king in this situation also has zero mobility but is somewhat safe.

Code: Select all

//if there is empty sq near own king and yet the king can not move 
//because that sq is attacked by opp pieces, then penalize
Bitboard mobility = ei.attackedBy[Us][KING] & empty_sq;
if(mobility){
mobility &= ~ei.attackedBy[Them][all_pieces_including_king];
score -= make_score( 0, (mobility? 0 : 20) );
}
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Spacemask 2

Post by Lyudmil Tsvetkov »

Below a game between SF and Gull, where SF again underestimates enemy space advantage.

[pgn][MLNrOfMoves "64"]
[MLFlags "000100"]
[Event "4 Minutes/Game"]
[Site "2 SF 4 min gauntlet, HP-PC"]
[Date "2014.04.09"]
[Round "38.2"]
[White "Gull28betax64"]
[Black "Stockfish140407IPxx64"]
[Result "1-0"]

1. d4 e6 2. c4 f5 3. g3 Nf6 4. Bg2 c6 5. Bf4 Be7 6. Nf3 O-O 7. O-O d5 8. Qc2
Nbd7 9. Nbd2 {+0.24/16 7s} 9... Nh5 {+0.07/21 16s} 10. e3 {+0.30/16 6s (Be5)}
10... g5 {-0.01/22 4s} 11. Be5 {+0.34/16 3s} 11... g4 {-0.01/24 2s} 12. Ne1
{+0.30/16 3s} 12... Nxe5 {-0.03/23 21s} 13. dxe5 {+0.30/15 0s} 13... b6
{-0.04/23 2s} 14. Nd3 {+0.31/17 7s} 14... Ba6 {0.00/21 9s (a5)} 15. Rfd1
{+0.43/17 6s (Rad1)} 15... Rc8 {+0.04/20 4s} 16. a4 {+0.59/17 5s (Rac1)} 16...
Qc7 {+0.13/19 6s} 17. a5 {+0.66/16 3s (b4)} 17... b5 {+0.22/23 6s (Qb7)} 18. c5
{+0.69/15 2s} 18... b4 {+0.32/24 4s (Ng7)} 19. Nxb4 {+1.01/16 1s} 19... Be2
{+0.32/25 2s} 20. Re1 {+1.00/18 2s} 20... Rb8 {+0.37/25 5s} 21. Qc3
{+1.00/19 5s} 21... Qb7 {+0.37/25 2s} 22. Na2 {+1.00/18 0s} 22... Ba6
{+0.41/25 16s} 23. b3 {+1.05/19 5s (b4)} 23... Ng7 {+0.23/23 5s} 24. Bf1
{+0.92/18 11s} 24... Bxf1 {+0.29/23 2s} 25. Rxf1 {+1.00/18 3s} 25... h5
{+0.29/24 7s (Ne8)} 26. Nc1 {+1.12/18 5s} 26... h4 {+0.29/23 1s} 27. a6
{+1.12/17 0s (Nd3)} 27... Qc8 {+0.30/22 4s} 28. Ne2 {+1.21/19 41s (b4)} 28...
hxg3 {+0.27/24 2s (Kf7)} 29. hxg3 {+1.21/19 2s (fxg3)} 29... Kf7 {+0.47/20 2s}
30. f3 {+1.21/17 0s (b4)} 30... gxf3 {+0.46/20 4s (Ke8)} 31. Nxf3
{+1.40/17 10s} 31... Rh8 {+0.54/22 7s} 32. Kf2 {+1.39/17 4s} 32... Ne8
{+0.66/23 8s (Rh6)} 33. Ned4 {+1.66/16 3s (Rg1)} 33... Nc7 {+0.74/21 3s} 34. Rh1
{+1.58/14 0s} 34... Nb5 {+0.78/23 2s} 35. Qa5 {+1.90/16 2s} 35... Nxd4
{+0.82/23 2s (Rxh1)} 36. Nxd4 {+2.39/15 1s} 36... Qd7 {+1.00/23 3s} 37. b4
{+2.39/14 0s} 37... Rbc8 {+1.09/23 3s} 38. Rxh8 {+2.47/15 2s (b5)} 38... Rxh8
{+1.02/20 1s} 39. Qa4 {+2.55/15 1s} 39... Qc7 {+1.09/21 2s} 40. Nxc6
{+2.56/15 3s} 40... Qc8 {+0.89/23 2s (Rh2+)} 41. Rg1 {+2.88/15 0s (Nxe7)} 41...
Rh2+ {+0.95/22 2s (Qg8)} 42. Rg2 {+2.67/14 1s} 42... Qh8 {+1.07/22 3s} 43. Qb5
{+2.69/16 12s} 43... Qh3 {+1.07/22 1s} 44. Rxh2 {+2.69/15 0s} 44... Qxh2+
{+1.04/22 1s} 45. Kf3 {+2.69/15 0s} 45... Qh1+ {+1.04/22 1s} 46. Ke2
{+2.64/16 6s} 46... Bg5 {+1.04/23 9s (Qg2+)} 47. Qd3 {+2.72/16 3s} 47... Qg2+
{+1.14/22 4s} 48. Kd1 {+2.61/16 0s} 48... Qg1+ {+1.32/23 8s (Qxg3)} 49. Kc2
{+3.51/16 3s (Kd2)} 49... Bxe3 {+1.22/18 0s} 50. Kb3 {+3.51/14 0s (g4)} 50...
Bxc5 {+1.46/20 1s} 51. bxc5 {+3.51/13 0s} 51... Qxc5 {+1.64/20 0s} 52. Qc3
{+3.51/16 0s} 52... Qg1 {+1.82/20 1s (Qb5+)} 53. Ka4 {+3.51/14 0s} 53... Qb6
{+1.86/19 0s} 54. Nb4 {+3.51/16 0s} 54... Qg1 {+2.11/20 2s (Kg7)} 55. Qc7+
{+3.67/13 0s} 55... Kg6 {+2.11/20 0s (Kg8)} 56. Qe7 {+3.83/13 0s} 56... Qd1+
{+2.22/18 3s (Kh5)} 57. Ka5 {+4.76/12 0s} 57... Qa1+ {+3.05/18 2s} 58. Kb5
{+6.04/13 3s} 58... Qxe5 {+3.32/19 3s} 59. Qxa7 {+7.05/14 7s} 59... d4+
{+3.56/17 1s (Qe2+)} 60. Qc5 {+7.46/14 0s} 60... Qb8+ {+3.56/17 0s} 61. Qb6
{+7.46/13 0s} 61... Qe8+ {+3.80/17 1s (Qe5+)} 62. Kc5 {+7.53/12 0s (Ka5)} 62...
Qc8+ {+3.62/15 0s (d3)} 63. Kxd4 {+7.95/12 0s} 63... Qh8+ {+5.12/18 2s (Kg5)}
64. Kc4 {+9.99/12 0s} 64... Qe5 {+5.63/19 0s (Qa1)} 65. Nd3 {+9.73/12 0s} 1-0
[/pgn]

[d]r1bq1rk1/pp1nb2p/2p1p3/3pBp1n/2PP2p1/4P1P1/PPQN1PBP/R3NRK1 b - - 0 12
Now SF captures 12...Ne5, whereupon the white e5 pawn starts pressing black.

[d]2r2rk1/p1q1b2p/b1p1p3/PpPpPp1n/6p1/3NP1P1/1PQN1PBP/R2R2K1 b - - 0 18
SF thinks it is about equal, Gull sees a full pawn white edge. The e5 and c5 white pawns, blocked by enemy pawns on e6 and c6, smash black. Obviously, SF does not have a very high opinion of either of them.

[d]1r5r/p2qbk2/P1p1p3/Q1PpPp2/3N4/1P2P1P1/5K2/R6R w - - 0 37
White is totally winning, and the e5 and c5 white pawns play a vital role for that.

I have observed SF underestimating blocked pawns on the 5th rank in innumerable cases, this is just one of them.
I know that SF has a parameter called space mask, which defines space advantage in terms of the available safe squares for minors on ranks 2-4 within the 4 centralmost files. Attempts to improve on it, or remove it altogether both failed. Obviously, in spite of that, there are cases when the spacemask in its current state simply fails. My suggestion would be, jokingly of course, what concerns the name, to introduce a Spacemask 2, that would take into account cases of space advantage which Spacemask 1 can not explain.
Spacemask 2 can start with a bonus for pawn on the 5th rank, blocked by an enemy pawn, like e5 and c5 above. 5-10cps bonus for a start might be OK not to clash with other terms. Chances are that such a bonus will be successful, as I have really observed innumerable cases where SF underestimates such pawns. Well, you can try only with files c-f not to be in any way redundant with storming pawns.

A patch pushed recently by Stefan Geschwentner giving bonus to blocked storming pawns on the 6th rank barely made the LTC only after 40 000 + games, but those pawns on the 6th are redundant with a bunch of other Sf terms, like backward pawns, rank bonus for chain pawns, etc. I am sure a blocked pawn on the 5th will have a much easier time passing the test.

It is also true that Joerg at some point tried to introduce space in terms of pawns on the 5th and 6th ranks, and the patch obviously failed, but I think the specification that such pawns must be blocked, and even better only on central c-f files, was not implemented into this patch. (I would be happy if Joerg corrects me, so that I know a bit more on the matter)

I would be happy if someone really tries this at some point, for the simple reason that there are so many games lost by SF, where central pawns on the 5th rank simply cry for a nice bonus in the engine eval.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: What to do about this?

Post by zullil »

Lyudmil Tsvetkov wrote: [d]8/1Q6/3ppk1p/6r1/3p4/P3b1PK/1P5P/8 w - - 0 49
Both engines see 1 to 2 full pawns white advantage here for the next 20 moves, when suddenly, first SF, and then Houdini, understand that black is winning.

In any case, it seems black has a decisive advantage in terms of eval on the above diagram.
After a long search, the latest Stockfish sure isn't seeing that Black has an advantage:

Code: Select all

info depth 48 seldepth 90 score cp 275 nodes 120428243868 nps 23691600 time 5083162 multipv 1 pv b7a6 g5d5 a6f1 d5f5 f1d3 f5c5 h3g2 d6d5 a3a4 h6h5 d3h7 c5c1 g2h3 c1a1 b2b3 f6e5 a4a5 a1a3 h7h5 e5d6 h5e8 a3b3 e8d8 d6c6 d8e7 c6b5 e7a7 b5c6 a5a6 b3b6 a7f7 b6a6 f7e6 c6b7 e6d5 b7c7 h3g4 a6d6 d5c5 c7d7 c5b5 d7e7 g4f3 e3h6 b5d3 h6g7 h2h4 d6e6 f3f4 e6f6 f4g4 f6e6 d3h7 e7f7 g4g5 e6d6
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: What to do about this?

Post by zullil »

zullil wrote:
Lyudmil Tsvetkov wrote: [d]8/1Q6/3ppk1p/6r1/3p4/P3b1PK/1P5P/8 w - - 0 49
Both engines see 1 to 2 full pawns white advantage here for the next 20 moves, when suddenly, first SF, and then Houdini, understand that black is winning.

In any case, it seems black has a decisive advantage in terms of eval on the above diagram.
After a long search, the latest Stockfish sure isn't seeing that Black has an advantage:

Code: Select all

info depth 48 seldepth 90 score cp 275 nodes 120428243868 nps 23691600 time 5083162 multipv 1 pv b7a6 g5d5 a6f1 d5f5 f1d3 f5c5 h3g2 d6d5 a3a4 h6h5 d3h7 c5c1 g2h3 c1a1 b2b3 f6e5 a4a5 a1a3 h7h5 e5d6 h5e8 a3b3 e8d8 d6c6 d8e7 c6b5 e7a7 b5c6 a5a6 b3b6 a7f7 b6a6 f7e6 c6b7 e6d5 b7c7 h3g4 a6d6 d5c5 c7d7 c5b5 d7e7 g4f3 e3h6 b5d3 h6g7 h2h4 d6e6 f3f4 e6f6 f4g4 f6e6 d3h7 e7f7 g4g5 e6d6

Code: Select all

info depth 49 seldepth 90 score cp 313 nodes 278416677366 nps 24538113 time 11346295 multipv 1 pv b7e4 g5e5 e4d3 e5c5 h3g2 h6h5 a3a4 c5a5 b2b4 a5a4 d3b1 a4a8 b4b5 a8b8 b5b6 d6d5 b1f1 f6e5 f1a6 d4d3 a6d3 e3b6 d3f3 e5d6 f3f4 e6e5 f4f6 d6c5 f6e5 b8b7 e5h5 b6c7 h5e2 c7d6 e2c2 c5d4 h2h4 b7b8 c2f2 d4e5 f2e2 e5f6 g3g4 d6e5 g4g5 f6f5 e2c2 f5e6 c2g6 e6e7 g6d3