Computer Chess Club Archives




Subject: Re: Zero-width Window Null Move Search

Author: Roberto Waldteufel

Date: 20:11:36 06/19/98

Go up one level in this thread

Thanks for your comments. I am the first to accept that terminal node evaluation
is more accurate that preprocessing, but it is also much slower. If I moved all
my preprocessing to the leaves, I think I would indeed lose at least one ply in
depth, maybe even more. Although my method might sometimes not recognise that a
passed pawn at a leaf was in fact passed, it will never mistakenly think a pawn
is passed when in fact it is not. What I do is to look at the pawn structure at
the root, and, for White and Black separately, I calculate all the squares on
which a friendly pawn would be passed (regardless of whether a pawn actually
occupies the square or ever could occupy it). As the search expands deeper,
these sets of squares can grow larger, but can never get smaller, so it is safe
to credit pawns that are on the precalculated squares by the time a leaf node is
The danger, of couse is that I might fail to see a passed pawn on a square that
is not in my initial list of squares, but I have found this to be rare enough
not to cause a great problem. As always, the trade-off between speed and
accuracy must be carefully weighed up, but I think there is still a good case
for doing some of the evaluation at the root to increase speed and thereby
search deeper. If I later decide, as you suggest, that I want to be more precise
about the passed pawns I currently don't see, I would still use my preprocessor,
so that then at the leaf I would only have to test a few of the pawns for being
passed (ie those not on the precalculated squares) instead of all of them.

Best wishes


This page took 0 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.