Computer Chess Club Archives




Subject: Re: not using nullmove?

Author: Christophe Theron

Date: 10:35:38 02/16/04

Go up one level in this thread

On February 15, 2004 at 16:32:53, Uri Blass wrote:

>On February 15, 2004 at 14:13:05, Christophe Theron wrote:
>>On February 15, 2004 at 12:32:55, Tord Romstad wrote:
>>>On February 14, 2004 at 13:16:15, Christophe Theron wrote:
>>>>What I have always tried to do is to hide the details of what's inside Chess
>>>>Tiger (in order to protect my work a little bit) but still explain what my
>>>>methodology (or work philosophy) was (in order to somehow give back to the
>>>>I think it's important to have strong guidelines in your work. Some of them come
>>>>from your knowledge of information processing in general (be careful not to
>>>>create bugs, don't waste resources, never trust Microsoft...), and some of them
>>>>are specific to the domain of chess programming and took me years to figure out.
>>>>For example:
>>>>* don't compute something in advance if you are not sure you will use it,
>>>>because chances are that you will get a cutoff before you need it (remember it's
>>>>just a guideline - sometimes you can break this rule).
>>>>* you need a very accurate way of measuring progress, or you will not make
>>>>progress at all.
>>>Yes.  Measuring progress is the biggest problem of all, once your engine has
>>>reached a certain level.  I am very frustrated and confused about the strength
>>>of my latest development versions right now.  I have three different versions,
>>>and version A beats version B, version B beats version C, and version C beats
>>>version A.  In all cases, the winning margins are clearly statistically
>>>I have no idea which version is the strongest, of course.
>>>>* Any change can make your program significantly weaker. You need to test your
>>>>changes (with the method you have built) very often.
>>>>* People believe that chess is about evaluation, but actually it's all about
>>>>search (I'm trying very hard to break this rule, because it must be wrong from a
>>>>mathematical point of view, but it's really difficult).
>>>Here I agree with Martin.  The evaluation function is my main tool for shaping
>>>the tree, and improving the eval usually also improves the speed and
>>>accuracy of the search.
>>I don't use the evaluation to shape the tree in Chess Tiger. If I change the
>>evaluation, the tree remains similar. Of course it will not be exactly the same,
>>so naturally the evaluation has an indirect impact on the shape of the tree, but
>>I mean that the evaluation is not what I use to decide to prune a branch or to
>>extend one.
>By using null move you use evaluation to decide if to prune lines.

That's what I said: evaluation has an indirect impact on the shape of the tree
(in Chess Tiger).

>I believe that not using evaluation by more ways as one of the factors to decide
>if to prune a branch or to extend a branch is a mistake.

Evaluation is just one number: the value you give to the position. I don't use
that, directly, to shape the tree.

However I use several factors to shape the trees, and some of these factors are
also used to build the evaluation.


This page took 0.01 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.