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