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.