7-piece Syzygy tablebases are complete
Congratulations to Bojun Guo (aka noobpwnftw) and Ronald de Man (aka syzygy) for completing the first free 7-piece tablebase and generously sharing it with the world! Lichess now provides online access on the
What is DTZ?
DTZ means distance to zeroing of the counter for the 50-move drawing rule. Syzygy tablebases do not aim for the fastest way to mate, but rather for the fastest way to make a winning capture or pawn move or give mate. This can be a bit unintuitive, but it allows perfect play (with regard to outcome) even under the 50-move rule.
What did it take to generate the tables?
Bojun Guo (also one of the top contributors of computing power for Stockfish testing) started generating the first tables in May, expertly managing two machines, one of them with 384 threads (8x Intel Xeon Platinum 8168) and more than 1 TB of RAM (later distributed differently).
Effectively using a huge number of threads is difficult. You can read up on the technical discussion
Finding max_ply and reduce_ply #13
The generation looks fine so far, as for discussion, I wish to follow the previous memory bandwidth problem of mine, I have observed via "perf top" and these are hot-spots during
How large is the tablebase?
The number of unique legal 7-piece positions is 423,836,835,667,331. Syzygy tablebases store all their information in 18.4 TB, so at around 0.35 bits per position. This is much more compact than the proprietary 100 TB Lomonosov tablebases.
How to use Syzygy tablebases offline with Stockfish?
The tablebase comes in seperate tables, 2 files per material configuration.
WDL tables (*.rtbw) store the outcome of positions, e.g. if a position is winning. An engine will use this very frequently to decide which endgames to aim for. WDL tables should be stored on the fastest disk (preferably SSD) you have.
DTZ tables (*.rtbz) tell the engine how to finish the endgame once it is on the board. They are optional, but required to reliably convert complicated endings.
First check how much disk space you have or you want to use.