What's new in Stockfish 7

Sort:
Nebber_Agin

This question was raised in the unrelated Arena 3.5 thread. The subject deserves a thread of its own.

Stockfish 6 was officially released on Jan 27 2015. Stockfish 7 was released on January 2 2016. What happened during the intervening year? The release notes on the official SF blog are just three terse lines:

- This release is around 60 ELO stronger than Stockfish 6 in self play.
- SMP algorithm has been changed from YBW to Lazy SMP.
- Gary Linscott is now officially listed as a co-author.

Of course, there have been a lot more under-the-hood changes that affected the engine's playing strength and performance. Here are the most important highlights, collected by trawling through nine pages of development logs on the abrok.eu site.

- King safety values tuned

- Skill level system simplified, ELO reduction on lower skill levels improved

- Hashtable usage percentage re-enabled

- Added bonus for pawn attack threats

- Added Pawn Center Bind Bonus - bonus for two pawns controlling the same central square

- Mobile phalanxes - SF will try to create mobile phalanxes

- Apex Pawns introduced. Pawns which are supported already have a bonus. Apex are pawns which are supported twice. Now they receive an additional 50% bonus

- Raise penalty for knight attacked by pawn

- New values for Mobility and Outposts

- Give a reduced bonus for threats by hanging pawns

- Support for playing in 'nodes as time' mode

- Restore deterministic search state. This means that searches started after using the "bench", "Clear Hash" or "New Game" commands will always produce the same results (at least on a single thread?)

- Chess960: check for rook color when setting castling

- Tweak backward pawns definition. Tune pawn shelter/storm. Tuned values for mid- and endgame passed pawns

- Fix syzygy en passant issue. SF now uses improved logic: if without e.p. capture SF is losing, and the value of e.p is either draw or win or "loss, but 50 move rule saves the game", then SF should use the value of e.p. capture.

- The endgame score is scaled by the number of pawns

- Refine ranks and increase resulting bonus

- Added bonus for checking moves

- Added file-based bonus for passed pawns

- Remove queen threat evaluation - threats by queen seem to be worthless

- Added Asymmetry bonus for the attacking side - use asymmetry in the position (king separation, pawn structure) to compute an "initiative bonus" for the attacking side

- Switch to Lazy SMP algorithm. Probably the most important change between v6 and v7. It improves scalability on machines with higher number of cores (8 and up?), with a side effect that the search tree is now wider.

As a consequence, SF7 will take longer to reach the same search depth as compared to SF6, since the new-algorithm search has to process up to 2-3 times as many positions (nodes). This is somewhat compensated by an increase in nodes-per-second (NPS) search speed (e.g., 3X the number of positions processed in only 2X the time)

Viewed from another angle, given a fixed search time SF7 will reach depth 3-4 iterations (plies) lower than SF6. This is offset somewhat by the possibility that SF7 may occasionally pick up some important moves that SF6 misses because of the latter's more narrow search; on the other hand in some positions the new release can take longer than SF6 to find the shortest forced mate (according to some of my tests).

- Bonus for reachable outpost - give a bonus for outpost squares which are within reach of a bishop or knight.

- New Threats weights. Raise the midgame threats weight by 37%.

- Fix MultiPv and Skill in SMP

- Simplify time management and fix 'ponder on' bug

- Fix easy move bug in SMP mode

- New piece mobility bonus

- Fixed the infinite loop bug in positions with very high score, e.g.

position fen 7k/QQQQR3/2B5/4KN1Q/3QQ3/8/8/4R3 b - - 0 1
go depth 1

 

Disclaimer: this is just a quick digest of SF development logs, containing only the most important entries as seen by someone with only rudimentary knowledge of chess engine programming. It hasn't been reviewed and approved by the SF development team, so there may be inaccuracies in my interpretation of some entries. For a complete list of changes go to Jan 27 2015 entry (currently on page 9) on the abrok.eu site above and work your way backwards.

Dynasty

TLDR:

-Stockfish 7 is around 60 elo higher than Stockfish 6 (when using 1-3 threads)

-Stockfish 7 can search positions faster than Stockfish 6 (higher nodes per second)

-Stockfish 7 will take longer to reach the same depth as Stockfish 6. However, Stockfish 7 will search 2-3 times the positions Stockfish 6 did.

EscherehcsE

Clearly, the person who writes the Stockfish blog is a man of few words. Smile

 

Believe it or not, this is what caught my eye in the OP's post:

- Skill level system simplified, ELO reduction on lower skill levels improved

Thumbs up!

GalaxKing

Cool! Thanks for posting this description of Stockfish 7.