My Stockfish wish for 2014

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

My Stockfish wish for 2014

Post by Lyudmil Tsvetkov »

Everyone has a wish associated with his favourite engine. My Stockfish wish for 2014 is to see the engine playing chess along more positional lines.

Stockfish excels in king attacks (much in distinction to Komodo, Larry should possibly do something for Komodo king safety; one of the reasons while Komodo loses almost all the tournament games against Critter, a tactically strong attacker), in this field it is definitely better than Houdini, and also plays very accurate endgames, but what concerns its positional play, it is a relatively weak engine, with both Komodo and Houdini clearly surpassing it.

There are some basic rules without which a good positional engine simply can not exist. I would enumerate here 3 most fundamental ones that Stockfish probably lacks, but of course, there are many more and the Stockfish team should try looking for them in an attempt to improve the positional understanding of the engine:

- a knight blocking enemy passer (this would usually be a separate passer, but protected passers, if possible to block, would also deserve bonus); some 25-30cps would be fine. It is a fact that both Komodo and Houdini know this rule, but I have never seen a Stockfish game with its knight positionally blocking an enemy passer. Impossible not to work, a very simple, very sound rule.

- minors controlling the square in front of an enemy backward pawn; 10cps bonus would be just fine. My impression is that both Komodo and Houdini perform better here. This is quite an essential positional rule, especially when the enemy has many backward pawns. It is possible that with similar bonus points and additional factors a minor piece gets stronger than a rook, with a pleasant positional play to watch. Impossible not to work, if having a very solid knowledge basis.

- sufficient understanding of closing of entire sides on the board. I think the rule is very simple, but no engine in the world knows and uses it to its advantage. Very simple rule indeed: when all of the files on one side of the board (all 4 files on either the queen or king side) are closed, the side that gains space advantage with pawns on the opposite side gets bonus of some 50-60cps. The bonus is for the fact that, as the other side is fully closed, no possible counterplay there, so the player who enjoys space advantage on the opposite side of the board enjoys advantage for the entire game as well. You check if all files on one side are closed, and if so, you check is some player has pawns on the 5th or 6th ranks (usually 5th) on the opposite side. If so, you assign that player the additional bonus.

About the only thing that Stockfish does positionally well, is using chains. It is certainly better in this field than Houdini, although Komodo might have somewhat equal or better understanding. Seeing that Stockfish understands to an extent chains is a joy to the eye when such games happen.

Now, some might say that those subtle positional elements are dificult or impossible to implement, because, for example, they would not occur in testing games against other engines, but I think this is not so. You play what you understand, and it is quite natural that you do not play what you do not understand. However, if there are few engines understanding subtle positional rules and you understand them, you can simply make use of this knowledge to score a lot of points based on this, the way for example Komodo does with its positional understanding. Each valid rule in chess, be it tactical or positional, should bring additional strength.

What is your wish for your favourite engine for 2014?

Best, Lyudmil
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: My Stockfish wish for 2014

Post by carldaman »

Lyudmil Tsvetkov wrote:Everyone has a wish associated with his favourite engine. My Stockfish wish for 2014 is to see the engine playing chess along more positional lines.

Stockfish excels in king attacks (much in distinction to Komodo, Larry should possibly do something for Komodo king safety; one of the reasons while Komodo loses almost all the tournament games against Critter, a tactically strong attacker), in this field it is definitely better than Houdini, and also plays very accurate endgames, but what concerns its positional play, it is a relatively weak engine, with both Komodo and Houdini clearly surpassing it.

There are some basic rules without which a good positional engine simply can not exist. I would enumerate here 3 most fundamental ones that Stockfish probably lacks, but of course, there are many more and the Stockfish team should try looking for them in an attempt to improve the positional understanding of the engine:

- a knight blocking enemy passer (this would usually be a separate passer, but protected passers, if possible to block, would also deserve bonus); some 25-30cps would be fine. It is a fact that both Komodo and Houdini know this rule, but I have never seen a Stockfish game with its knight positionally blocking an enemy passer. Impossible not to work, a very simple, very sound rule.

- minors controlling the square in front of an enemy backward pawn; 10cps bonus would be just fine. My impression is that both Komodo and Houdini perform better here. This is quite an essential positional rule, especially when the enemy has many backward pawns. It is possible that with similar bonus points and additional factors a minor piece gets stronger than a rook, with a pleasant positional play to watch. Impossible not to work, if having a very solid knowledge basis.

- sufficient understanding of closing of entire sides on the board. I think the rule is very simple, but no engine in the world knows and uses it to its advantage. Very simple rule indeed: when all of the files on one side of the board (all 4 files on either the queen or king side) are closed, the side that gains space advantage with pawns on the opposite side gets bonus of some 50-60cps. The bonus is for the fact that, as the other side is fully closed, no possible counterplay there, so the player who enjoys space advantage on the opposite side of the board enjoys advantage for the entire game as well. You check if all files on one side are closed, and if so, you check is some player has pawns on the 5th or 6th ranks (usually 5th) on the opposite side. If so, you assign that player the additional bonus.

About the only thing that Stockfish does positionally well, is using chains. It is certainly better in this field than Houdini, although Komodo might have somewhat equal or better understanding. Seeing that Stockfish understands to an extent chains is a joy to the eye when such games happen.

Now, some might say that those subtle positional elements are dificult or impossible to implement, because, for example, they would not occur in testing games against other engines, but I think this is not so. You play what you understand, and it is quite natural that you do not play what you do not understand. However, if there are few engines understanding subtle positional rules and you understand them, you can simply make use of this knowledge to score a lot of points based on this, the way for example Komodo does with its positional understanding. Each valid rule in chess, be it tactical or positional, should bring additional strength.

What is your wish for your favourite engine for 2014?

Best, Lyudmil
Very thoughtful post as usual, Lyudmil. :)

The fact that Komodo is so strong despite being slower tactically, and lacking in king safety compared to Houdini and Stockfish, is certainly significant, as it demonstrates how powerful positional understanding can be. Hopefully, the SF team can find ways to incorporate your suggestions without "weakening the engine elsewhere".

Speaking of Komodo, I would also like to see better king safety (this is even more of an issue for folks that only have 4 cores or less). I hope its authors will also add much needed analysis features such as permanent hash (Jeremy Bernstein's implementation is state-of-the-art), and Ronald de Man's Syzygy tablebase support, which is becoming the new standard. Chess960 support would be nice, too, but further down the list.

Then, I wish that the Houdini author will provide the tunable/tweakable Houdini version that he promised.

Holiday best wishes,
Carl
User avatar
Stonewall
Posts: 54
Joined: Sat Jul 06, 2013 5:26 pm
Location: Philippines

Re: My Stockfish wish for 2014

Post by Stonewall »

I wish for more attacking power by the next version of Critter :)
Imagination is better than knowledge
yolin
Posts: 30
Joined: Thu Mar 30, 2006 6:12 pm

Re: My Stockfish wish for 2014

Post by yolin »

Very nice post! Would it be possible for you to post a position for these three eval-themes (possible together with the eval scores of stockfish/houdini/komodo)? In that way, I believe your suggestions will have a higher chance of getting picked up by any of the stockfish development team members.
Ralph Stoesser
Posts: 408
Joined: Sat Mar 06, 2010 9:28 am

Re: My Stockfish wish for 2014

Post by Ralph Stoesser »

Interesting ideas, I like #3 especially! I'm sure they will be tried soon, just after the king safety cow gave a little more milk.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: My Stockfish wish for 2014

Post by Lyudmil Tsvetkov »

Ralph Stoesser wrote:Interesting ideas, I like #3 especially! I'm sure they will be tried soon, just after the king safety cow gave a little more milk.
Many thanks, Ralph.

No need to hurry. My wish was for 2014 as a whole. Full 1 year ahead. :D

I think many people will be glad to see a more positional Stockfish.
Ralph Stoesser
Posts: 408
Joined: Sat Mar 06, 2010 9:28 am

Re: My Stockfish wish for 2014

Post by Ralph Stoesser »

Lyudmil Tsvetkov wrote:
Ralph Stoesser wrote:Interesting ideas, I like #3 especially! I'm sure they will be tried soon, just after the king safety cow gave a little more milk.
Many thanks, Ralph.

No need to hurry. My wish was for 2014 as a whole. Full 1 year ahead. :D

I think many people will be glad to see a more positional Stockfish.
No, that's nothing to hurry. Especially #3 I'm sure is very difficult to get right. It will need proper preparation and probably many tries.

My biggest wish for 2014 would be a SF that don't mishandle kings indian. Very difficult to achieve I assume. Do you have an idea what general rules one could formulate to make SF play kings indian better (for both sides of course) without hurting the play in other positions? I know I ask for very much here....;)
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: My Stockfish wish for 2014

Post by Lyudmil Tsvetkov »

yolin wrote:Very nice post! Would it be possible for you to post a position for these three eval-themes (possible together with the eval scores of stockfish/houdini/komodo)? In that way, I believe your suggestions will have a higher chance of getting picked up by any of the stockfish development team members.
Hi Yolin.

I have been posting about these subjects too many times already, and would not like to repeat myself ad nauseam.

For reference, you might see game 11 Houdini-Bouquet from Graham's Don Dailey Tribute in the tournament subforum, where Houdini sacrifices an exchange to get a beautiful knight on d4, permanently blocking the enemy d5 passer, but also supporting its own. I am pretty sure Stockfish does not see this exchange sacrifice, but the win after that is straightforward.

On the theme of full closing of sides, you could have a look at the recent 'The Doomsday of Stockfish DD' thread, also in the tournament forum, where there are some games of me against Stockfish where the theme is used.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: My Stockfish wish for 2014

Post by Lyudmil Tsvetkov »

Ralph Stoesser wrote:
Lyudmil Tsvetkov wrote:
Ralph Stoesser wrote:Interesting ideas, I like #3 especially! I'm sure they will be tried soon, just after the king safety cow gave a little more milk.
Many thanks, Ralph.

No need to hurry. My wish was for 2014 as a whole. Full 1 year ahead. :D

I think many people will be glad to see a more positional Stockfish.
No, that's nothing to hurry. Especially #3 I'm sure is very difficult to get right. It will need proper preparation and probably many tries.

My biggest wish for 2014 would be a SF that don't mishandle kings indian. Very difficult to achieve I assume. Do you have an idea what general rules one could formulate to make SF play kings indian better (for both sides of course) without hurting the play in other positions? I know I ask for very much here....;)
You are welcome, Ralph. Actually, it is me that benefits most from a stronger Stockfish, because in this way I have a stronger partner to play with.

About the KID, no clue about it, but I have a hypothesis. It should all be related to the scoring of chains (but closed sides also play role here). I think you have insufficient scoring for chains. As far as I understood, you score chain pawns in terms of the rank they are on, and that is good, but not sufficient. What is missing from Stockfish eval to play the KID well is a bonus for the most advanced member of the chain that is close to the enemy king, just 1 or 2 squares away, i.e. white chain pawn on f6 being just one square away from the black king on g8, or white chain pawn on e5/f5 being just 2 squares away from the black king on g8. In the case of a chain pawn most advanced just 1 square away you can give an additional bonus of 30cps, when the most advanced chain pawn is 2 squares away, you can give 15cps bonus.

That is essential. The KID is all about that. You should score closeness to the enemy king of the most advanced chain pawn, it is this pawn that makes the chain powerful.

[d]6k1/6p1/5pP1/4pP2/3pP3/3P4/8/6K1 w - - 0 1
the g6 pawn, most advanced chain pawn, gets additional 30cps bonus (but it could also be f6 or h6 chain pawn, i.e. any pawn on the 6th rank close to the enemy king)

[d]6k1/8/5p2/4pP2/3pP3/3P4/8/6K1 w - - 0 1
the f5 chain pawn, most advanced chain pawn 2 squares away from the enemy king, gets 15cps bonus (but it could also be e5 or g5 chain pawns, i.e. any pawn on the 5th rank)

Please not, however, that this will mostly work when most if not all of the pawns of the chain are blocked, as otherwise the position could be open.

[d]6k1/5p2/5P2/4P3/2pP4/2P5/8/6K1 w - - 0 1
For example, here already the chain is not that effective.


Concerning closing of entire sides (this has also relevance for KID, as on many occasions chain attacks go hand in hand with the inability of the opponent to break through on the other side of the board), below are 3 conditions for a fully closed side:

[d]6k1/5ppp/4p3/3pP3/p1pP1P2/PpP3P1/1P5P/6K1 w - - 0 1
The queen side is fully closed, all 4 a-d file pawns are blocked. The only white pawn on the 5th rank, e5, ensures clear advantage for white: +50-60cps additionally to other factors

[d]6k1/5ppp/4p3/1p1pP3/p1pP1P2/P1P3P1/1P5P/6K1 w - - 0 1
A side is fully closed also when one of the pawns on that side is backward-fated, like b2 and b5 respectively. You can not open the game there without sacrificing material worth at least a pawn. Same bonus for e5: 50-60cps. So a pair of backward-fated pawns qualifies for a closed file, thus you have in the present case 3 files with blocked pawns and one file with a pair of backward-fated pawns (do not laugh, Ralph, backward-fated pawns are very important for a good positional play, and Stockfish, along with most other engines, does not understand them) A pawn on b7 instead of b5 in the above diagram would also qualify for backward-fated.

[d]6k1/6pp/5p2/2p1pP2/ppPpP3/3P2P1/PP5P/6K1 w - - 0 1
The queen side is fully closed, i.e. 2 pairs of symmetrically placed pawns like a4,b4 and a2,b2 also qualify for closed files, as you can do nothing to prevent full closure. The only white pawn on the opposite king side that is gaining space on the 5th rank, f5, ensures white additional advantage of some 50-60cps.


Concerning knight blocking enemy passer positionally, please have a look at round 11 game of Graham's Don Dailey Tribute, where Houdini sacrifices an exchange to place an excellent blocking knight on d4. This knight is worth much additionally. I bet Stockfish does not see the exchange sacrifice.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: My Stockfish wish for 2014

Post by Lyudmil Tsvetkov »

Another thing that Stockfish is probably missing from its chain evaluation is bonus in terms of the length of the chain. Length of the pawn chain certainly matters, actually it is one of the most important variables. So if a chain of just 2 pawns gets standard bonus, a chain consisting of 3 pawns would deserve a bonus increased by 1.2, a chain of 4 pawns a bonus increased by 1.4, etc. This is very important.