Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question about opening book+hash key?

Author: Pham Minh Tri

Date: 18:02:29 05/24/01

Go up one level in this thread


On May 24, 2001 at 19:35:46, Pham Minh Tri wrote:

>On May 24, 2001 at 09:01:52, José Carlos wrote:
>
>>On May 24, 2001 at 08:57:43, Robert Hyatt wrote:
>>
>>>On May 24, 2001 at 08:55:15, Pham Minh Tri wrote:
>>>
>>>>On May 24, 2001 at 08:14:37, Gian-Carlo Pascutto wrote:
>>>>
>>>>>On May 24, 2001 at 07:50:32, Pham Minh Tri wrote:
>>>>>
>>>>>>Hi,
>>>>>>I heard that the hash technique could apply to opening book. Could someone
>>>>>>explain to me how to use and what is the benefit?
>>>>>>Thank very much in advance,
>>>>>>Pham
>>>>>
>>>>>Quite simple. Instead of storing positions or sequences you store
>>>>>the hashes of the positions.
>>>>>
>>>>>The benefit is space. If you were storing sequences you will also
>>>>>spot transpotions now.
>>>>>
>>>>
>>>>Could you explain more detail? I still do not understand. The 64 bit hash key is
>>>>always bigger than 16 bit of a move representation, and the random numbers may
>>>>make the hash key after moving totally different from the old one, so how to
>>>>save space?
>>>>
>>>>And another question: does this technique need more computing (to match and
>>>>extract) than the normal technique (use other kind of database)?
>>>>
>>>>Thanks,
>>>>
>>>>>--
>>>>>GCP
>>>
>>>To build the book, make the first move in the book line, say e4.  Store the
>>>hash signature _after_ that move is made.  Then for other first moves (say d4)
>>>do the same.
>>>
>>>When you want to use the book, generate all legal moves, make each one, one
>>>at a time, and after making one, check to see if the current hash signature
>>>matches a signature in the book file.  If so, this move is a "book move".
>>
>>  And (to Pham) do not forget to use _always_ the same random numbers to
>>generate the hash keys :)
>>  The biggest benefit of this technique is that it makes trivial to handle
>>transpositions.
>>
>>  José C.
>
>Thanks for suggestions. But I guess that:
>1) Hash technique makes opening books 4 times bigger than the old one in which I
>save only sequences of moves (because 64 bit hash key for a move is 4 times as
>big as 16 (or 14) bit of a move).
>2) It is slower than the old one because I have to generate all legal moves, do
>them, then match, instead of matching only.
>
>Do I miss something?

Oh, I think out (I am really dumb :-(( ). In database, we save only all opening
positions, not sequences of moves, so we could avoid saving the similar parts of
sequences of moves. And we do not need to match many bytes of a line of moves,
but only 2 x 4 bytes hash keys (8 bytes) of current position and after making a
move. Is it correct?
Thank you all for help.




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.