Computer Chess Club Archives




Subject: Re: not using nullmove?

Author: Christophe Theron

Date: 10:16:15 02/14/04

Go up one level in this thread

On February 14, 2004 at 08:57:14, Tord Romstad wrote:

>On February 14, 2004 at 00:38:58, Christophe Theron wrote:
>>On February 13, 2004 at 12:41:41, Tord Romstad wrote:
>>>I guess all strong programs use what Cristophe once called "the null move
>>Mmh... This post was a long time ago. So you were reading at that time? :)
>Yes, I was.  At that time, my own knowledge and experience was so limited
>that I couldn't make any interesting contributions myself (some people
>would claim that this is the case even today, but I know that there is
>at least a small handful of amateurs who occasionally find something of
>interest in my posts), but I was reading attentively.
>I have learnt a lot from you during the years I have been reading this
>message board, and it is not without reason that you are among the people
>I thank on my home page.  Even when you are very vague about what you do,
>like in the current thread, it is often sufficient to give me some new
>and interesting ideas to try out.  In 99% of the cases, my ideas are
>probably entirely different from what you do, but occasionally they
>still happen to work.  :-)

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.
* 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).
* ...

And the last one, maybe the most important:
* It's very unwise to believe that I have understood the essence of chess
programming. Therefore, all I know about this domain can be wrong, including the
above guidelines (but not this one)!

What you say about my posts being vague is interesting. If I told you what I do
in Chess Tiger:
1) over the years, maybe all you would create is a Tiger clone.
2) where would be the fun for you?
3) how would you get a chance to invent new ideas and to push the limits of our
field if you were busy implementing my ideas?

I see many people busy studying the Crafty source code and spending a lot of
time improving the speed of their bitboard stuff. I think they are wrong and
they will go nowhere.

Computer chess needs a revolution. Chess programs at this time are just big
calculators (mine included). It works, but it is so different from the way human
players think that there must be a much better way.

The wheel needs to be reinvented.


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