Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hashing is a complicated affair ?

Author: Sune Fischer

Date: 05:08:48 04/06/04

Go up one level in this thread


On April 06, 2004 at 07:45:51, rasjid chan wrote:

>On April 06, 2004 at 05:28:54, Sune Fischer wrote:
>
>>
>>>>  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
>
>I think the misunderstanding is about how we store hash and how we
>retrieved what is stored. THEY MUST BE CONSISTENT.
>
>The hashing of exact for QS , depth == 0 enables me to immediately return
>if ONLY WHEN I PROBE FROM QS and not in full search.

You didn't mention anything about any probes, I assumed x_eval to be the static
eval and not a hash value.

-S.



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.