Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: not using nullmove?

Author: Uri Blass

Date: 13:32:53 02/15/04

Go up one level in this thread


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
>>>community).
>>>
>>>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
>>significant.
>>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.

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.

Uri



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.