Computer Chess Club Archives


Search

Terms

Messages

Subject: Re:I found the answer

Author: Vasik Rajlich

Date: 11:05:44 06/18/05

Go up one level in this thread


On June 18, 2005 at 11:12:38, rasjid chan wrote:

>Your "4 or 5 lines" for fail-soft is should be correct.
>These lines are needed in FL to record the greatest FL score and we simply FL
>with this irrespective of the bounds. Fail-high don't need any extra lines, we
>simply return the score received from search() instead or returning beta.
>
>When we hash FL/FH, I think we can safely hash the fail-soft score and not the
>bounds and the theoretical advantage is straight-forward. So fail-soft is as
>simple as it should be.

Yes.

>
>My earlier comments are actually for an attempt to have as good a hash-table
>implementation as posssible by "preserving and passing down" an exact score.
>It is posssible only with fail-soft.
>

Yes. Of course fail-soft values will also be artificially close to the search
windows - they always err on that side.

>When we eval() in QS and there is no move to search, we return eval-score.
>we also return an int return_type = ex irrespective of the bounds. This ex
>return_type may be preserved and passed downwards(I don't have the statistic
>nor know the usefulness). So lower down when all moves are searched
>and we have a FL, we may have a best score < alpha. An int best_type is also
>kept which is done by applying reverse_type() to the return_type.
>The best_type may be ex/ub/rep3. So we may end with FL below alpha(soft)
>but we hash type as "exact" and not the usual "upper_bound" which is the default
>if we don't pass down types.
>

I don't follow what the purpose of the "return_type" is - you shouldn't need it.
The simplest way to handle the hash table is to have both an upper and a lower
bound there. At FL nodes, set the upper bound value; at FH, the lower bound
value; at nodes which return a score between alpha and beta, set both bounds.

If your hash table has a single value with a "LB/EX/UB" flag, then the logic is
the same. At FL nodes, set the UB flag; at FH nodes, set the LB flag; at nodes
which return a value between alpha & beta, set EX flag.

Vas

>If we have double bounds in hashing, then if we have depth=3,type=ex
>and the hash table main bound is depth=4, type=UB/LB(not EX), we need not
>discard hashing this search, but slot it into the secondary bound. The question
>is how useful is all these work. I have found that the codes for passing
>down "type" is rather straight-forward. As a comparison, implementing double
>bounds in hashing is rather complicated.
>
>Best Regards
>Rasjid



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.