Stockfish 16060715 - best chess engine

Stockfish - chess engines UCI

Previous version chess engine Stockfish 

Author compilation - 
Marco Costalba    

Information on the compilation:
Timestamp: 1465304786 

Fix syzygy DTZ bug 

In this position: 3K4/8/3k4/8/4p3/4B3/5P2/8 w - - 0 5 

Current DTZ probe returns 1 instead of 15 

What happens is that the double push f4 is erroneously detected as a win move. 

After the push we have: 

[D]3K4/8/3k4/8/4pP2/4B3/8/8 b - f3 0 5 

And here the code misses the possible ep capture exf3. 

The bug is in probe_dtz_no_ep() where is used probe_ab() that is 
blind to ep captures so it returns v == 2 (win) for position 

3K4/8/3k4/8/4pP2/4B3/8/8 b - f3 0 5 

Note that at the caller site the original position did not have any 
possible ep capture, so probe_dtz() returns immediately after calling 

The fix is to call the ep-aware probe_wdl() instead of probe_ab() 

I have verified that DTZ is correct now and also there are no more 
mistmatches compared to the new 'syzygy' branch. Tested on a set of 
more than 600 endgame positions, included some tricky ones. 

For people interested to redo the test or doing additional tests 
please pull branch tb_dbg from repo. 

bench: 8450534 (bench unaffected because syzygy is not exercized during bench)   


Popular posts from this blog