1
0
Fork 0

Add some more information on the UCI protocol

Improve README.md: provide a link to the protocol,
and document some non-standard options.

fixes https://github.com/official-stockfish/Stockfish/issues/3446

closes https://github.com/official-stockfish/Stockfish/pull/3450

No functional change
pull/3455/head
Joost VandeVondele 2021-04-29 08:18:37 +02:00
parent 6ad4f485d3
commit 33fadb5118
1 changed files with 25 additions and 2 deletions

View File

@ -33,9 +33,14 @@ This distribution of Stockfish consists of the following files:
* a file with the .nnue extension, storing the neural network for the NNUE
evaluation. Binary distributions will have this file embedded.
## UCI options
## The UCI protocol and available options
Currently, Stockfish has the following UCI options:
The Universal Chess Interface (UCI) is a standard protocol used to communicate with a chess engine,
and is the recommended way to do so for typical graphical user interfaces (GUI) or chess tools.
Stockfish implements most commands as described in [the UCI protocol](https://www.shredderchess.com/download/div/uci.zip)
For users, the following UCI options, which can typically be set via a GUI, are available in Stockfish:
* #### Threads
The number of CPU threads used for searching a position. For best performance, set
@ -136,6 +141,24 @@ Currently, Stockfish has the following UCI options:
* #### Debug Log File
Write all communication to and from the engine into a text file.
For developers the following non-standard commands might be of interest, mainly useful for debugging:
* #### compiler
Give information about the compiler and environment used for building a binary.
* #### flip
Flips the side to move.
* #### bench ttSize threads limit fenFile limitType evalType
Performs a standard benchmark using various options. The signature or standard node
count is obtained using all defaults. `bench` is currently `bench 16 1 13 default depth mixed`.
* #### d
Display the current position, with ascii art and fen.
* #### eval
Return the evaluation of the current position.
## A note on classical evaluation versus NNUE evaluation
Both approaches assign a value to a position that is used in alpha-beta (PVS) search