Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: null move improvement ?

Author: Klaus Friedel

Date: 05:55:54 03/31/02

Go up one level in this thread


On March 31, 2002 at 06:29:43, Gian-Carlo Pascutto 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).
>
>I tried this before, but no settings made my engine play stronger.
>
>The reason why this doesn't work very well is what I would call semi-zugzwangs.
>
>Say you have a program using piece-square tables, that does not consider
>attacked pieces in the evaluation.
>
>You have a knight on e5 that is attacked by a pawn. If you nullmove now,
>you are assuming that any move would be better than not moving. In reality,
>the best you can do is retreat the knight to f3 where it will get a smaller
>bonus from the piece-square tables. The NMO will fail, because not moving
>would have given you a higher score than moving.

I can't follow your example... If the knight doesn't move qsearch will get a
score far below the score you get by moving to f3. So not moving won't give a
higher score than moving.

Klaus





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.