Changes

Jump to: navigation, search

Syzygy Bases

6,437 bytes added, 05:51, 28 September 2022
2020 ...
'''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 any existent [[Endgame Tablebases#DTM|DTM]] EGTBsEGTB. It is 7 times as small as Gaviota for 5 men, 8 times as small as Nalimov for 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 if keep them all, the Syzygy's 6 men size may increase 158 GB, become 307 GB in total, double on size, be 4 times as small as Nalimov 6 men.
=Generation=
==Up to 6-man==
On the first release (Apr 01, 2013) the generator was ready to generate all endgames up to 6 men. The generation It is multithreaded multithreading and processes completely in RAM. To generate all 6 men, it requires a system with at least 32 GB of RAM and may run in 5 days (the period was measured with a computer 6-core i3930K @ 4.2Ghz, 64 GB).
==7-man==
Ronald de Man wasn't initially interested in the 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> since the generation would require about 1 TB of RAM, too expensive at that time. 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=7396#p83338 Re: Syzygy tb generator for windows] by [[Ronald de Man|syzygy]], [[Computer Chess Forums|CCRL Discussion Board]], June 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>. ==8-man==After the completion of 7-man, many people start being curious about the feasibleness of building 8-man. Ronald de Man made an estimation that task requires computers with 64 TB RAM and 2000 TB hard disks<ref>[http://talkchess.com/forum3/viewtopic.php?f=2&t=74185&sid=016570559fa97e785404dd65020c0ad6&start=20#p848245 Re: What is the best way to obtain the 7-piece tablebases?] by [[Ronald de Man|syzygy]], [[CCC]], June 22, 2020</ref> (costed about $640K and $40K respectively in 2020 <ref>[http://talkchess.com/forum3/viewtopic.php?t=74185&start=30#p848394 Re: What is the best way to obtain the 7-piece tablebases?] by [[Dann Corbit]], [[CCC]], June 23, 2020</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=
* Hard to understand and contribute to the project. ETGB itself is a hard topic. Syzygy EGTB has also integrated with many 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 online such as FTP servers of [[Bojun Guo]] and [[Lichess]].
==DVD==
==Free Download==
There are some free FTP servers for downloading such as [[Bojun Guo]] and [[Lichess]] servers.
 
===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).
All 7 men files' size is over 16.7 TiB, over storages of typical modern computers. They also require a long time to download too. Thus some users choose to download one or a few endgames only, based on their statistics of use in endgames. Bellow is the top 20 of those endgames by their order. The first one, KRPPvKRP, has a significantly higher frequency of use than the others and should be always downloaded:
{| class="wikitable"|-! Rank! Name ! Rank! Name ! Rank! Name ! Rank! Name |-! 1) | style="text-align:right;" | KRPPvKRP ! 6| style="text-align:right;" | KNPPvKNP! 11| style="text-align:right;" | KBPPvKNP! 16| style="text-align:right;" | KRBPPvKR|-! 2) | style="text-align:right;" | KBPPvKBP ! 7| style="text-align:right;" | KNPPvKBP! 12| style="text-align:right;" | KRPPvKRB! 17| style="text-align:right;" | KBPPvKPP|-! 3) | style="text-align:right;" | KPPPvKPP ! 8 | style="text-align:right;" | KRBPvKRP! 13| style="text-align:right;" | KRPPvKPP! 18| style="text-align:right;" | KRPPPvKP|-! 4) | style="text-align:right;" | KRPPPvKR ! 9| style="text-align:right;" | KQPPvKPP! 14| style="text-align:right;" | KBPPvKRP! 19| style="text-align:right;" | KRBPvKRB|-! 5) | style="text-align:right;" | KQPPvKQP 6) KNPPvKNP 7) KNPPvKBP 8) KRBPvKRP 9) KQPPvKPP ! 10) | style="text-align:right;" | KQPPPvKP11) KBPPvKNP 12) KRPPvKRB 13) KRPPvKPP 14) KBPPvKRP ! 15) | style="text-align:right;" | KRNPvKRP 16) KRBPPvKR 17) KBPPvKPP 18) KRPPPvKP 19) KRBPvKRB ! 20) | style="text-align:right;" | KRPPvKRN|}
=Probe Code and Tools=
[[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;" | syzygy0
| 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=
For 6-piece TBs, DTZ is 81.9GB when storing only the smaller side of each table. Storing both sides might require perhaps 240GB.
[[Morgan Houppin]] explained why his chess engine [[Stash]] doesn't have Syzygy probe code, March 25, 2021 <ref>[http://talkchess.com/forum3/viewtopic.php?f=2&t=76927#p888045 Re: Stash has lost 2 game because of NO EGTB] by [[Morgan Houppin]], [[CCC]], March 25, 2021</ref> :
Syzygy probing is a hell of a mess, and I don't want to plug two thousand lines of foreign code that I don't understand, nor do I have the motivation to fully understand how Syzygy files are stored, and then write the additional two thousand lines of code to read them for a mere 5 Elo gain at TCEC.
=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://talkchess.com/forum3/viewtopic.php?f=2&t=74185 What is the best way to obtain the 7-piece tablebases?] by [[Mark Thellen]], [[CCC]], June 15, 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
'''2021'''
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=77267 Syzygy Tablebase Names: A very stupid exercise] by [[Andrew Grant]], [[CCC]], May 08, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=77358 syzygy implementation] by [[Michael Hoffmann|Desperado]], [[CCC]], May 23, 2021
* [http://talkchess.com/forum3/viewtopic.php?f=2&t=77400 When will 8 piece tablebase be ready?] by [[Agustin Jorge Pichardo]], [[CCC]], May 29, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=77499 Syzygy bases from memory] by [[Ed Schroder|Ed Schröder]], [[CCC]], June 16, 2021 » [[KPK]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=78080 Syzygy benefit for current SF] by [[Jouni]], [[CCC]], September 02, 2021
'''2022'''
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=79938 Definite occurance ranking of 7-Man EGTB] by [[Daniel Infuehr]], [[CCC]], May 24, 2022
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=80522 Fathom, munmap issue] by [[Pawel Osikowski]], [[CCC]], August 19, 2022
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=80608 Are tablebases useless for Stockfish15?] by [[Jouni]], [[CCC]], September 02, 2022
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=80696 endgame table generation] by [[Dave Gomboc]], [[CCC]], September 17, 2022
=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