The game is drawn because with the remaining material no sequence of legal moves can lead to checkmate.
Syzygy tablebases allow perfect play with up to 7 pieces, both with and without the fifty-move drawing rule, i.e., they allow winning all won positions and bringing all drawn positions over the fifty-move line.
The tables provide WDL50 and DTZ50′′ information. Forcing captures or pawn moves while keeping a win in hand ensures that progress is being made.
DTZ optimal play is not always the shortest way to mate (DTM) and can even look unintuitive: For example sometimes pieces can be sacrificed to reset the fifty-move counter as soon as possible. However, unlike DTM it achieves the best possible result even with the fifty-move rule.
6-piece tables were released by Ronald de Man in April 2013, including probing code and the generator.
From May to August 2018 Bojun Guo generated 7-piece tables. The 7-piece tablebase contains 423,836,835,667,331 unique legal positions in about 18 Terabytes.
If you want to use tablebases in a chess engine you certainly need a local copy.
Most of the time (during search) only WDL tables are used. Keep these on SSD storage if you can. DTZ tables are generally only used to finish the final phase of the game ("at the root").
Pieces | Tables | WDL | DTZ | Total |
---|---|---|---|---|
3-5 | 145 | 378.1 MiB | 560.9 MiB | 939.0 MiB |
6 | 365 | 67.8 GiB | 81.4 GiB | 149.2 GiB |
7 | 1001 | 8.5 TiB | 8.3 TiB | 16.7 TiB |
Generating the tablebases requires considerable computational resources. It is more efficient to download them from a mirror:
Host | Info | List |
---|---|---|
tablebase.sesse.net | http, EU | |
tablebase.lichess.ovh | http, https, EU |
Feedback via mail, bug reports and pull requests are welcome.