Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Probability of nullmove fails

Author: scott farrell

Date: 19:53:49 01/17/04

Go up one level in this thread


On January 17, 2004 at 16:28:15, Klaus Friedel wrote:

>Most engines use nullmove to prune the search tree.
>Before searching the first real move we make a nullmove and
>search this subtree with depth - R.
>If this search returns a score above beta we return beta immediately.
>This kind of pruning is known to be secure in most positions.
>
>It will for example fail in Zugzwang positions.
>But depending on the value of R (most of us use R=2 or R=3) it will fail
>in other positions.
>
>There are two kinds of errors:
>1. The null search returns a value < beta where it should return one above.

I partially solve the first one by marking those that nullmove failed on in the
hash table, and do re-null move unless you have more depth to play with, also
dont null move anything marked as alphaNode in the hashtable. ie. Just dont
nullMove where you have seen it is dumb previously.

>2. The null search returns a value >= beta where it shouldn't.
>

yes, Deiter's example is great, and I believe this sort of horizoning of mate is
far worse than the zug positions.

This is a test position I use for null-move:
[d]3r4/p3Nppk/3Prn1p/P7/4p3/1P3q2/2Q2P1P/3RR1K1 w - - 0 1

The knight has a few quiet moves, whilst letting other things go
(position/material) to force a mate.

chompster now solves the above in 8 ply, in under 10 secs. It actually solves it
in 4 ply, looses it at 7 ply, and gets Re3 back at 8ply. Without care coding for
this, it solved it previously in 11ply and its PV until there was rubbish and
attempting draws etc, as does crafty currently 11ply (v19.3 I tested on I
think).

people report putting checks in qsearch help horizoning this type of position -
but it adds nodes.

I can also report if you dont null move straight into the qsearch, it also
solves it, but at the expense of nodes if there isnt a problem.

It is very dependent on what you do at the leaves, and what our qsearch does.

Scott

>The first error will only increase nodes to solution.
>The second is worse. It cuts subtrees that might have changed the search result.
>
>Now the question:
>What are characteristic attributes of posiitions in which the null search is
>more likely to fail with error 2 (besides zugzwang positions).
>
>Regards,
>
>Klaus Friedel.



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.