Syzygy implementations of top engines

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

petero2
Posts: 684
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Syzygy implementations of top engines

Post by petero2 »

Laskos wrote:The ideal play exhibited by Texel 1.07 + Syzygy-5-men + Gaviota-5-men shows average length to Mate of 47.80 moves. I will now post a table of "efficiency" or "length to Mate" of top engines enabled with Syzygy-5-men. The time control is 1 second per move on these 225 hard 5-men Wins.

Code: Select all

Engine                      Moves to Mate
------------------------------------------
Ideal play                      47.80

Houdini 6.03                    59.43
Stockfish 9 (Ronald patch)      63.71
Komodo 11.2.2                   64.57
Stockfish 8                     68.25
------------------------------------------
I think that even if Texel's TB probing strategy is ideal, the result is not ideal because it also depends on how efficient the regular search is. I think that if texel's TB probing strategy was implemented in stockfish, it would likely get lower than 47.80 moves to mate on average for this test suite.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Syzygy implementations of top engines

Post by Laskos »

petero2 wrote:
Laskos wrote:The ideal play exhibited by Texel 1.07 + Syzygy-5-men + Gaviota-5-men shows average length to Mate of 47.80 moves. I will now post a table of "efficiency" or "length to Mate" of top engines enabled with Syzygy-5-men. The time control is 1 second per move on these 225 hard 5-men Wins.

Code: Select all

Engine                      Moves to Mate
------------------------------------------
Ideal play                      47.80

Houdini 6.03                    59.43
Stockfish 9 (Ronald patch)      63.71
Komodo 11.2.2                   64.57
Stockfish 8                     68.25
------------------------------------------
I think that even if Texel's TB probing strategy is ideal, the result is not ideal because it also depends on how efficient the regular search is. I think that if texel's TB probing strategy was implemented in stockfish, it would likely get lower than 47.80 moves to mate on average for this test suite.
Ok, I thought that having 5-men DTZ50 and DTM can give perfect (shortest) play on 5-men at root wins. Well, if it depends on the search, then you are surely right, and I should have replaced "Ideal play" with "Texel probing play".
petero2
Posts: 684
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Syzygy implementations of top engines

Post by petero2 »

Laskos wrote:
petero2 wrote:I think that even if Texel's TB probing strategy is ideal, the result is not ideal because it also depends on how efficient the regular search is. I think that if texel's TB probing strategy was implemented in stockfish, it would likely get lower than 47.80 moves to mate on average for this test suite.
Ok, I thought that having 5-men DTZ50 and DTM can give perfect (shortest) play on 5-men at root wins. Well, if it depends on the search, then you are surely right, and I should have replaced "Ideal play" with "Texel probing play".
It certainly can happen, but I don't know if it actually did happen in your test. You could try letting texel search some of the hardest positions for significantly longer than 1 second to see if it finds shorter mates than it did after 1 second.

The problematic case happens when DTZ50 < 100ply but DTM > 100ply. Following DTZ50 blindly could lead to an unnecessary long path to mate, and following DTM blindly could lead to a draw by the 50-move rule. In these cases search is needed to find the best "mix" of the two strategies, and you could potentially need a very deep search to find the DTM50 optimal strategy.
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: Syzygy implementations of top engines

Post by Nordlandia »

Kai Laskos: DTM50 give shortest mates + enforcing 50-move rule. Unfortunately DTM50 increase size enormously.

5-men DTM50 ~ 100 GB | Who want to allocate so much SSD space for 5-men bases?
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Syzygy implementations of top engines

Post by Dann Corbit »

Nordlandia wrote:Kai Laskos: DTM50 give shortest mates + enforcing 50-move rule. Unfortunately DTM50 increase size enormously.

5-men DTM50 ~ 100 GB | Who want to allocate so much SSD space for 5-men bases?
You can buy a 2 TB SSD for about $360. In ten years, it will be 2 PB for $360 (give or take).

Within 10 years I hope to have the syzygy 7 man DTM files built and operational on SSD. I guess it will be something like a NAS motherboard with a big mess of m.2 gumstick SSDs.

I just bought some of these:
https://serverpartdeals.com/micron-mtfd ... 06EALw_wcB

Cheap at twice the price.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
petero2
Posts: 684
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Syzygy implementations of top engines

Post by petero2 »

Nordlandia wrote:5-men DTM50 ~ 100 GB | Who want to allocate so much SSD space for 5-men bases?
I don't know if someone has made a serious attempt at creating a good compression scheme for DTM50 tables. It seems you could get really good compression by predicting that the value for hmc+1 is the same as for hmc and only encode the deviations.

Also for short mates there could be a lot of "don't care" values in the table. For example if a position is mate in 10 at hmc=0, you know that it is mate in 10 for all hmc<80, so all those positions can be represented by a "don't care" value in the tables.

Similarly for draws. If a position is drawn at hmc=0, it is also drawn for all hmc>0 so all those values can be represented by "don't care" values.
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: Syzygy implementations of top engines

Post by Nordlandia »

Peter Österlund: better ask Ronald about compression improvement for DTM50 but he said about 100 times larger than regular 5-man bases.

Link: http://galen.metapath.org/egtb50/
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Syzygy implementations of top engines

Post by Laskos »

petero2 wrote:
Laskos wrote:
petero2 wrote:I think that even if Texel's TB probing strategy is ideal, the result is not ideal because it also depends on how efficient the regular search is. I think that if texel's TB probing strategy was implemented in stockfish, it would likely get lower than 47.80 moves to mate on average for this test suite.
Ok, I thought that having 5-men DTZ50 and DTM can give perfect (shortest) play on 5-men at root wins. Well, if it depends on the search, then you are surely right, and I should have replaced "Ideal play" with "Texel probing play".
It certainly can happen, but I don't know if it actually did happen in your test. You could try letting texel search some of the hardest positions for significantly longer than 1 second to see if it finds shorter mates than it did after 1 second.

The problematic case happens when DTZ50 < 100ply but DTM > 100ply. Following DTZ50 blindly could lead to an unnecessary long path to mate, and following DTM blindly could lead to a draw by the 50-move rule. In these cases search is needed to find the best "mix" of the two strategies, and you could potentially need a very deep search to find the DTM50 optimal strategy.
I tested at 5s/move, but the average came a bit larger, 47.96 moves compared to 47.80 moves at 1s/move on these 225 positions.

Here are the number of position and the length in moves to Mate, they are different quite often form 1s to 5s, but the average on 225 positions is very close.

187 identical lengths
38 different lengths

Code: Select all

1s / move

&#123;&#123;1, 56&#125;, &#123;2, 81&#125;, &#123;3, 50&#125;, &#123;4, 47&#125;, &#123;5, 43&#125;, &#123;6, 42&#125;, &#123;7, 41&#125;, &#123;8, 
  40&#125;, &#123;9, 96&#125;, &#123;10, 62&#125;, &#123;11, 55&#125;, &#123;12, 86&#125;, &#123;13, 67&#125;, &#123;14, 59&#125;, &#123;15,
   49&#125;, &#123;16, 48&#125;, &#123;17, 54&#125;, &#123;18, 46&#125;, &#123;19, 53&#125;, &#123;20, 52&#125;, &#123;21, 
  51&#125;, &#123;22, 50&#125;, &#123;23, 49&#125;, &#123;24, 48&#125;, &#123;25, 44&#125;, &#123;26, 40&#125;, &#123;27, 
  46&#125;, &#123;28, 45&#125;, &#123;29, 44&#125;, &#123;30, 43&#125;, &#123;31, 49&#125;, &#123;32, 48&#125;, &#123;33, 
  47&#125;, &#123;34, 47&#125;, &#123;35, 47&#125;, &#123;36, 48&#125;, &#123;37, 47&#125;, &#123;38, 47&#125;, &#123;39, 
  48&#125;, &#123;40, 48&#125;, &#123;41, 47&#125;, &#123;42, 48&#125;, &#123;43, 48&#125;, &#123;44, 43&#125;, &#123;45, 
  44&#125;, &#123;46, 43&#125;, &#123;47, 44&#125;, &#123;48, 44&#125;, &#123;49, 44&#125;, &#123;50, 44&#125;, &#123;51, 
  43&#125;, &#123;52, 42&#125;, &#123;53, 41&#125;, &#123;54, 41&#125;, &#123;55, 42&#125;, &#123;56, 23&#125;, &#123;57, 
  50&#125;, &#123;58, 49&#125;, &#123;59, 45&#125;, &#123;60, 44&#125;, &#123;61, 45&#125;, &#123;62, 46&#125;, &#123;63, 
  47&#125;, &#123;64, 46&#125;, &#123;65, 45&#125;, &#123;66, 44&#125;, &#123;67, 42&#125;, &#123;68, 41&#125;, &#123;69, 
  40&#125;, &#123;70, 53&#125;, &#123;71, 52&#125;, &#123;72, 40&#125;, &#123;73, 47&#125;, &#123;74, 48&#125;, &#123;75, 
  49&#125;, &#123;76, 49&#125;, &#123;77, 48&#125;, &#123;78, 48&#125;, &#123;79, 49&#125;, &#123;80, 49&#125;, &#123;81, 
  49&#125;, &#123;82, 49&#125;, &#123;83, 49&#125;, &#123;84, 49&#125;, &#123;85, 48&#125;, &#123;86, 47&#125;, &#123;87, 
  46&#125;, &#123;88, 47&#125;, &#123;89, 45&#125;, &#123;90, 44&#125;, &#123;91, 43&#125;, &#123;92, 42&#125;, &#123;93, 
  40&#125;, &#123;94, 41&#125;, &#123;95, 40&#125;, &#123;96, 49&#125;, &#123;97, 49&#125;, &#123;98, 48&#125;, &#123;99, 
  47&#125;, &#123;100, 43&#125;, &#123;101, 49&#125;, &#123;102, 46&#125;, &#123;103, 52&#125;, &#123;104, 52&#125;, &#123;105, 
  53&#125;, &#123;106, 62&#125;, &#123;107, 74&#125;, &#123;108, 45&#125;, &#123;109, 62&#125;, &#123;110, 65&#125;, &#123;111, 
  59&#125;, &#123;112, 48&#125;, &#123;113, 47&#125;, &#123;114, 43&#125;, &#123;115, 41&#125;, &#123;116, 40&#125;, &#123;117, 
  40&#125;, &#123;118, 40&#125;, &#123;119, 59&#125;, &#123;120, 63&#125;, &#123;121, 58&#125;, &#123;122, 75&#125;, &#123;123, 
  41&#125;, &#123;124, 40&#125;, &#123;125, 41&#125;, &#123;126, 40&#125;, &#123;127, 36&#125;, &#123;128, 32&#125;, &#123;129, 
  31&#125;, &#123;130, 30&#125;, &#123;131, 49&#125;, &#123;132, 48&#125;, &#123;133, 47&#125;, &#123;134, 46&#125;, &#123;135, 
  47&#125;, &#123;136, 44&#125;, &#123;137, 42&#125;, &#123;138, 43&#125;, &#123;139, 54&#125;, &#123;140, 53&#125;, &#123;141, 
  45&#125;, &#123;142, 58&#125;, &#123;143, 55&#125;, &#123;144, 50&#125;, &#123;145, 49&#125;, &#123;146, 48&#125;, &#123;147, 
  63&#125;, &#123;148, 43&#125;, &#123;149, 42&#125;, &#123;150, 40&#125;, &#123;151, 41&#125;, &#123;152, 40&#125;, &#123;153, 
  60&#125;, &#123;154, 59&#125;, &#123;155, 53&#125;, &#123;156, 51&#125;, &#123;157, 50&#125;, &#123;158, 45&#125;, &#123;159, 
  48&#125;, &#123;160, 42&#125;, &#123;161, 41&#125;, &#123;162, 41&#125;, &#123;163, 40&#125;, &#123;164, 43&#125;, &#123;165, 
  50&#125;, &#123;166, 49&#125;, &#123;167, 51&#125;, &#123;168, 65&#125;, &#123;169, 55&#125;, &#123;170, 60&#125;, &#123;171, 
  41&#125;, &#123;172, 40&#125;, &#123;173, 41&#125;, &#123;174, 40&#125;, &#123;175, 47&#125;, &#123;176, 47&#125;, &#123;177, 
  42&#125;, &#123;178, 43&#125;, &#123;179, 44&#125;, &#123;180, 47&#125;, &#123;181, 46&#125;, &#123;182, 47&#125;, &#123;183, 
  46&#125;, &#123;184, 45&#125;, &#123;185, 44&#125;, &#123;186, 43&#125;, &#123;187, 42&#125;, &#123;188, 42&#125;, &#123;189, 
  41&#125;, &#123;190, 40&#125;, &#123;191, 43&#125;, &#123;192, 42&#125;, &#123;193, 41&#125;, &#123;194, 42&#125;, &#123;195, 
  41&#125;, &#123;196, 40&#125;, &#123;197, 41&#125;, &#123;198, 40&#125;, &#123;199, 58&#125;, &#123;200, 57&#125;, &#123;201, 
  51&#125;, &#123;202, 50&#125;, &#123;203, 49&#125;, &#123;204, 48&#125;, &#123;205, 46&#125;, &#123;206, 48&#125;, &#123;207, 
  41&#125;, &#123;208, 40&#125;, &#123;209, 41&#125;, &#123;210, 40&#125;, &#123;211, 89&#125;, &#123;212, 46&#125;, &#123;213, 
  44&#125;, &#123;214, 42&#125;, &#123;215, 41&#125;, &#123;216, 40&#125;, &#123;217, 62&#125;, &#123;218, 61&#125;, &#123;219, 
  62&#125;, &#123;220, 42&#125;, &#123;221, 40&#125;, &#123;222, 42&#125;, &#123;223, 77&#125;, &#123;224, 59&#125;, &#123;225, 
  51&#125;&#125;




5s / move

&#123;&#123;1, 51&#125;, &#123;2, 74&#125;, &#123;3, 50&#125;, &#123;4, 47&#125;, &#123;5, 43&#125;, &#123;6, 42&#125;, &#123;7, 41&#125;, &#123;8, 
  40&#125;, &#123;9, 88&#125;, &#123;10, 62&#125;, &#123;11, 52&#125;, &#123;12, 77&#125;, &#123;13, 71&#125;, &#123;14, 77&#125;, &#123;15,
   49&#125;, &#123;16, 48&#125;, &#123;17, 53&#125;, &#123;18, 46&#125;, &#123;19, 53&#125;, &#123;20, 52&#125;, &#123;21, 
  51&#125;, &#123;22, 50&#125;, &#123;23, 49&#125;, &#123;24, 48&#125;, &#123;25, 44&#125;, &#123;26, 40&#125;, &#123;27, 
  46&#125;, &#123;28, 45&#125;, &#123;29, 44&#125;, &#123;30, 43&#125;, &#123;31, 49&#125;, &#123;32, 48&#125;, &#123;33, 
  47&#125;, &#123;34, 47&#125;, &#123;35, 47&#125;, &#123;36, 48&#125;, &#123;37, 47&#125;, &#123;38, 47&#125;, &#123;39, 
  48&#125;, &#123;40, 48&#125;, &#123;41, 47&#125;, &#123;42, 48&#125;, &#123;43, 48&#125;, &#123;44, 43&#125;, &#123;45, 
  44&#125;, &#123;46, 43&#125;, &#123;47, 44&#125;, &#123;48, 44&#125;, &#123;49, 44&#125;, &#123;50, 44&#125;, &#123;51, 
  43&#125;, &#123;52, 42&#125;, &#123;53, 41&#125;, &#123;54, 41&#125;, &#123;55, 42&#125;, &#123;56, 23&#125;, &#123;57, 
  50&#125;, &#123;58, 49&#125;, &#123;59, 45&#125;, &#123;60, 44&#125;, &#123;61, 45&#125;, &#123;62, 46&#125;, &#123;63, 
  47&#125;, &#123;64, 46&#125;, &#123;65, 45&#125;, &#123;66, 44&#125;, &#123;67, 42&#125;, &#123;68, 41&#125;, &#123;69, 
  40&#125;, &#123;70, 53&#125;, &#123;71, 52&#125;, &#123;72, 40&#125;, &#123;73, 47&#125;, &#123;74, 48&#125;, &#123;75, 
  49&#125;, &#123;76, 49&#125;, &#123;77, 48&#125;, &#123;78, 48&#125;, &#123;79, 49&#125;, &#123;80, 49&#125;, &#123;81, 
  49&#125;, &#123;82, 49&#125;, &#123;83, 49&#125;, &#123;84, 49&#125;, &#123;85, 48&#125;, &#123;86, 47&#125;, &#123;87, 
  46&#125;, &#123;88, 47&#125;, &#123;89, 45&#125;, &#123;90, 44&#125;, &#123;91, 43&#125;, &#123;92, 42&#125;, &#123;93, 
  40&#125;, &#123;94, 41&#125;, &#123;95, 40&#125;, &#123;96, 49&#125;, &#123;97, 49&#125;, &#123;98, 48&#125;, &#123;99, 
  47&#125;, &#123;100, 43&#125;, &#123;101, 49&#125;, &#123;102, 46&#125;, &#123;103, 59&#125;, &#123;104, 58&#125;, &#123;105, 
  54&#125;, &#123;106, 65&#125;, &#123;107, 77&#125;, &#123;108, 45&#125;, &#123;109, 54&#125;, &#123;110, 62&#125;, &#123;111, 
  65&#125;, &#123;112, 48&#125;, &#123;113, 47&#125;, &#123;114, 43&#125;, &#123;115, 41&#125;, &#123;116, 40&#125;, &#123;117, 
  40&#125;, &#123;118, 40&#125;, &#123;119, 58&#125;, &#123;120, 63&#125;, &#123;121, 61&#125;, &#123;122, 71&#125;, &#123;123, 
  41&#125;, &#123;124, 40&#125;, &#123;125, 41&#125;, &#123;126, 40&#125;, &#123;127, 36&#125;, &#123;128, 32&#125;, &#123;129, 
  31&#125;, &#123;130, 30&#125;, &#123;131, 49&#125;, &#123;132, 48&#125;, &#123;133, 47&#125;, &#123;134, 46&#125;, &#123;135, 
  47&#125;, &#123;136, 44&#125;, &#123;137, 42&#125;, &#123;138, 43&#125;, &#123;139, 57&#125;, &#123;140, 56&#125;, &#123;141, 
  45&#125;, &#123;142, 56&#125;, &#123;143, 61&#125;, &#123;144, 50&#125;, &#123;145, 49&#125;, &#123;146, 48&#125;, &#123;147, 
  64&#125;, &#123;148, 43&#125;, &#123;149, 42&#125;, &#123;150, 40&#125;, &#123;151, 41&#125;, &#123;152, 40&#125;, &#123;153, 
  54&#125;, &#123;154, 59&#125;, &#123;155, 74&#125;, &#123;156, 78&#125;, &#123;157, 50&#125;, &#123;158, 45&#125;, &#123;159, 
  48&#125;, &#123;160, 42&#125;, &#123;161, 41&#125;, &#123;162, 41&#125;, &#123;163, 40&#125;, &#123;164, 43&#125;, &#123;165, 
  50&#125;, &#123;166, 49&#125;, &#123;167, 51&#125;, &#123;168, 60&#125;, &#123;169, 58&#125;, &#123;170, 62&#125;, &#123;171, 
  41&#125;, &#123;172, 40&#125;, &#123;173, 41&#125;, &#123;174, 40&#125;, &#123;175, 47&#125;, &#123;176, 47&#125;, &#123;177, 
  42&#125;, &#123;178, 43&#125;, &#123;179, 44&#125;, &#123;180, 47&#125;, &#123;181, 46&#125;, &#123;182, 47&#125;, &#123;183, 
  46&#125;, &#123;184, 45&#125;, &#123;185, 44&#125;, &#123;186, 43&#125;, &#123;187, 42&#125;, &#123;188, 42&#125;, &#123;189, 
  41&#125;, &#123;190, 40&#125;, &#123;191, 43&#125;, &#123;192, 42&#125;, &#123;193, 41&#125;, &#123;194, 42&#125;, &#123;195, 
  41&#125;, &#123;196, 40&#125;, &#123;197, 41&#125;, &#123;198, 40&#125;, &#123;199, 55&#125;, &#123;200, 56&#125;, &#123;201, 
  51&#125;, &#123;202, 50&#125;, &#123;203, 49&#125;, &#123;204, 48&#125;, &#123;205, 46&#125;, &#123;206, 48&#125;, &#123;207, 
  41&#125;, &#123;208, 40&#125;, &#123;209, 41&#125;, &#123;210, 40&#125;, &#123;211, 82&#125;, &#123;212, 46&#125;, &#123;213, 
  44&#125;, &#123;214, 42&#125;, &#123;215, 41&#125;, &#123;216, 40&#125;, &#123;217, 63&#125;, &#123;218, 62&#125;, &#123;219, 
  58&#125;, &#123;220, 42&#125;, &#123;221, 40&#125;, &#123;222, 42&#125;, &#123;223, 71&#125;, &#123;224, 61&#125;, &#123;225, 
  51&#125;&#125;
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Syzygy implementations of top engines

Post by syzygy »

Nordlandia wrote:Peter Österlund: better ask Ronald about compression improvement for DTM50 but he said about 100 times larger than regular 5-man bases.
I only said the uncompressed tables are 100x as large.
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: Syzygy implementations of top engines

Post by Nordlandia »

syzygy wrote:
Nordlandia wrote:Peter Österlund: better ask Ronald about compression improvement for DTM50 but he said about 100 times larger than regular 5-man bases.
I only said the uncompressed tables are 100x as large.
Is it possible to calculate rough estimation for compressed 5-men bases?