Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How I store and handle bounds (How to use hash to avoid NULL move?)

Author: Robert Hyatt

Date: 09:33:36 04/21/04

Go up one level in this thread


On April 21, 2004 at 04:44:31, Sune Fischer wrote:

>On April 20, 2004 at 21:33:01, Robert Hyatt wrote:
>
>>On April 20, 2004 at 20:25:56, Sune Fischer wrote:
>>
>>>On April 20, 2004 at 15:57:20, Pallav Nawani wrote:
>>>
>>>>
>>>>>So, Dr. Hyatt, what you're calling a LOWER flag is (I think) what I'm calling
>>>>>HashFlagBeta, and what you're calling UPPER, I call HashFlagAlpha, becuase those
>>>>>were the bounds that were exceeded. Personally, I hate this terminology...I wish
>>>>>we'd use more friendly terminology like AtLeastThisScore or LessThanThisScore. I
>>>>>think when I rewrite Trueno I'm going to do that, now that I understand
>>>>>alphabeta a little better. But that's neither here nor there...how does this
>>>>>look? Andrew
>>>>
>>>>This confused me a *lot* when I was programming my engine :-) I read beowulf's
>>>>code and I saw UPPER/LOWER. I read Bruce Moerland's page and I saw
>>>>HashBeta/HashAlpha. Only after much distress was I able to sort it out.
>>>>
>>>>But I could not figure out how hash entries could be use to avoid NULL move.
>>>>How do I do that?
>>>
>>>If you have reason to believe a null move will fail-low, for instance
>>>
>>>if (flag==UPPER && score<beta)
>>>   do_null = "not recommended";
>>>
>>>I use depth>=current depth.
>>>If I read the code correctly then Crafty uses depth>=current depth - R
>>>It seems theoreticly wrong, at least the way I do probes and stores.
>>>
>>
>>
>>Why?  You want to know whether the null search will likely fail high or low.  It
>>is going to be done to depth-R so why can't you use that in the test???
>
>Okay, so you are comparing the depth of a nullmove search to an upper score of a
>full search, and not to a fail-low of a nullmove!?
>
>Yes that might make good sense I suppose.
>
>I thought it was a problem that the nullmove search at depth-R would have been
>to depth-2*R, so those two can't be compared.
>
>-S.

Right.  The question is "will a null-move search likely fail high here?"  If the
answer is yes, it is a cheap search.  But if a normal search to that reduced
depth will fail low, clearly a null-move search will likely be even worse and
there is little point in trying it.




>
>>I don't see anything "theoretically wrong" with that...  I am going to do a
>>search to depth-R, and if this hash entry suggests that such a search of a
>>_real_ move will fail low, then not playing a move will be even worse...  No
>>point in even trying the null-move.
>>This was all explained in the Campbell null-move search paper years ago.
>>Everyone I know does it this way.  Bruce, etc...
>>
>>
>>
>>
>>
>>>-S.
>>>>Pallav



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.