The Week in Chess

Monday, June 10, 2013

Houdini's Revenge - Eat Stockfish 130609 for Breakfast

It was already 2 weeks since the last Stockfish 130525 was tested. So, when some fixes appeared yesterday, June 9, 2013, I decided to test the last development version, even though aware that the release notes mentioned no functional change.

Here are the two 100 round test matches with Stockfish 130609 against 130525 and Houdini 3 Pro:

Stockfish 130609 x64 vs. Houdini 3 Pro x64 - Match 100R 1M1S
1Houdini 3 Pro x64 50.5/100· ·· ·· ··31-30-39 2499.75 
2Stockfish 130609 x6449.5/10030-31-39· ·· ·· ·· 2499.75 

Stockfish 130609 x64 vs. Stockfish 130525 x64 - Match 100R 1M1S
1Stockfish 130525 x6452.0/100· ·· ·· ··20-16-64 2496.00 
2Stockfish 130609 x6448.0/10016-20-64· ·· ·· ·· 2496.00 

Level: Blitz 1/1
Hardware: AMD Phenom(tm) II X4 945 Processor 3000 MHz with 4 GB Memory
Operating system: Microsoft Windows 7
Table created with: Arena 3.0

The latest development release Stockfish 130609 was defeated by the older release 130525 with 4 points and was also beaten by Houdini 3 Pro by 1 point. The previous Stockfish versions beat Houdini 3 several times in the last tests.

It is expected that a new version release will always be an improvement but this last release is clearly not according to expectations.  The authors published the updates with the confidence that the "no functional change" will not affect the strength.

One thing is unnerving: There is an update patch right after the last updates which fixed the fix. The regression escaped the attention of the authors.

Below is the release log of the updates made since May 25, 2013 including the last patch that fix the fix.

Author Date Timestamp Comments
Marco Costalba Sun Jun 9 23:36:46 2013 1370813806 Fix again early stop ss pointer. Fix was wrong because search starts from ss+1, code is a bit tricky here, so rewrite in a way to be more easy to read and understand.

Spotted by Eelco.

No functional change.
Marco Costalba Sun Jun 9 23:27:07 2013 1370813227 Don't need to expose namespace Zobrist.

It can be local to position.cpp.

No functional change.
Marco Costalba Sun Jun 9 13:54:38 2013 1370778878 Zobrist::init() should be Position::init()
Marco Costalba Sun Jun 9 13:10:21 2013 1370776221 Convert pieceSquareTable to 3 dimensions.

No functional change.
Marco Costalba Sun Jun 9 12:44:04 2013 1370774644 Introduce operator~(Piece c).

Small syntactic sugar to reverse piece color.

No functional change.
Marco Costalba Sun Jun 9 12:32:16 2013 1370773936 Retire psq_delta()

No functional change.
Marco Costalba Sun Jun 9 11:01:11 1370768471 Fix incorrect 'ss' pointer in early stop check

The exclusion search used to verify one move is much better than other shall be called with 'ss' and not 'ss+1'

No functional change.
Dariusz Orzechowski Sat Jun 8 11:01:28 2013 1370682088 Fix a typo (elaspsed to elapsed)

No functional change.
Marco Costalba Sat Jun 8 10:56:20 2013 1370681780 Fix search log when using skills

In case of we pick a sub-optimal move be sure to print this, and not the best one on seach log file.

Bug spotted by Guenther Demetz.

No functional change.
Marco Costalba Sat Jun 1 16:19:42 2013 1370096382 Fix a crash when 'go' multiple times
Search is started after setting a position and issuing UCI 'go' command. Then if we stop the search and call 'go' again without setting a new position it is assumed that the previous setup is preserved, but this is not the case because what happens is that
SetupStates is reset to NULL, leading to a crash as soon as RootPos.is_draw() is called because st->previous is now stale.

UCI protocol is not very clear about requiring that a position is setup always before launching a search, so here we easy the life of GUI developers assuming that the current state is preserved after returning
from a 'stop' command.

Bug reported by Gregor Cramer.

No functional change.
Marco Costalba Sat Jun 1 13:17:39 2013 1370085459 Assorted renaming in evaluation

And some reshuffle too.

No functional change.
jundery Fri May 31 09:17:48 2013 1369984668 Passed pawn tuning

A small number of tests with simulated
annealing at 15s indicated these values
may be better

And this is verified at long 60+0.05 TC
LLR: 2.95 (-2.94,2.94)
Total: 40658 W: 7821 L: 7501 D: 25336

bench: 4931544
Marco Costalba Mon May 27 17:43:38 2013 1369669418 Shrink engine UCI name

Some GUI have problems with long names.

Reported by George Speight.

No functional change.
Download test match games here.
Download Stockfish 130609 x64 here.


  1. Not very clear...does the Stockfish you tested have all the LATEST patches and fixes ?
    If so, I agree that Stockfish is regressing which is sad.
    In fact, I find that the Srockfish released on 31-05-2013 is the strongest !
    I too have found that all the Stockfish versions released in June are weaker than the May versions !!.....very sad :(


Chessdom News