X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=Readme.md;h=319bca8cc8da1f1829df8b7d2dacd52f023e110d;hp=5ea7a2c793ce1564293908ad811d764fba3eecf8;hb=69a1a808c8ed02332914afbb503f3d96fa8bb093;hpb=4d14f97482345580b625a2fef9be2c82d7031767 diff --git a/Readme.md b/Readme.md index 5ea7a2c7..319bca8c 100644 --- a/Readme.md +++ b/Readme.md @@ -7,11 +7,13 @@ Partner or Fritz) in order to be used comfortably. Read the documentation for your GUI of choice for information about how to use Stockfish with it. -This version of Stockfish supports up to 64 CPUs. The engine defaults -to one search thread it is therefore recommended to inspect the value of +This version of Stockfish supports up to 128 cores. The engine defaults +to one search thread, so it is therefore recommended to inspect the value of the *Threads* UCI parameter, and to make sure it equals the number of CPU cores on your computer. +This version of Stockfish has support for Syzygybases. + ### Files @@ -22,19 +24,59 @@ This distribution of Stockfish consists of the following files: * Copying.txt, a text file containing the GNU General Public License. * src, a subdirectory containing the full source code, including a Makefile - that can be used to compile Stockfish on Unix-like systems. For further - information about how to compile Stockfish yourself read section below. + that can be used to compile Stockfish on Unix-like systems. + + +### Syzygybases + +**Configuration** + +Syzygybases are configured using the UCI options "SyzygyPath", +"SyzygyProbeDepth", "Syzygy50MoveRule" and "SyzygyProbeLimit". + +The option "SyzygyPath" should be set to the directory or directories that +contain the .rtbw and .rtbz files. Multiple directories should be +separated by ";" on Windows and by ":" on Unix-based operating systems. +**Do not use spaces around the ";" or ":".** + +Example: `C:\tablebases\wdl345;C:\tablebases\wdl6;D:\tablebases\dtz345;D:\tablebases\dtz6` + +It is recommended to store .rtbw files on an SSD. There is no loss in +storing the .rtbz files on a regular HD. + +Increasing the "SyzygyProbeDepth" option lets the engine probe less +aggressively. Set this option to a higher value if you experience too much +slowdown (in terms of nps) due to TB probing. + +Set the "Syzygy50MoveRule" option to false if you want tablebase positions +that are drawn by the 50-move rule to count as win or loss. This may be useful +for correspondence games (because of tablebase adjudication). - * polyglot.ini, for using Stockfish with Fabien Letouzey's PolyGlot - adapter. +The "SyzygyProbeLimit" option should normally be left at its default value. +**What to expect** +If the engine is searching a position that is not in the tablebases (e.g. +a position with 7 pieces), it will access the tablebases during the search. +If the engine reports a very large score (typically 123.xx), this means +that it has found a winning line into a tablebase position. -### Opening books +If the engine is given a position to search that is in the tablebases, it +will use the tablebases at the beginning of the search to preselect all +good moves, i.e. all moves that preserve the win or preserve the draw while +taking into account the 50-move rule. +It will then perform a search only on those moves. **The engine will not move +immediately**, unless there is only a single good move. **The engine likely +will not report a mate score even if the position is known to be won.** -This version of Stockfish has support for PolyGlot opening books. For -information about how to create such books, consult the PolyGlot -documentation. The book file can be selected by setting the *Book File* -UCI parameter. +It is therefore clear that behaviour is not identical to what one might +be used to with Nalimov tablebases. There are technical reasons for this +difference, the main technical reason being that Nalimov tablebases use the +DTM metric (distance-to-mate), while Syzygybases use a variation of the +DTZ metric (distance-to-zero, zero meaning any move that resets the 50-move +counter). This special metric is one of the reasons that Syzygybases are +more compact than Nalimov tablebases, while still storing all information +needed for optimal play and in addition being able to take into account +the 50-move rule. ### Compiling it yourself @@ -46,7 +88,7 @@ Stockfish has support for 32 or 64-bit CPUs, the hardware POPCNT instruction, big-endian machines such as Power PC, and other platforms. In general it is recommended to run `make help` to see a list of make -targets with corresponding descriptions. When not using Makefile to +targets with corresponding descriptions. When not using the Makefile to compile (for instance with Microsoft MSVC) you need to manually set/unset some switches in the compiler command line; see file *types.h* for a quick reference.