Jean-Francois Romang compiled a binary and has the source on github (see earlier in this thread), but I don't think this is the latest version.Kirill Kryukov wrote:You mention Stockfish integration on your page, is the complete source or Windows binary of this engine available?
I recently created a github repository with the complete Stockfish source and integrated probing code:
https://github.com/syzygy1/Stockfish
It requires the setting of environment variables RTBWDIR and RTBZDIR with the paths to .rtbw and .rtbz files. I suppose it would be nicer if uci options were used instead.
The present version uses the WDL tables during the search. Once the game has reached a tablebase position, it uses the DTZ tables to select "good moves" (that preserve the win under the 50-move rule or preserve the draw or might convert a loss into a 50-move draw with suboptimal play from the opponent) and lets the engine do a search on those without acccessing the tables. The resulting game play is much nicer than when playing "DTZ-optimal". It also has a better chance of converting a draw into a win.
I do not exclude that some bugs are left, so if anyone tests this and has problems, just let me know.
The present version is not very suitable for simply probing the tables from the GUI to see if a position is a win or loss. Once you give the engine a tablebase position, it will do a search on the "good moves" and report a score found by searching. To solve this I could make an option to switch between DTZ-optimal play and the present approach, but it is not a very nice solution.
That is a good idea, but so far I'm not aware of any.Also, are you aware of any other engines that are able to use your tablebases? If yes, do you think it may be a good idea to list such engines on your TB homepage?