Ajedrecista wrote: ↑Fri May 01, 2026 9:39 pm
Hello Ronald:
syzygy wrote: ↑Fri May 01, 2026 3:37 pmI generated KNNNNvKQ with my new generator and found exactly 20322111804 legal positions, divided as follows:
[...]
Great to see you are still working on these things and that Kirill and you agree.
My new generator for generating 8-piece tablebases with 0 or 1 pawns with 128 GB RAM is now quite far along. For most tables (with at least two pieces of the same kind) 64 GB will be enough.
For tablebases with 2+ pawns I will adapt my in-RAM generator.
Whether it will actually be used to generate the complete 8-piece set is another question. The generated files will be quite large.
I want to note that the link to the statistics file of the old generator is wrong (you pasted KRRNvRR instead of the desired
KNNNNvKQ), though the statistics pasted in your post are truly of KNNNNvKQ.
Oops, I copied the URL from the wrong browser tab.
Looking into the divided statistics, I noted that only 'white to move cursed losses' (6275376) and 'black to move cursed wins' (38676144) are multiples of 24 of 'white to move blessed losses' (261474) ('blessed losses?' New name instead of 'cursed losses'?) and 'black to move cursed wins' (1611506), respectively. The rest of the old statistics are a few below 24 times the new statistics, thus the 51750 surplus that you found in the new metric (new statistics). Furthermore, 'white to move losses' and 'black to move losses' old values are not divisible by 24, only by 12.
Yes, cursed losses is now blessed losses. This was the original term used in this thread:
https://kirill-kryukov.com/chess/discus ... php?t=3748
(I was almost certain that kronsteen came up with it, but it may have been me. Kronsteen came up with cursed win.)
Regarding the KNNNNvKQ statistics, I think I understand now. The reason lies in the way my old generator corrects for the diagonal symmetry that remains after restricting the wK to a1-d1-d4 and, if the wK is on the a1-d4 diagonal, the bK to a1-h1-h8.
If both the wK and the bK are on the a1-h8 diagonal (so wK on a1-d4 and the bK anywhere on a1-h8), most positions will have a mirror position which is also in the generated table. So when collecting statistics, a position with the Ks on the diagonal is counted 0.5 times if mirroring the position in the a1-h8 diagonal leads to a different position (= a position with a different index).
The new generator uses an indexing scheme where permuting the Ns does not change the index of the position. So mirroring in the a1-h8 diagonal leads to the same index if the Ks and the Q are on the diagonal and the Ns are on b1<->a2 and c1<->a3.
The old generator treats each N as a different piece. So now exchanging the Ns on b1 and a2 results in a different position. So these positions are counted twice (2x1) instead of once (2x0.5).
Apparently I did not pay much attention when looking at the statistics of other tables with two identical pieces. The same must happen e.g. with KNNvK.
New generator:
Code: Select all
White to move:
77 positions are wins.
735227 positions are draws.
0 positions are losses.
Black to move:
0 positions are wins.
873627 positions are draws.
15 positions are losses.
So 1608946 legal positions.
Old generator;
Code: Select all
White to move:
154 positions are wins.
1437574 positions are draws.
0 positions are losses.
Black to move:
0 positions are wins.
1707858 positions are draws.
30 positions are losses.
So 3255616 legal positions, and dividing by 2 gives 1627808, which indeed is not equal to 1608946.
To get consistent results, I would have to compare the statistics collected without the "diagonal" correction. But the old 7-men statistics were generated with the correction, so I will just have to live with it.
I must have noticed this issue long ago already, because otherwise I would have made the old generator divide the statistics by 24 for the KNNNNvKQ table.