Computer Chess Club Archives




Subject: Re: What is Botvinnik's legacy to computer chess?

Author: Christophe Theron

Date: 11:04:12 02/21/00

Go up one level in this thread

On February 21, 2000 at 02:45:11, blass uri wrote:

>On February 20, 2000 at 21:05:47, leonid wrote:
>>On February 20, 2000 at 19:25:10, blass uri wrote:
>>>On February 20, 2000 at 14:39:24, Christophe Theron wrote:
>>>>On February 20, 2000 at 01:39:09, Drazen Marovic wrote:
>>>>>What is Botvinnik's legacy to computer chess?
>>>>That to write a good chess program it's better not to be a strong chess player.
>>>I do not agree about it.
>>>You cannot teach your program things that you do not know.
>>You don't teach your game to play but you depose exact logic to go after.
>I see teaching a program to play the same as deposing exact logic to go after.
>You cannot depose exact logic that you do not know about.
>One example:
>You cannot teach program that KRB vs KRP is usually a draw and that the
>evaluation should be close to 0.00 if you do not know it and your evaluation by
>only counting material may be +2 and you cannot see the 0 by search because you
>cannot search deep enough.

This is no proof. I'm not a strong chess player, but I know this rule. I can
read books and gather a lot of rules like this one, and still I'll be a poor
chess player.

However, I can add these rules to my program and it will improve his strength.

Being a strong chess player does not prevent you to write a strong chess program
in theory, but in pratice it does.

I have heard strong chess player giving their opinions about how a program
should work, and it was a pity.

The basic problem is that strong chess players usually want to add zillions of
special cases in their evaluation: when you have this pawn structure, do this;
when you see this pattern, try to do that.

This way of thinking is probably adapted to the human brain. The brain is able
to store many things and to recall them instantly (because it works "in
parallel"). But the brain is not able to search 3 plies deep in a blink to see
the consequences of a move. So it is natural to store "precompiled" recipes, and
chess players make a good usage of them.

But when you are a computer, it's useless to do that. You need to do exactly the
opposite: instead of having a large set of rules covering as many specific cases
as possible, you'd better have the smallest set of rules, each of them applying
to as many cases as possible (BTW it's what makes programming chess so enjoyable
for me: extracting the essence of the game).

It is exactly the opposite of the way strong chess players think. If they want
to follow this "generalization" philosophy, they turn out to be beginners in
chess. This is very unpleasant, when you have spent over 20 years studying the

So they'll either give up programming chess, or try to add many special cases
and eventually end up with an ugly program.

I think a strong chess player can be a very important part of a programming
team, but I don't think a strong chess player can be the main programmer of a
top chess program.


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.