X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=README;h=ac68f6658292fd3748a855fb5eff45f89a35ab4c;hb=5eed4adb3552562329c0b0b460c8851efb1a38bb;hp=0b313e9812733e21e6fe96041c9413995a636874;hpb=e7a2abd9bd4fce9ebbd70793b00d9d5f99886348;p=polyglot.git diff --git a/README b/README index 0b313e9..ac68f66 100644 --- a/README +++ b/README @@ -5,14 +5,15 @@ POLYGLOT(6) POLYGLOT(6) NAME PolyGlot - Winboard protocol to UCI protocol adapter - book engine for Polyglot books - - a collection of utilities for creating opening books + - a collection of utilities for creating and analyzing open- + ing books - a utility for analyzing epd files - a perft counter SYNOPSIS - polyglot [configfile] - - polyglot -ec engine + polyglot [configfile] [-noini] [-ec engine] [-ed enginedirectory] [-en + enginename] [-log] [-lf logfile] [-hash value] [-bk book] [-pg + =]* [-uci =]* polyglot make-book [-pgn inputfile] [-bin outputfile] [-max-ply ply] [-min-game games] [-min-score score] [-only-white] [-only-black] [-uni- @@ -20,8 +21,13 @@ SYNOPSIS polyglot merge-book -in1 inputfile1 -in2 inputfile2 [-out outputfile] - polyglot [configfile] epd-test [-epd inputfile] [-min-depth depth] - [-max-depth depth] [-max-time time] [-depth-delta delta] + polyglot info-book [-bin inputfile] [-exact] + + polyglot dump-book [-bin inputfile] -color color [-out outputfile] + + polyglot [configfile] epd-test [engineoptions] [-epd inputfile] + [-min-depth depth] [-max-depth depth] [-max-time time] [-depth-delta + delta] polyglot perft [-fen fen] [-max-depth depth] @@ -78,6 +84,33 @@ DESCRIPTION PolyGlot can compile a pgn file into a binary PolyGlot book and fur- thermore it can merge two such binary books into a third one. + PolyGlot can also extract some useful information from PolyGlot books. + The utility "dump-book" dumps the "lines" in a book for a given color. + By definition a line is a sequence of moves (from the starting posi- + tion) in which the given color makes only book moves and the other + color makes arbitrary moves (i.e. not necessarily book moves). + + Since a PolyGlot book is built up from positions and not lines there + may be (and there usually are) many positions in the book that are not + on a "line" as defined in the previous paragraph. It is convenient to + call such positions "isolated" positions. The utility "info-book" + counts such isolated positions. + + Some of the isolated positions are provably unreachable and they could + in principle be deleted from the book. For example if a book contains + only the move "e4" in the starting position but also the position after + "d4 d5" then this last position is provably unreachable since it + requires white to make a non-book move when a book move is available. + Such situations arise frequently from the priority rules in merging + books. + + Unfortunately not all isolated positions are provably unreachable and + it is difficult to identify the latter. If invoked with "-exact" the + utility info-book will attempt to count the isolated positions which + require a player to make a non-book move when a book move is available. + Due to the possibility of transpositions this is not a fool proof + method. + Epd test mode In epd test mode, PolyGlot will search positions in an epd file and @@ -91,17 +124,40 @@ DESCRIPTION ever much slower than other more dedicated programs. OPTIONS - When invoked without options or with a config file as argument PolyGlot - acts as an adapter. The config file format is documented below. The - default config file is "polyglot.ini". + When PolyGlot is invoked as an adapter of in epd-test mode it gets its + options from a config file and then from the command line. The default + config file is "polyglot.ini" but an alternative one may be optionally + included as first argument. The config file format is described below. - When invoked as + The following engine options may be specified on the command line. + + -noini + Do not use a config file, even if one was specified on the command + line. + + -pg The argument is a string of the form =. This option + will set the Polyglot option to . + + -uci + The argument is a string of the form =. This option + will set the engine option to . + + -ec This is an alias for -pg "EngineCommand=". + + -ed This is an alias for -pg "EngineDir=". + + -en This is an alias for -pg "EngineName=" - polyglot -ec engine + -hash + This is an alias for -uci "Hash=". - PolyGlot simply starts "engine" and acts as an adapter. No config file - is used and thus it is expected that all properties will be set by the - GUI. + -log + This is an alias for -pg "Log=true". + + -lf (default: "polyglot.log") + This is an alias for -pg "LogFile=". + + -bk This is an alias for -pg "Book=true" -pg "BookFile=". When invoked as @@ -158,10 +214,39 @@ OPTIONS When invoked as + polyglot dump-book + + PolyGlot supports the following options + + -bin (default: book.bin) + Input file in PolyGlot book format. + + -color + The color for whom to generate the lines. + + -out (default: book_.txt) + The name of the output file. + + When invoked as + + polyglot info-book + + PolyGlot supports the following options + + -bin (default: book.bin) + Input file in PolyGlot book format. + + -exact + Attempt to count the provably unreachable positions among the iso- + lated ones. Note that this takes a very long time. + + When invoked as + polyglot epd-test - (possibly with a config file as first argument) PolyGlot supports the - following options + (possibly with a config file as first argument) PolyGlot supports + besides the generic options described above the following additional + options. -max-depth (default: 63) Unconditionally stop the search when this depth has been reached. @@ -170,9 +255,9 @@ OPTIONS Unconditionally stop the seach after this amount of time. -depth-delta (default: 3) - Stop the search if the best move has been constant for this many - depths, on condition that the mininal depth and minimal time have - been reached. + Stop the search if the solution as been found and the best move has + been constant for this many depths, on condition that the mininal + depth and minimal time have been reached. -min-depth (default: 8) Minimal search depth when the search is stopped using @@ -206,10 +291,12 @@ CONFIG FILE FORMAT option = value ... - Lines starting with "#" are ignored. + The characters "#" and ";" serve as comment characters. - NOTE: There can be spaces in option names or values. Do not use - quotes. Boolean values are written as "true" or "false". + By default initial and final white space is stripped from option val- + ues. If you want to avoid this, or if you want use one of the comment + characters # or ; in option values (such as for NalimovPath), enclose + the value in quotes. [PolyGlot] section @@ -264,6 +351,9 @@ CONFIG FILE FORMAT Show search information during engine pondering. Turning this off might be better for interactive use in some interfaces. + ScoreWhite (default: true) + Report score from white's point of view in xboard mode. + KibitzMove (default: false) Whether to kibitz when playing a move. @@ -280,12 +370,13 @@ CONFIG FILE FORMAT effect only if "KibitzPV" is selected, move kibitzes are always sent regardless of the delay. + KibitzInterval (default: 0) + This is another form of throttling. PolyGlot will usually wait this + many seconds before doing the next kibitz. + UCI (default: false) If true PolyGlot will not understand xboard commands. - Chess960 (default: false) - Play Chess960 (also called Fischer Random Chess or FRC), - MateScore (default: 10000) Mate score reported to GUI when in xboard mode. @@ -308,9 +399,16 @@ CONFIG FILE FORMAT Select moves according to their weights in the book. If false the move with the highest weight is selected. - BookLearn (default: false) - Record learning information in the opening book. Naturally this - requires the opening book to be writable. + BookRandom (default: true) + Select moves according to their weights in the book. If false the + move with the highest weight is selected. + + BookDepth (default: 256) + Stop using the book after this number of moves. + + BookTreshold (default: 5) + Do not play moves with a weight (probability) lower than this (in + per mil). UseNice (default: false) Run the engine at nice level 5, or "NiceValue" if it set. On some @@ -328,12 +426,20 @@ CONFIG FILE FORMAT This a bit vector in which each bit represents the processors that a process is allowed to run on. This option works only on Windows. + SaveSettingsOnExit (default: true) + If true then PolyGlot will implement persistence by loading its + options from an additional INI file which is specified by the + option "SaveFile". At exit PolyGlot will also save its options to + this INI file. + + SaveFile (default: .ini) + The name of the file from which to take the additional options. + Work arounds Work arounds are identical to options except that they should be used only when necessary. Their purpose is to try to hide problems with - various software (not just engines). The default value is always cor- - rect for bug-free software. + various software (not just engines). IMPORTANT: Any of these work arounds might be removed in future ver- sions of PolyGlot. You are strongly recommended to contact the author @@ -367,9 +473,26 @@ CONFIG FILE FORMAT RepeatPV (default: true) When true, PolyGlot repeats the last pv string (which also contains score,depth and time usage) it got from the engine. Some engines - however do not send a new pv string just before sending the move - and the now old pv string might confuse debugtools that parse the - winboard debug files. + however do not send a new pv string just before sending the move. + In that case the output of PolyGlot would be inconsistent. When + RepeatPV is false PolyGlot does not repeat the last pv string. Due + to the way kibitzing is implemented, KibitzMove is disabled in that + case. + + WbWorkArounds (default: true) + The intention of these options is to provide work arounds for + xboard/winboard bugs should they arise. This one decapitalizes the + word Draw in options that contain this word. Some versions of + xboard/winboard contain a bug which causes such options to be + interpreted as draw claims by the engine. + + Engines that send options with "Draw" in their name are Rybka and + HIARCS. + + WbWorkArounds2 (default: false) + Old version of Winboard clear the engine output window at depth 1. + With this work around PG will send info lines at depth >=2. This + may or may not improve the display. [Engine] section @@ -401,15 +524,31 @@ EXAMPLES polyglot make-book -pgn games.pgn -bin book.bin -max-ply 30 - Merge books "in1.bin" and "in2.bin" into a book "out.bin". + Merge books "w1.bin" and "w2.bin" into a book "w.bin". polyglot merge-book -in1 w1.bin -in2 w2.bin -out w.bin - Here is a minimal config file + Inspect lines for white in "w.bin" + + polyglot dump-book -bin w.bin -color white -out w_white.txt + + Test epd file "test.epd" with a (maximum) search time of 7 minutes per + position + + polyglot epd-test -epd test.epd -max-time 420 + + The command line for using the UCI engine "fruit" with 128M hash in + xboard with logging enabled. + + xboard -fcp "polyglot -noini -log -ec fruit -hash 128" + + The equivalent config file would be: [PolyGlot] EngineCommand = fruit + Log = true [Engine] + Hash=128 EXIT STATUS PolyGlot always returns 0 on exit. @@ -429,4 +568,4 @@ SEE ALSO - 2009-01-13 POLYGLOT(6) + 2009-08-31 POLYGLOT(6)