Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Pawn hashing without Zobrist keys

Author: Gerd Isenberg

Date: 14:29:57 09/12/03

Go up one level in this thread


On September 12, 2003 at 17:06:15, Omid David Tabibi wrote:

>On September 12, 2003 at 17:02:04, Gerd Isenberg wrote:
>
>>On September 12, 2003 at 16:53:44, Omid David Tabibi wrote:
>>
>>>On September 12, 2003 at 16:49:09, Gerd Isenberg wrote:
>>>
>>>>On September 12, 2003 at 16:39:33, Omid David Tabibi wrote:
>>>>
>>>>>On September 12, 2003 at 16:34:48, Gian-Carlo Pascutto wrote:
>>>>>
>>>>>>On September 12, 2003 at 16:33:13, Omid David Tabibi wrote:
>>>>>>
>>>>>>>I still don't understand why modulus is needed, and
>>>>>>>I have a pawn hash of 2^17 entries. What is so special
>>>>>>>about pawn hash that you need the modulus operation
>>>>>>>there while you don't need it in the normal hash table?
>>>>>>
>>>>>>You don't?
>>>>>>
>>>>>>I assume you have 32 or 64 bit hash keys.
>>>>>
>>>>>64 bit.
>>>>>
>>>>>>
>>>>>>How do you map 2^64 -> 2^17 ?
>>>>>
>>>>>Please, don't tell me that you guys are mapping the hash key as following:
>>>>>
>>>>>address = key % table_size;
>>>>
>>>>
>>>>Yes, unless you use zobrist keys and power of two table sizes for pawn hashing,
>>>>which is probably smarter. Do you have a smarter way of getting a hashkey from
>>>>white/black pawn bitboards?
>>>>
>>>>>
>>>>>???
>>>>>
>>>>>Do you know how many cycles does the modolus operation take???
>>>>>
>>>>
>>>>Yes, that's the reason for my initial posting.
>>>>
>>>
>>>assuming 'table_size' is a power of 2, the following two expressions are
>>>equivalent:
>>>
>>>address = key % table_size;
>>>address = key & (table_size - 1);
>>>
>>
>>
>>Yes, but if "key" is whitePawns-blackPawns, bitboards as 64-bit ints, you may
>>loose some pawns. That's the advantage with zobrist keys. I guess a 32-bit key,
>>incremental updated if pawn structure changed, is good enough to address the
>>pawn hash table.
>>
>
>Well, well... In this case I must quote Vincent: don't waste time with bitboards
>:)
>
>But seriously, I have always used zobrist keys for pawn hash tables.
>Incrementally updating the pawn key, the cost is negligible.
>

Yes, i understand - it makes sense with a 64K or 128K table.
The idea is to safe a (recursive) 32-bit int in conjunction with tables not
necessarily power of two sized - where you should use the modulus anyway.

Gerd



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.