Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashing is a complicated affair ?

Author: Sune Fischer

Date: 02:28:54 04/06/04

Go up one level in this thread



>>  else  Record(a,ALPHA_FLAG,0);
>Here may be the problem and here you deviate from the "full fail-soft"
>model as you did not collect the best of the scores < alpha.
>
>I actually made this post because of the way I do fail-soft and I am not
>sure yet I got it right and it posed problems.
>
>My answer
>=========
>
>Let x_eval = eval() score for the node.(so cannot ignore standpat )
>let best_searched_score be the best score for all moves searched.
>
>best_searched_score <= alpha

You should keep a best_searched_score and check for this independently of
alpha. Initialize it to x_eval and if score>best_searced_score you update the
best_searched_score along with alpha.

>so either :-
>a) alpha = x_eval (when set after eval() )
>b) x_eval < alpha (when no alpha improvement and this is your a0)

yes, adjusting alpha to x_eval would be good.

>my hash is as follow:-
>
>if (x_eval >= best_searched_score){
>   storehash(x_eval, EXACT, depth = 0);
>   return x_eval;//****** fail low
>}
>
>storehash(best_searched_score, UPPER_BOUND, depth =0);
>return best_searched_score;//****** fail low
>
>Two different way to fail low, but I like exact more than upper bound

You shouldn't return on an exact score if you have more moves to search, so this
goes to the end of the search.

I would write it as:

if (best_searched_score > alpha_origial){
   storehash(best_searched_score, EXACT, depth = 0);
} else {
   storehash(best_searched_score, UPPER_BOUND, depth =0);
}
return best_searched_score; //****** fail low or exact

-S.
>These are the subtleties (or erroneous method) I find.
>
>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.