Author: Robert Hyatt
Date: 19:38:14 07/09/02
Go up one level in this thread
On July 09, 2002 at 20:45:58, Arshad F. Syed wrote: >Before I start on my chess program, I want to get an idea of what is involved in >creating a top-notch program (preferably one that tops the SSDF list!!). I have >some questions: > >1.) Is it possible to deliver a commercial quality chess program without any >chess knowledge of what constitutes a 'strong position' in a chess players view? I won't say "no" but I don't see how. IE the evaluation is the "soul" of the chess engine (the search is the heart). If you don't know what makes a move bad or good, then how can the engine do this beyond what the search shows it? >With only basic knowledge of the chess moves and some rudimentary concepts such >as spatial advantage etc? These could constitute the 'functional specifications' >of the program. In the event of a loss, could this loss be 'debugged' as a bug >in the alpha-beta algorithm going wrong somewhere and then fixing this? > There are two parts to the engine. The search is charged with finding tactics. The evaluation is charged with finding "what to do when there is no tactical opportunities". Generally search problems are obvious. If you let the thing search long enough, it might find why a move is bad. Now you need to figure out what specific features of the position serve as a "clue" that it should search deeper. In check extensions are an example. If a longer search doesn't help, then it is not a tactical issue. Now it comes to "smarts". And that is the most complex part of producing a chess engine that is well-balanced. >Bottomline: In the event my program loses, I don't want to be coming back to CCC >with a message: "Here is a game I lost. Why or at what stage did I lose it?". I >simply want to start evaluating the nodes where my score went less than 1.0, for >example, and then start debugging the algorithms/code as to the cause of this >degradation. Debugging is the wrong term. "further development" is more to the point... > >2.) I don't want my program to be very 'machine-esque' or mechanical. I, >therefore, don't want my opening books to stretch to more than 10 moves. Will >this in anyway impact the level of play? It means your book will be smaller, and on a chess server, you will tend to play the same openings repeatedly. If that doesn't cause you concern, a small book is fine. But expect the IM/GM players to pick on such a weakness and exploit it repeatedly if you put your program on a chess server for testing. > >3.) How is the machine-learning done at this point? Is it done by post-game >analysis or by a module running in parallel with the program? Depends on what kind of "learning" you are talking about... > >Thanks in advance and regards, >Arshad
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.