gnuchess.pdf

(240 KB) Pobierz
GNU Chess
for version 6.1.2, 29 July 2014
http://www.gnu.org/software/chess
This manual is for GNU Chess (version 6.1.2, 29 July 2014), which is a complete chess
program, frequently used as a chess engine.
Copyright c 2001–2014 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation License, Version 1.3 or any later
version published by the Free Software Foundation; with no Invariant Sections,
with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license
is included in the section entitled “GNU Free Documentation License”.
i
Table of Contents
1
2
3
Overview
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Contact info
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Running
gnuchess
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3.1
3.2
3.3
3.4
3.5
Invoking gnuchess
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Interactive game
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Command list
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
Environment variables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
Configuration file.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.5.1 Structure.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.5.2 Options
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
3.5.3 Workarounds
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.6 Output files
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
3.7 XBoard chess engine
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.8 UCI chess engine
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.9 Internet
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4
5
6
7
8
9
Book
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
Tests
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Auxiliary file formats
. . . . . . . . . . . . . . . . . . . . . . . . .
16
History
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Known problems
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
8.1 Adapter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Developers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
9.1
9.2
9.3
9.4
9.5
9.6
Background of v6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Guidelines followed to develop GNU Chess v6
. . . . . . . . . . . . . . . . .
Chess engine protocol adapter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of the source code
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C/C++ coexistence
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chess engine
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6.1 Fruit overview.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6.2 Board data structure
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6.3 Search algorithm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6.4 Transposition table
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
19
19
20
20
21
21
21
21
21
ii
9.6.5
9.6.6
9.6.7
9.6.8
Null move
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Move ordering.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Evaluation function
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Speed
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
22
22
22
10
Translations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
Appendix A GNU Free Documentation License
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
Concept index
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
Chapter 1: Overview
1
1 Overview
GNU Chess (http://www.gnu.org/software/chess/) is a computer program for playing
chess. It can be used to interactively play chess on a text terminal, but it is more often
used in conjunction with a GUI program such as GNU XBoard.
Because it is protected by the GNU General Public License, users are free (in perpetuity)
to share and change it.
The main author of GNU Chess version 6 is Fabien Letouzey, The original author is
Stuart Cracraft.
Zgłoś jeśli naruszono regulamin