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.
Many chess enthusiasts would like to do 6-men endgame analysis,but no one wants to host 1 TB of files for download.So we have to help ourselves.This page is an attempt to organize a persistent online availability of the whole set of Nalimov 6-men tablebases.This project depends solely on chess lovers community,it's up to us to choose if we will download any tablebases for free,or if we will have to buy them on DVD from Chessbase etc..
Tablebase files are big and anything can happen while you download, copy or keep them.You should always check their integrity after you downloaded new files,and also before sharing new tablebases.You can either check them using md5sum program and *.md5 files from this page,or with Wilhelm program.If you prefer Wilhelm be sure to use the latest version - 1.50,as earlier versions may incorrectly report corrupted files.Aaron's FAQ also has detailed explanation.
Caution! A number of people seem to have corrupted files now, for various bases.I can tell because when I search in eMule for the bases that I have, I see not only the linksto the same files, but also links to the files with same names and same size, but with different hash.I urge everyone to re-check the tablebases before sharing any new files,and after you downloaded a new files too.
Several members of this community volanteered to host some of the 6-men tablebasesfor those who can't use eMule for some reason. Servers known to me are listed here.(Please let me know if you know other servers, or if one of the listed servers is dead).
Following people contributed to this project by sharing their tablebases, sending links, making suggestions,and active discussion (in no particular order):Dan Wulff, A. Steen, Chuck Wilson, Joachim Rang, Sarah Bird,Alberto Gueci, Vincent Diepeveen, Thomas Mayer, Richard Pijl,Renze Steenhuisen,Gordon Evans, Nelson Hernandez,Keith Ian Price, Wilfried Eberl,Guy Haworth,Rafael Andrist, Eiko Bleicher,Ryan Hirst, Marc Bourzutschky, Joshua Shriver,Thomas Scherk, John Kominek, Norm Pruitt/PAKman.
Nalimov Tablebases,are 3-to-6-man endgame tablebases developed by Eugene Nalimov, providing depth to mate information. First published for up to 5-man in late 1998, 6-man files were released subsequently over the years and 6-man chess was finally solved in 2005 . Nalimov Tablebases apply a more efficient indexing scheme than previous tablebases, and were further compressed into 8 KiB blocks exploiting common subsequences and Huffman coding as contributed by Andrew Kadatch, doing less file I/O which gets replaced by fast on-the-fly decompression . This allows fast probing not only at the root, but during the search inside the tree , further utilized by an own LRU cache despite keeping TB files in the page cache by the operating system. For endgames with pawns of both sides, the TBs consider en passant with disjoint index ranges .
Access to the tablebases improves the playing strength of the program in the endgame considerably. Whenever it hits on one of the five-piece endings in the search, it can stop and get a completely accurate assessment of the position from the tablebases. It does not have to generate thousands of follow-up positions. But, accessing the tablebases is quite slow (in comparison to the move generation and evaluation). You can speed things up by copying the tablebases onto your hard disk.
Most of you probably have the Gaviota or the Nalimov endgame tablebases (or both) installed with your favorite GUI.You probably have the 3-4-5 bases installed and possibly some of the more common 6-piece endgame tablebases installed too.Now and then you should double-check to make sure the engine and GUI and the bases are working as desired. (At times, something might get out of whack, with your programs or folder structure or whatever, and if so the bases might won't work at all, and you might not even know it.)Here's a position to test to see if everything is working correctly. Enter this position in your favorite GUI, and then fire up your favorite engine. (This assumes your favorite engine supports tablebases.)Your engine should report a mate in 95 INSTANTLY, begining with 1.Nd3. The engine won't evaluate the position at all. Note that White only has two winning moves. 1. Nd3, with a mate in 95, and 1. Nd1, for a mate in 96. All other moves draw with correct play by Black.Interestingly enough, Black will Queen his h-pawn... but White delivers mate on the next move.
You might also want to check all of the tablebase files to ensure that none of them are corrupt. I used to worry when I copied the tablebase files to a new location that maybe not all of the files got copied 100% perfectly. At one time I used the Wilhelm chess program to check the integrity of the tablebase files, but I think I've figured out a simpler, better way.I obtained the MD5 hash file for the tablebase files (usually also available from the tablebase download site), and I also obtained a copy of the freeware program named Md5Checker. There's no installer for this program; It's a portable, standalone executable. (Link: ) I simply added the tablebase MD5 hash file and the Md5Checker.exe executable to the folder containing the tablebase files.Now, any time I copy or move the tablebase file folder, the Md5Checker files also get copied. (You can leave these files in the tablebase folder permanently; They don't interfere with the operation of the tablebases.) Then all I have to do after copying the tablebase files is to start up the Md5Checker program and quickly check the files against the hash file. It only takes about a minute to do this check.
Because the amount of storage goes up exponentially with each extra piece, tablebases are currently limited to 6-men endgames (that is positions with six or fewer pieces or pawns on the board including the kings) and most people only use up to 5-men tablebses since the 6-men files are huge. The approximate size of the tablebases are:
The most common tablebase format in current use by chess programs is called the Nalimov format, after its creator Eugene Nalimov. Nalimov tablebases are very compact but fast to access. They contain distance-to-mate information for each position. ChessDB can use all Nalimov tablebases up to five men, such as KRPKR (King, Rook and Pawn versus King and Rook) for example. It can not currently use 6-piece ones, but this might change - it depends on how much work would be needed to add support for 6-piece tablebases.
Nalimov tablebase format files have the extension \".emd\". Actually they will end with the suffix \"nbw.emd\" for White-to-move tablebases, and \"nbb.emd\" for Black-to-move tablebases. It pays to have both the White to move and Black to move tablebase for a particular material constellation (e.g. \"krpkr.nbw.emd\" and \"krpkr.nbb.emd\") for complete information whichever side is to move.
You may find a Nalimov tablebase file with the suffix \".nbw\" or \".nbb\" with no \".emd\". This is an uncompressed tablebase, which is usually huge compared to its compressed (.emd) equivalent. It is far better to get the compressed tablebases, since they are much smaller and just as fast to access.
Nalimov tablebases are available for downloading at the Crafty FTP site, in the directory -4-5/ It's also possible to buy them from Chessbase or you can generate them yourself, but it is very CPU intensive task, requiring losts of RAM.
Once you have a directory (or 2 or 3) of tablebase files, you need to inform ChessDB which directories to look in for tablebases when the application starts. To do this, select Tablebase Directory... from the Options menu in the ChessDB main window.
The Tablebase Wwindow has two main parts. The summary frame (on the left) showswhich tablebases ChessDB found on your computer and a summary for eachtablebase. The results frame (on the right) shows optimal results forall moves from the current position displayed in the main window.
The top part of the summary frame lets you select a particulartablebase. Those you have available are shown in blue and unavailabletablebases are shown in gray, but you can select any tablebase.The lower part of the summary frame shows summary information for theselected tablebase. (Not all tablebases have a summary recorded inChessDB yet.)
For some tablebases with mutual zugzwangs, the summary also includesa list of all of the zugwang positions or a selection of them. A fulllist for every tablebase is not feasible since some tablebases havethousands of mutual zugzwangs.
If the engine is searching a position that is not in the tablebases (e.g.a position with 8 pieces), it will access the tablebases during the search.If the engine reports a very large score (typically 153.xx), this meansit has found a winning line into a tablebase position.
If the engine is given a position to search that is in the tablebases, itwill use the tablebases at the beginning of the search to preselect allgood moves, i.e. all moves that preserve the win or preserve the draw whiletaking into account the 50-move rule.It will then perform a search only on those moves. The engine will not moveimmediately, unless there is only a single good move. The engine likelywill not report a mate score, even if the position is known to be won.
It is therefore clear that this behaviour is not identical to what one mightbe used to with Nalimov tablebases. There are technical reasons for thisdifference, the main technical reason being that Nalimov tablebases use theDTM metric (distance-to-mate), while the Syzygy tablebases use a variation of theDTZ metric (distance-to-zero, zero meaning any move that resets the 50-movecounter). This special metric is one of the reasons that the Syzygy tablebases aremore compact than Nalimov tablebases, while still storing all informationneeded for optimal play and in addition being able to take into accountthe 50-move rule. 153554b96e