Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How engines play the middle game

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.