Changes

Jump to: navigation, search

Syzygy Bases

3,122 bytes added, 20:13, 12 December 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 any [[Endgame Tablebases#DTM|DTM]] EGTBsEGTB. It is 7 times as small as Gaviota for 5 men, 8 times as small as Nalimov for 7 6 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 size may increase 158 GB, become 307 GB in total, double on size, 4 times as small as Nalimov 5 6 men. 
=Generation=
==Up to 6-man==
On the first release (Apr 0201, 2013) the generator was ready to generate all endgames up to 6 men. The generation is multithreaded and processed processes completely in RAM. To generate all 6 men, it requires a system with at least 32 GB of RAM and working may run in 5 days (the period was measured with a computer 6-core i3930K @ 4.2Ghz, 64 GB).
==7-man==
Generation Ronald de Man wasn't initially interested in the creation 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 men Syzygy Based <ref>[http://kirill-kryukov.com/chess/discussion-board/viewtopic.php?f=6&t=73967618#p83338 p83771 Re: Syzygy tb generator for windows7-piece syzygy] by [[Ronald de Man|syzygy]], [[Computer Chess Forums|CCRL Discussion Board]], June 01July 03, 2014</ref> since the generation would require about 1 TB of RAM, too expensive at that time. Ronald de Man wasn't initially interested in creation of 7-men Syzygy Based Generation time would 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=76187396#p83771 p83338 Re: 7-piece syzygySyzygy tb generator for windows] by [[Ronald de Man|syzygy]], [[Computer Chess Forums|CCRL Discussion Board]], July 03June 01, 2014</ref>.His original generator could not create them. 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>. His hardware was estimated at over US$ 90K. 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=
==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>.
 
=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 is much easier to create, store and , provide it much easier , download 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 but as a part of [[Stockfish]] chess engines. The probe 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 , modify and integrate with other chess engines become hard jobsprojects* Hard to understand and contribute to the project. ETGB itself is a hard topic. Syzygy EGTB has also integrated with many advance advanced 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 and ugly ways, compared with [[Endgame Tablebases#DTM|DTM]] one 
=Data publish=
[[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 via DVD or some servers such as FTP server of [[Bojun Guo]], [[Lichess]] serveronline.
==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==
There are some free FTP servers for downloading such as [[Bojun Guo]] and [[Lichess]] servers.
===3-6 men===
=Probe Code and Tools=
==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.
==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> :
* tb_init initializes the tablebase
[[Jon Dart]] has a fork of Fathom with some bug fixes and enhancements <ref>[https://github.com/jdart1/Fathom jdart1/Fathom · GitHub] by [[Jon Dart]]</ref>, also supporting 7-man <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70568 7-man Syzygy support in Fathom] by [[Jon Dart]], [[CCC]], April 23, 2019</ref>.
.
==Pyrrhic==
'''Pyrrhic''' is a cleaned up Fathom by [[Andrew Grant]], introduced in August 2020 <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=7&t=74809 Pyrrhic, Fathom for Humanoids] by [[Andrew Grant]], [[CCC]], August 16, 2020</ref> <ref>[https://github.com/AndyGrant/Pyrrhic/ GitHub - AndyGrant/Pyrrhic: Fathom, for Humanoids]</ref>.
 
=Elo gain=
[[Stockfish#Fishtest|Fishtest]] team revealed a test with [[Stockfish]] (SF10dev) at 10+0.1, with all Syzygy WDL files on RAM, testing using none(0), 4, 5, and 6 man TB in a round-robin tournament<ref>https://github.com/glinscott/fishtest/wiki/UsefulData Collection of useful data concerning SF</ref>.
 
{| class="wikitable"
|-
! Rank
! Name
! Elo
! +/-
! Games
! Score
! Draws
|-
! 1
| style="text-align:right;" | syzygy6
| style="text-align:right;" | 13
| style="text-align:right;" | 2
| style="text-align:right;" | 82591
| style="text-align:right;" | 51.8%
| style="text-align:right;" | 59.5%
|-
! 2
| style="text-align:right;" | syzygy5
| style="text-align:right;" | 2
| style="text-align:right;" | 2
| style="text-align:right;" | 82590
| style="text-align:right;" | 50.3%
| style="text-align:right;" | 59.4%
|-
! 3
| style="text-align:right;" | syzygy4
| style="text-align:right;" | -7
| style="text-align:right;" | 2
| style="text-align:right;" | 82591
| style="text-align:right;" | 49.0%
| style="text-align:right;" | 59.3%
|-
! 4
| style="text-align:right;" | syzygy4
| style="text-align:right;" | -7
| style="text-align:right;" | 2
| style="text-align:right;" | 82592
| style="text-align:right;" | 48.9%
| style="text-align:right;" | 59.4%
|}
=Quotes=
If the engine needs to know the DTZ value (which is only necessary when a TB root position has been reached), the probing code may have to do a 1-ply search to get to the "right" side of the DTZ table.
For 6-piece TBs, DTZ is 81.9GB when storing only the smaller side of each table. Storing both sides might require perhaps 240GB.
 
=Endgame News=
and further gives some news about early software bugs and glitches concerning [[ChessBase]] products, and the importance of [https://en.wikipedia.org/wiki/MD5 MD5] to check the EGT integrity.
<span id="Fathom"></span>
 
=See also=
* [http://www.talkchess.com/forum/viewtopic.php?t=60312&start=240 Natural TB (take 2)] by [[Marco Costalba]], [[CCC]], August 22, 2017 » [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65284 Probing tablebases through USB 3.0] by [[Jon Fredrik Åsvang]], [[CCC]], September 25, 2017 » [[Memory#USB3|USB 3.0]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65390 understanding DTZ] by [[Alexandru Mosoi]], [[CCC]], October 06, 2017 » [[Endgame Tablebases#DTZ|DTZ]], [[Syzygy Bases#Fathom|Fathom]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65713 Is there now coming changes to syzygy databases?] by [[Jouni Uski]], [[CCC]], November 13, 2017 » [[Endgame Tablebases#DTM|DTM]], [[CFish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=66096 How to Download Syzygy Endgame Tablebase Files] by Daniel Johnson, [[CCC]], December 23, 2017
: [http://talkchess.com/forum3/viewtopic.php?f=7&t=66797&start=472 Re: 7-men Syzygy attempt] by [[Bojun Guo]], [[CCC]], August 19, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=66830 Syzygy implementations of top engines] by [[Kai Laskos]], [[CCC]], March 14, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=67122 Probing the Syzygy tablebase - beginners question] by [[Andreas Matthies]], [[CCC]], April 16, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=67536 DTM50] by [[Ronald de Man]], [[CCC]], May 22, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=68236 Re-Pair compression questions] by [[Rein Halbersma]], [[CCC]], August 17, 2018
'''2019'''
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70074 Testing the implementation of Syzygy] by [[Vincent Tang]], [[CCC]], March 02, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70568 7-man Syzygy support in Fathom] by [[Jon Dart]], [[CCC]], April 23, 2019» [[#Fathom|Fathom]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71397 Simplest use of syzygy table] by [[Vivien Clauzon]], [[CCC]], July 28, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71512 SYZYGY question] by [[Robert Hyatt]], [[CCC]], August 11, 2019 » [[Crafty]], [[En passant]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71625 Syzygy 7 man advice please] by Barry Clements, [[CCC]], August 21, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71896 Syzygy DTZ data explaination?] by [[Pham Hong Nguyen|Nguyen Pham]], [[CCC]], September 23, 2019
 
==2020 ...==
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=73598 Almost perfect DTM tablebase] by [[Dann Corbit]], [[CCC]], April 08, 2020
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=74809 Pyrrhic, Fathom for Humanoids] by [[Andrew Grant]], [[CCC]], August 16, 2020 » [[#Pyrrhic|Pyrrhic]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75396 EGTB compression] by [[Dann Corbit]], [[CCC]], October 14, 2020 <ref>[https://en.wikipedia.org/wiki/LZ4_(compression_algorithm) LZ4 (compression algorithm) from Wikipedia]</ref> <ref>[https://en.wikipedia.org/wiki/Zstandard Zstandard from Wikipedia]</ref>
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=75487 Syzygy bases ... question to "Syzygy Probe Depth"] by [[Frank Quisinsky]], [[CCC]], October 21, 2020
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75906 Fathom and 7-men] by [[Joshua Shriver]], [[CCC]], November 24, 2020 » [[#Fathom|Fathom]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75973 Problem with Syzygy tablebase] by [[Elias Nilsson]], [[CCC]], December 03, 2020
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=76010 Can EGTB storage requirements be reduced using this scheme?] by mmt, [[CCC]], December 07, 2020
=External Links=
* [https://github.com/jdart1/Fathom jdart1/Fathom · GitHub] by [[Jon Dart]] (with some bug fixes and enhancements)
* [https://github.com/ljgw/syzygy-bridge GitHub - ljgw/syzygy-bridge: Java bridge to use the Syzygy Tablebases via JNI] by [[Laurens Winkelhagen]] » [[FrankWalter]]
==Pyrrhic==
* [https://github.com/AndyGrant/Pyrrhic/ GitHub - AndyGrant/Pyrrhic: Fathom, for Humanoids] by [[Andrew Grant]]
==Online Lookup==
* [https://www.chessdb.cn/queryc_en/ Chess Cloud Database Query Interface] by [[Bojun Guo|noobpwnftw]] <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71764 ChessDBCN] by [[Bojun Guo|noobpwnftw]], [[CCC]], September 09, 2019</ref>
* [https://syzygy-tables.info/ Syzygy endgame tablebases Web Interface]
==ChessBase==
* [https://en.wikipedia.org/wiki/Syzygy_%28mathematics%29 Syzygy (mathematics) from Wikipedia]
* [https://en.wikipedia.org/wiki/Caledonian_Antisyzygy Caledonian Antisyzygy from Wikipedia]
* [[:Category:Michael Brecker|Michael Brecker Band]] - [https://en.wikipedia.org/wiki/Michael_Brecker_(album) Syzygy], August 16[https://www.bjd.sk/archiv-1979-2001#1987 BJD 1987], 1987 at [https://en.wikipedia.org/wiki/Newport_Jazz_Festival Newport Jazz FestivalBratislava Bratislava], [https://en.wikipedia.org/wiki/YouTube YouTube] VideoVideos: [[:Category:Michael Brecker|Michael Brecker]], [[:Category:Mike Stern|Mike Stern]], [https://de-de.facebook.com/JeffAndrewsBassPage/ Jeff Andrews], [https[:Category://en.wikipedia.org/wiki/Adam_Nussbaum Adam Nussbaum|Adam Nussbaum]], [https://en.wikipedia.org/wiki/Joey_Calderazzo Joey Calderazzo]: {{#evu:https://www.youtube.com/watch?v=lgVxFM7cONQcU9aDLOG89o|alignment=left|valignment=top}}: {{#evu:https://www.youtube.com/watch?v=BUcz1YD0Nr8|alignment=left|valignment=top}}
=References=
[[Category:Quotes]]
[[Category:Michael Brecker]]
[[Category:Adam Nussbaum]]
[[Category:Mike Stern]]

Navigation menu