Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why not store both a lower and an upper bound in a hashtable?

Author: Robert Hyatt

Date: 07:56:13 12/07/00

Go up one level in this thread


On December 07, 2000 at 01:28:35, Leen Ammeraal wrote:

>On December 06, 2000 at 16:08:56, Robert Hyatt wrote:
>
>>On December 06, 2000 at 12:45:30, Leen Ammeraal wrote:
>>
>>>I have the impression that most chess programmers
>>>use their hashtables to store
>>>only one evaluation value, along with a flag
>>>denoting Lower, Upper, or Exact.
>>>Why not store both a lower and an upper bound,
>>>where lower = -inf or upper = +inf if only one
>>>real bound is available? A flag is then
>>>superfluous, since this follows from
>>>the two bound values.
>>
>>If you use mtd(f) you _must_ do this.  For the other search approaches, it
>>probably won't help much at all, and it does use more memory.  Nothing wrong
>>with trying it to see what you get, of course...
>>
>>
>>
>>>For example:
>>>LB      UB     Flag value (not stored)
>>>-inf    100    Upper
>>>-20     +inf   Lower
>>>30      30     Exact
>>>This also offers the possibility to store
>>>two different bounds at the same time, as in
>>>LB = -50, UB = 70.
>>>This is the way I do it, but, unfortunately,
>>>my program is weaker than most others.
>>>Could this be because this idea of storing
>>>two bounds and no flag is wrong?
>>>Leen Ammeraal
>
>Do you mean: two ints when storing LB and UB
>while one int and one byte when storing
>a single bound and a flag? Yes, this makes
>a difference, so I will reconsider my design,
>also because of Cleveland's reply about different
>depth for the two bounds. He says you use two
>separate entries in Crafty, which I think
>I should do too. I assume you also use the depth
>values to compute the hash key, is that right?


I store 17 bits for the value.  I could probably steal one bit from
something else and get away with adding only 16 bits to an entry in the
hash table.  So it would (for me) cost about 16 bits per entry.

If you store two bounds, you need two draft entries.  I would not toss
this into the hash signature I don't think.



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.