Software:Chess opening book (computers)

From HandWiki
Short description: Database of chess openings given to computer chess programs

Opening book is often used to describe the database of chess openings given to computer chess programs (and related games, such as computer shogi). Such programs are quite significantly enhanced through the provision of an electronic version of an opening book. This eliminates the need for the program to calculate the best lines during approximately the first ten moves of the game, where the positions are extremely open-ended and thus computationally expensive to evaluate. As a result, it places the computer in a stronger position using considerably less resources than if it had to calculate the moves itself.

On some occasions, a player might consider playing a strange move outside the opening book to force a computer to think for itself. While this may introduce a strategic weakness, a lot of the time, playing out of the book early may end up compromising one's own pawn structure, losing a tempo or allow the opponent to develop more effectively, as chess engines have become significantly more powerful over time to think more deeply or accurately than in the past.

History

By 1977, 14 of 16 entries in the second World Computer Chess Championship used opening books. One of the entries without a book, DARK HORSE, defeated opponent CHAOS in part by using a nonstandard N-F3 opening.[1]

Design

Modern chess engines are designed to be controlled by a graphical user interface such as Winboard, ChessBase or Arena through the Universal Chess Interface protocol or Chess Engine Communication Protocol. In this case the opening book may often be specified in the GUI and then the GUI makes the moves from the opening book on behalf of the engine when the occasion arises.[2]

Format

Opening books used by computers are often in a undocumented binary or PGN format. Examples are ChessBase's .ctg format or Pgn Format and Arena's .abk format. One notable exception is the Polyglot book format which is fully documented and which is being implemented in an increasing number of programs.[3]

See also

References