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 >>>>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. 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. Christophe
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.