Computer Chess Club Archives


Search

Terms

Messages

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

Author: Leen Ammeraal

Date: 22:28:35 12/06/00

Go up one level in this thread


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?




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.