Author: Andrew Williams
Date: 04:31:36 03/31/02
Go up one level in this thread
On March 31, 2002 at 07:22:25, Uri Blass wrote:
>On March 31, 2002 at 07:10:41, José Carlos wrote:
>
>>On March 31, 2002 at 06:17:15, Klaus Friedel wrote:
>>
>>>Has anybody ever tried something like that in his null move code :
>>>
>>>
>>> int nullDepth = depth - (NULL_REDUCE + 1)*DEPTH_BASE;
>>>
>>> if(tryNull){
>>> executeNullMove();
>>> beta -= NULL_BONUS;
>>> value = - search(nullDepth, -beta, -beta+1, ply + 1);
>>> undoNullMove();
>>> if(value >= beta){
>>> beta += NULL_BONUS;
>>> ttStore();
>>> return beta;
>>> }
>>> beta += NULL_BONUS;
>>> }
>>>
>>>
>>>Bigger values of NULL_BONUS increase the count of nodes prunded (but you migth
>>>oversee some tactics). Values of about 30cp made my engine ply slightly better
>>>than the default null-move (NULL_BONUS = 0).
>>>
>>>
>>>Klaus
>>
>> A couple of thoughts:
>> - You can be a bit faster declaring nullDepth inside the "if" and doing "beta
>>+= NULL_BONUS;" just once, before "if(value >= beta){"
>
>The code is going ot be slightly shorter but I do not see
>why is it going to be faster and it seems to me the same speed.
>
>You suggest to replace
>
>if(value >= beta)
>{
> beta += NULL_BONUS;
> ttStore();
> return beta;
>}
> beta += NULL_BONUS;
>
>by the following code:
>
>beta+=NULL_BONUS;
>if(value >= beta)
>{
> ttStore();
> return beta;
>}
>
>In both cases beta+=NULL_BONUS is done exactly once in every case
>so I do not see a reason that the shorter code
>is going to be the faster code.
>
No. He's talking about the line:
int nullDepth = depth - (NULL_REDUCE + 1)*DEPTH_BASE;
If you do this outside the if(tryNull), you save doing the calculation
in cases where you're not going to consider doing null move at all.
Andrew
This page took 0.23 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.