Author: John Merlino
Date: 11:01:28 09/05/02
Go up one level in this thread
On September 05, 2002 at 13:43:56, David Terry wrote: >Please excuse my ignorance but I was hoping someone could help explain how a >chess playing engine handles the middle game. It is my understanding that the >opening game is handled by moves in an opening book. The endgame by the use of >tablebases. However I haven't heard anything as to how an engine handles the >middle game. My only guess is that it reads from a database hoping to find a >similar position and play that. Is this true or am I way off? Would having a >larger stronger database make an engine stronger? > >Thanks for any comments, >Dave In a nutshell, any chess engine can play a complete game of chess without the aid of either opening books or endgame tablebases. Basically, what a chess engine does is a recursive search of all legal moves, then all of the potential responses to those legal moves, then all of the responses to THOSE responses (etc. etc.), for as deep as it can go in the time it allots itself to decide on a move. As it searches deeper and deeper, it numerically evaluates the resulting position of each individual line that it searches. The result of gathering all of this data is a line of "best play" (also called a PV, or a Principal Variation). The first move in the PV is the one that the engine plays. The reason that opening books are used are to help steer the engine into favorable lines for its style of play, to help avoid dubious moves that it would otherwise play if it was not using an opening book, and to save time on the clock. Opening books are generally no more than 40 plies (i.e. moves) deep, meaning that after each side makes 20 moves, the opening book runs out. Many opening books, however, have lines that only go a handful of plies deep, usually because either there is not enough data on these lines, or there are holes in the game database that was used to create the opening book. For example, try playing 1.a3 and 2.h3 against your favorite computer -- it will most likely be out of book after that second move. The reason that endgame tablebases are used are to accurately determine if a potential "best line" that results in few enough pieces (currently 5 or 6 maximum) leads to a win/draw/loss, rather than to rely on the numerical evaluation of the position as mentioned above. But, since endgame tablebases cannot be used until the amount of material is near or less than 5 or 6 pieces (including Kings), there are A LOT of moves that are decided by the engine's search as described above. I would estimate that much more than half of the moves played by a chess engine in a typical game are decided upon without the aid of either opening books or endgame tablebases. jm
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.