Computer Chess - Implementation Issues

Implementation Issues

The developers of a chess-playing computer system must decide on a number of fundamental implementation issues. These include:

  • Board representation — how a single position is represented in data structures,
  • Search techniques — how to identify the possible moves and select the most promising ones for further examination,
  • Leaf evaluation — how to evaluate the value of a board position, if no further search will be done from that position.

Computer chess programs usually support a number of common de facto standards. Nearly all of today's programs can read and write game moves as Portable Game Notation (PGN), and can read and write individual positions as Forsyth-Edwards Notation (FEN). Older chess programs often only understood long algebraic notation, but today users expect chess programs to understand standard algebraic chess notation.

Most computer chess programs are divided into an engine (which computes the best move given a current position) and a user interface. Most engines are separate programs from the user interface, and the two parts communicate to each other using a public communication protocol. The most popular protocol is the Chess Engine Communication Protocol (CECP). Another open alternate chess communication protocol is the Universal Chess Interface (UCI). By dividing chess programs into these two pieces, developers can write only the user interface, or only the engine, without needing to write both parts of the program. (See also List of chess engines.)

Implementers also need to decide if they will use endgame databases or other optimizations, and often implement common de facto chess standards.

Read more about this topic:  Computer Chess

Famous quotes containing the word issues:

    The “universal moments” of child rearing are in fact nothing less than a confrontation with the most basic problems of living in society: a facing through one’s children of all the conflicts inherent in human relationships, a clarification of issues that were unresolved in one’s own growing up. The experience of child rearing not only can strengthen one as an individual but also presents the opportunity to shape human relationships of the future.
    Elaine Heffner (20th century)