Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question about Bit storage

Author: Andrew Dados

Date: 13:37:19 01/29/02

Go up one level in this thread


On January 29, 2002 at 14:37:27, Les Fernandez wrote:

>On January 29, 2002 at 14:03:24, Robert Hyatt wrote:
>
>>On January 29, 2002 at 10:47:40, Les Fernandez wrote:
>>
>>>On January 29, 2002 at 09:57:30, Robert Hyatt wrote:
>>>
>>>>On January 28, 2002 at 17:48:48, Les Fernandez wrote:
>>>>
>>>>>Just curious to know what is the best being done now for storing a chess
>>>>>position.  In the worse case scenario (castling right exists) it takes me 162
>>>>>bits to store 32 pieces, color, location, side to move, castling, enpassant,
>>>>>promotion, ce and pv.  Now if castling rights do not exist then the worse case
>>>>>scenario for the above is 81 bits.  Much further reduction in bits/position is
>>>>>possible but at the moment I am interested in the above.
>>>>>
>>>>>Thanks in advance,
>>>>>
>>>>>Les
>>>>
>>>>
>>>>How can you store a complete chess position without castling rights in 81
>>>>bits?  castling rights are certainly not 81 bits of information to get you
>>>>up to 162.
>>>>
>>>>Something is wrong.
>>>
>>>Hi Bob,
>>>
>>>The point is that in cases where castling is not available there exists a
>>>minimum of 4 rotations that can be applied to a board, top-bot and left-right.
>>>The method I discuss to store a position requires 9 bits to store piece, color
>>>and x and y location.  32x9=288 and then 36 bits are needed to store the other
>>>pertinent things about the position.  (288+36)/4=81 bits/position on avg. just
>>>as Uri explained here (thx Uri sorry Bob if I was not clear).  I thought the
>>>scheme I used to store a piece using only 9 bits was different and would
>>>appreciate feedback here.
>>>
>>>Thanks,
>>>
>>>Les
>>
>>
>>I think your math is wrong.  If you need 288+36 bits to store one position, you
>>need 288+36-2 bits to store 1/4 of that number of positions.  This is log math
>>and you _subtract_ exponents, not divide.
>>
>>ie 2^32 / 4 == 2^30, _not_ 2^8
>>
>>That is where I am getting lost in your description...
>
>Hi Bob,
>
>First let me say my intention is not to play with semantics as the other
>responder eludes too, I am not here to play.  Basically I went on the basis of
>the following.  Lets say I have a Key position (3 pieces) and that I need 63
>bits to store "all" the information about this position.  Now if from this
>Binary key I can extract say 44 other positions of equivalent nature then I only
>need to use 63 bits of space to store the key position but I actully have access
>to 44 positions that require no storage at all and yet have the same solution.
>
>I hope I am saying it right <s>,
>
>Thanks Bob for the input

Than for any database application you'll need to do a 'search' for position,
killing your performance. You may need to compare hundreds of entries, or use
huge space for indexing.

-Andrew-



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.