Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A question about a specific 8 man tablebase (correction)

Author: Angrim

Date: 14:55:49 11/14/01

Go up one level in this thread


On November 13, 2001 at 13:32:43, Robert Hyatt wrote:

>On November 13, 2001 at 13:03:55, Tony Werten wrote:
>
>>On November 13, 2001 at 10:19:46, Robert Hyatt wrote:
>>
>>>On November 13, 2001 at 05:16:10, Tony Werten wrote:
>>>
>>>>On November 13, 2001 at 03:22:13, derrick gatewood wrote:
>>>>
>>>>>How much time and space would it take to compile the tablebase for an endgame
>>>>>where each side had 3 pawns?  would this be possible or it simple to large?  It
>>>>>seems like it would be so large since pawns dont have much movement.  Has this
>>>>>already been performed so I dont have to waste my time?  The "Little Game" as it
>>>>>is called on chess.net is my nemesis and I really want to figure out this game
>>>>>and that tablebase would be all I would need to study it in depth.  Thank you..
>>>>>as far as time goes,  my system is 1.575 ghz athlon,  with 512 megs of PC2100
>>>>>ram
>>>>
>>>>Simple math suggests that the table should have 443,247,013,440 entries
>>>>(excluding ep-rights). With 1 byte per position, your memory seems to be less
>>>>than a factor 1000 off.
>>>>
>>>>Tony
>>>
>>>
>>>It is worse than that.  The file will have roughly 2^48 _entries_ 8 pieces
>>>with 64 squares each. that is 262 terrabytes.  Actually 262 trillion entries
>>>of probably at least two bytes each, so 512 terrabytes roughly.
>>
>>6 pawns have less positions than 64, the 3 pawns each cannot have different
>>order (pawn on a2,b2=b2,a2), kings have 1806.
>>
>>So total number is 1806*(48!/(45!*3!))*(45!/(3!*42!))=443247013440
>
>48 is not correct for enpassant.  replace by 56.  Then those will not be 8-bit
>values, so you go over a terrabyte for that one file.
>

No, 48 is plenty even with en-passant.  I haven't actually looked at
how Eugene did this, but my method for this was to store en-passant
positions in the "illegal" positions where the pawns are on top
of each other.  This does require that space be left in the file for
overlapping positions, so it is not optimal either.  Easy to code though :)

Useing my method for ep, the numbers become:
1806*(48!/(45!*3!))*(48!/(45!*3!))= 540,267,818,496

As to the number of bytes per position, if you use DTC rather than DTM
I think it is likely that one byte per position will work.  I guess that
once the KPP vs KPP tables are done we will have a better idea on this.

And in summary, we can forget about chess 8pc EGTB for quite a long time.

Angrim



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.