Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: null move improvement ?

Author: Christophe Theron

Date: 08:09:53 03/31/02

Go up one level in this thread


On March 31, 2002 at 10:06:16, Gian-Carlo Pascutto wrote:

>On March 31, 2002 at 08:55:54, Klaus Friedel wrote:
>
>>>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
>
>Substitute 'if you nullmove now' by 'if you standpat now in that case.
>
>The general idea is that the NMO fails more often than only in
>zugzwang situations.
>
>--
>GCP



Yes your example was wrong for the reason Klaus has given, but your general idea
is right.

You get a little speedup indeed by assuming not only that there exist a move
that does at least as well as doing nothing (classical null move), but by also
assuming that there is a move that will do slightly better than doing nothing
(Klaus idea).

However you then lose positional accuracy, because believe it or not there are
many positions even in the middlegame where no move does much better than doing
nothing (at least in your current search depth scope). In these positions it is
crucial for the program to find a move that just HOLDS the current score.

When I tried to do that a long time ago my program often played stupid moves
like King g1 to h1 and back instead of playing a slightly better positional
move. That's an indirect consequence of this loss of positional accuracy. Doing
an useless move allowed to reduce the remaining depth. By doing so the program
reached a position after which the other side had to move, the program would
then nullmove and as the opponent had no threat the program would receive a
bonus for nullmoving (Klaus constant).

Klaus idea is wrong because by doing so you reward the program to go for quiet
positions after which (horizon) it gets the promiss of some positional bonus
that is only virtual.

Your program will perform better in tactical suites. You might even notice no
drop in positional suites. But it will play weaker because it will fail on
apparently simple positions that nobody will ever care to add in any test suite.



    Christophe



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.