Changes

Jump to: navigation, search

Syzygy Bases

24 bytes added, 16:23, 19 April 2020
no edit summary
'''Syzygy Bases''', <ref>[http://www.talkchess.com/forum/viewtopic.php?t=47681&start=45 Re: New 6-piece tablebases] by [[Ronald de Man]], [[CCC]], April 10, 2013</ref><br/>
a compact six piece endgame database developed by [[Ronald de Man]], published on April 01, 2013. Since August 2018, '''seven piece''' Syzygy Bases are available after an effort by [[Bojun Guo]] started in March 2018 <ref>[http://talkchess.com/forum3/viewtopic.php?f=7&t=66797&start=472 Re: 7-men Syzygy attempt] by [[Bojun Guo]], [[CCC]], August 19, 2018 </ref>. The generator is released under the [[Free Software Foundation#GPL|GNU General Public License Version 2]], the [[Thread|thread safe]] probing code is released without restrictions <ref>[http://www.talkchess.com/forum/viewtopic.php?t=47681 New 6-piece tablebases] by [[Ronald de Man]], [[CCC]], April 01, 2013</ref> .
 
=Data=
==Comparision==
Syzygy EGTB is significantly smaller than all [[DTM]] EGTBs. It is 7 times as small as Gaviota for 5 men, 8 times as small as Nalimov for 7 men, 8 times as small as Lomonosov for 7 men. However, when all DTM EGTBs have full data of two sides, Syzygy EGTB omits data of one side for DTZ data to save space. [[Ronald de Man]] estimated that if keep them all, the Syzygy's 6 men may increase 158 GB, become 307 GB in total, double on size, 4 times as small as Nalimov 5 men.
 
=Generation=
==7-man==
Generation of 7-man tablebases would require about 1 TB of RAM. Generation time will be about 64 x per table, which means around 175 x time total <ref>[http://kirill-kryukov.com/chess/discussion-board/viewtopic.php?f=6&t=7396#p83338 Re: Syzygy tb generator for windows] by [[Ronald de Man|syzygy]], [[Computer Chess Forums|CCRL Discussion Board]], June 01, 2014</ref> . Ronald de Man wasn't initially interested in creation of 7-men Syzygy Based <ref>[http://kirill-kryukov.com/chess/discussion-board/viewtopic.php?f=6&t=7618#p83771 Re: 7-piece syzygy] by [[Ronald de Man|syzygy]], [[Computer Chess Forums|CCRL Discussion Board]], July 03, 2014</ref>. But in 2018, he supported [[Bojun Guo]] in his 5 month attempt to generated them <ref>[http://www.talkchess.com/forum/viewtopic.php?t=66797 7-men Syzygy attempt] by [[Bojun Guo]], [[CCC]], March 10, 2018</ref>. In August of 2018 their creation was completed<ref>[https://syzygy-tables.info/ Powered by Ronald de Man's Syzygy endgame tablebases, 7-piece tables generated by Bojun Guo and a public API hosted by lichess.org], August 19, 2018</ref><ref>[http://tablebase.lichess.ovh/tables/standard/7/ Index of /tables/standard/7/ on lichess], August 19, 2018</ref>.
 
==Checksums==
Syzygy endgame files may contain 128-bit checksum keys at the end of those files. It also has its own code for checksums (based on Google's cityhash library).
 
=Search=
 
==During the Search==
During the [[Search|search]], with the WDL tables stored on [https://en.wikipedia.org/wiki/Solid-state_drive SSD] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=47931&start=2 Re: SSD and the use of Tablebases] by [[Ronald de Man]], [[CCC]], May 08, 2013</ref> , it is possible to probe the tables at all [[Depth|depths]] without much slowdown. They have been tested in Ronald de Man's engine [[Sjaak]] (playing on [[FICS]] as TrojanKnight(C)) a couple of months quite successfully, don't probing in [[Quiescence Search|quiescence search]].
==At the Root==
At the [[Root|root]], since pure DTZ50-optimal play (i.e. minimaxing the number of moves to the next [[Captures|capture]] or [[Pawn Push|pawn move]] by either side) can be very unnatural, it might be desirable to let the engine search on the winning moves until it becomes clear that insufficient progress is being made and only then switch to DTZ-optimal play (e.g. by detecting [[Repetitions|repetitions]] and monitoring the [[Halfmove Clock|halfmove clock]]) <ref>[http://www.talkchess.com/forum/viewtopic.php?t=47681&start=8 Re: New 6-piece tablebases] by [[Ronald de Man]], [[CCC]], April 05, 2013</ref>.
 
=Quotes=
<span id="Fathom"></span>
 =Pros& Cons===Pros==
* Small sizes. It is about 8 times as small as the second-best EGTBs. Having small sizes is the main success key of Syzygy Bases since it helps to create, store and provide it much easier than other EGTBs
* Free and more popular (than other EGTBs) to find on the Internet
* Support [[Endgame Tablebases#DTZ50|DTZ50]] metric. That metric can help engines to have better results than [[Endgame Tablebases#DTM|DTM]] which is supported widely by other EGTBs
==Cons==
* Hard to integrate with chess engines. [[Ronald de Man]] has not provided probing code as an independent library. Instead, he provided it as a part of [[Stockfish]] chess engines. The code has integrated too deeply with that chess engine code and it requires a lot of effort to de-integrate. All make the reuse of the code for other chess engines become hard jobs
* Hard to understand and contribute to the project. ETGB itself is a hard topic. Syzygy EGTB has also integrated with many advance techniques/tricks. It is written in old-style C language. All make it become very hard to understand and/or modify to improve or for other purposes
* [[Endgame Tablebases#DTZ50|DTZ50]] metric may lead the engines to win in much longer ways, compared with [[Endgame Tablebases#DTM|DTM]] one
 
=Data publish=
===DVD===
As of February 2015, all 3-5 and most important 6-men Syzygy Bases are commercially available on 4 [https://en.wikipedia.org/wiki/DVD DVDs] by [[ChessBase]] as ''Endgame Turbo 4'' for their products [[Fritz|Deep Fritz 14]], [[Komodo#8|Komodo Chess 8]], [[Houdini|Houdini 4]] or [[ChessBase (Database)|ChessBase 12/13]] <ref>[http://shop.chessbase.com/en/products/endspiel_turbo_4 Endgame Turbo 4] by [[ChessBase]]</ref> <ref>[http://en.chessbase.com/post/syzygy-tablebases-newest-fastest-smallest Syzygy Tablebases: newest, fastest, smallest] by [[Albert Silver]], [[ChessBase|ChessBase News]], February 08, 2015</ref>.
 
==Free Download==
[[Ronald de Man]] has provided only open source code for generators/probers but not endgame files themselves. Using his tools some people have generated endgames and published them online via some servers such as FTP server of [[Bojun Guo]], [[Lichess]] server.
==Download==
===3-6 men===
The sizes of those men are small enough to download and store on modern computers. Users should download them in full sets (3, 4, 5, 6 men).
11) KBPPvKNP 12) KRPPvKRB 13) KRPPvKPP 14) KBPPvKRP 15) KRNPvKRP 16) KRBPPvKR 17) KBPPvKPP 18) KRPPPvKP 19) KRBPvKRB 20) KRPPvKRN
=Checksums=
Syzygy endgame files may contain 128-bit checksum keys at the end of those files. It also has its own code for checksums (based on Google's cityhash library).
=Probe Code and Tools=
==1) Stockfish==
[[Ronald de Man]] did not provide the probe code as an independent library. Instead, he published it firstly as an already integrated code for [[Stockfish]] chess engines. It is c++ code and it has been rewritten, updated several times by [[Stockfish]] team.
==2) Fathom==
'''Fathom''' is a stand-alone Syzygy based probing tool and [https://en.wikipedia.org/wiki/Application_programming_interface API] by [[Basil Falcinelli]], introduced in November 2015 along with his [[Gull|Gull 3]] release <ref>[http://www.talkchess.com/forum/viewtopic.php?t=58299 Gull 3 Linux+Syzygy and Fathom released] by [[Basil Falcinelli]], [[CCC]], November 20, 2015</ref> . Unlike the original tbprobe code, Fathom does not necessarily require the callee to provide [[Move Generation|move generation]] functionality. The new modifications and extensions to Ronald de Man's original code which can be "redistributed and/or modified without restrictions", are released under the permissive [[Massachusetts Institute of Technology#License|MIT License]]. The API consists of three functions <ref>[https://github.com/basil00/Fathom GitHub - basil00/Fathom: Syzygy TB probe tool] by [[Basil Falcinelli]]</ref> :

Navigation menu