Author: Dieter Buerssner
Date: 09:52:34 07/27/04
Go up one level in this thread
On July 27, 2004 at 06:03:52, tomasz buchta wrote: >hi, is there available full documentation of commands for yace ? You can find some documentation inside the zip of Yace-Paderborn. Especially readme.txt, news.txt, tips.txt. Some of it is also on the web page, but perhaps not totally up to date. Ed Seid has contributed the text at the end of my post. Unfortunately, not all commands are documented. But the ones, that are should be enough for normal use, even from the console. If you have any specific question, let me know. Regards, Dieter --------------------------------------------------------- YACE MANUAL Version 2002.12.10 PRELIMINARY DRAFT Engine Author: Dieter Buerssner Contributors: Mogen Larsen, Matt Josephson Editor: Ed Seid --------------------------------------------------------- I. INTRODUCTION Yace, an acronym for "Yet another chess engine", is a console-based chess engine written primarily in C. Yace plays a strong game of chess. For the experienced user, Yace has many user-adjustable options which can modify its play and performance. II. INSTALLATION Yace can be used with a variety of graphical user interfaces, or GUIs. The distribution includes several subdirectories which provide for easy installation. Here are the steps for some of the more popular ones. A. Winboard Place the files 'yace.exe', 'yace.ini' and opening book 'dbbook.bin' (optional) into a common directory. Note the complete path and add the following lines to 'winboard.ini': "Yace" /fd=path "Yace" /sd=path If your path includes spaces, enclose the path in double quotes like /fd="C:\Chess Programs\Yace". B. UCI GUIs (Fritz 7, Chess Assistant 6.1, Shredder 5, Shredder 6 Classic, Arena) The only necessary file is 'yace.exe'. The opening book is optional. The 'yace.ini' configuration file should NOT be used. For optimal performance, Yace should be installed as a UCI engine (not Winboard). Installation and configuration should be handled by the GUI. C. Chessbase Since Chessbase is moving away from Winboard support and towards UCI support, Yace can not be installed as a Winboard engine under Chessbase. Also, the current version of Chessbase (version 8) does not have UCI support. Therefore, it is recommended to install Yace as a UCI engine under one of Chessbase's newer products (see II.B) that supports the UCI protocol. III. CONFIGURATION 'yace.ini' is the default configuration file. A different filename can be specified on the commandline. For example, "yace yacetest.ini" will use the file 'yacetest.ini' as the configuration file. If no filename is specified, 'yace.ini' is used. For the purpose of testing and tuning, it is suggested to use a different log file for each different configuration file. All commands are case-insensitive. Configuration commands can be grouped according to function: memory management, opening book, learning, save games/log, endgame tables, ICS, play and strength-related, miscellaneous and advanced commands. A. Memory management commands 1. hash [hashsize] default: 1M Specifies the hashtable size. The default hashsize is very small, so it is highly recommended to change this in 'yace.ini'. The suffixes "M" for megabyte and "K" for kilobyte may be used. Example: hash 10.5M, hash 10500K, hash 10500000 are all equivalent. B. Opening book commands 1. book_random [0|1] default: 1 0: The most popular move in the book will always be played. If two or more moves are equally popular or have !! attached, one of these moves will be selected randomly. Caution: In engine matches where the other engine uses a similar non-random book move selection scheme, expect many duplicate games. 1: Yace will play book moves based on the frequency of play in the book. 2. book_file [filename] Specifies the name of the opening book. The default is to perform all opening book operations on the file 'dbbook.bin'. Example: book_file mybook.bin 3. book_holes [n] default: 0 Used to detect holes in the opening book. If Yace leaves its opening book on or before the nth move, some data will be written to the file 'bkholes.pgn'. Setting n=0 disables this feature. Example: book_holes 6 4. overwrite_vgm [0|1] default: 0 (see command description under III.C Learning commands) 5. show_book C. Learning commands Yace utilizes three types of learning: position learning, book learning and result learning. Position learning. When Yace leaves the opening book (currently, within 15 moves of the last book move) and the score drops significantly, Yace will save information about that position in the two position learning files 'learnpos.bin' and 'learnpos.yac'. In future games, Yace utilizes this information to avoid such positions. Position learning only occurs when Yace starts from the initial position and is not active in Analyze mode. 1. pos_learn [0|1] default: 1 0: disables positional learning. 1: enables positional learning. 2. import_pos learnpos.yac Command to import another position learning file, allowing for easy exchange and incorporation of position learning files. Book learning. Book learning is related to moves within the opening book. When Yace thinks it came out of book with a disadvantage, information is written to the file 'bklearn.dat'. In future games, Yace will avoid those book lines that lose. 3. book_learn [#] default: 0 0: disables book learning. 1: enables book learning. 4. margin_book_learn_white [#] default: -70 Sets the value in centipawns below which Yace will think it came out of the opening bad as White. If within the first 10 moves of the game, if the score becomes less than this value, information is writtn to the file 'bklearn.pgn'. 5. margin_book_learn_black [#] default: -50 Sets the value in centipawns below which Yace will think it came out of the opening bad as Black. If within the first 10 moves of the game, if the score becomes less than this value, information is written to the file 'bklearn.pgn'. 6. lbook_file [filename] default: dblearn.bin Specifies the filename for book learning. 7. overwrite_vgm [0|1] default: 0 0: very good moves (!!) in the opening book are not changed. 1: very good moves (!!) in the opening book are changed to ?? if found to be a very bad move in the learn book. 8. min_learn_tc [seconds] default: 300 Gives the time control in seconds for which book learning will start. Based on a game length of 60 moves. Example: For Fischer time control of 5 minutes + 3 seconds, 60 moves converts to 480 seconds. C. Save games/log commands Search depth and search time are automatically saved in the PGN file. 1. sgames [filename] Saves games and scores to filename. It is suggested not to use the filename 'yace.pgn' because some software will write to the file 'yace.ini' when processing 'yace.pgn', which would destroy Yace's default configuration file. Example: sgames yacegames.pgn 2. show_eco [0|1|2] default: 1 0: Turn off the display of the ECO code and opening name in the PGN and kibitz/whispers. 1: Kibitz/whisper ECO code and opening name on ICS and display in Winboard (depends on the setting of whisper and autokib, and whether opponent is computer or human). 3. log_path [path] default: current dir Specifies a subdirectory where log files are saved. For Windows, the path ends with "\". For Unix, the path ends with "/". The directory is not automatically created; it must be manually created beforehand. Example: log_path logs\ 4. auto_log Automatically creates a new log file for each game. The filenames will be 'yace0001.log', 'yace0002.log', etc. 5. log [filename] Write Yace's logfile to filename, overwriting any existing file. Example: log yace.log 6. loga [filename] Appends Yace's logfile to the end of an existing file. Example: loga yace.log D. Endgame tables commands 1. tbldir [directory] Specifies the directory where Nalimov endgame tables (compressed or uncompressed) are located. 6-piece endgame tables are not supported. Example: tbldir e:\egtb 2. egtb_cache [size] default: 2M Specifies the cache size for endgame tables. This command must be placed before the "tbldir" command in 'yace.ini'. E. ICS commands Yace automatically sets finger note 1 to the program name and version number. 1. show_eco [0|1|2] default: 1 (see III.C.1 show_eco) 2. version [text] Adds the text to the name used to identify Yace to Winboard. This name will be seen in PGN files created by Winboard and the ICS hello message. Example: "version custom book" will change Yace's name to "Yace 0.99.56 custom book" 3. say <kibitz> Yace will issue a "say Hello..." (or kibitz) command at the beginning of a game. 4. autokibitz [0|1] default: 0 0: disabled autokibitz. 1: automatically kibitz against a computer opponent, and whisper against a computer opponent. 5. whisper [kibitz|anytext] By default, Yace will whisper the PV when playing on an ICS. The "kibitz" argument will make Yace kibitz the PV. "anytext" is useful if there is an alias set for "anytext". 6. announce_mate [kibitz|whisper|say] Yace will announce mate using ICS command kibitz, whisper or say. F. Play and strength-related commands 1. resign [on|off] default: off Turns the resign feature on or off. Yace will continue to move, even after it has resigned, to allow the opponent the pleasure of mating it. 2. rmoves [3-20] default: 4 Specifies the number of consecutive moves that Yace must score to be less than "rscore" before it will resign. 3. rscore [-6 to -20] default: -8.0 Specifies the score below which Yace will consider resigning. Floating point values (ie, rscore -6.8) are allowed. 4. hint 5. kids_mode [0|1|2] default: 0 0: Disables kids mode. 1: Yace will not search, and will play a random legal move. The opening book is used. 2: Yace will do a short search of 1 ply depth. The opening book is used. Note: To disable the opening book use "use_book off". If kids_mode 1 is too easy and kids_mode 2 is too hard, you can slightly weaken Yace with the command "qexact 1". 6. larsen_mode [#] default: 0 larsen_mode tries to play like Bent Larsen in the opening. 0: Disables larsen_mode. 1: Will randomly open with c4 or f4 as White. 2: Will mirror White's first move as Black. Example: 1 f4 f5, 1 e4 e5, 1 Nf3 Nf6 3: Combines larsen_mode 1 and 2. G. Miscellaneous commands 1. rem or ; Prefix for comments in configuration file. Comments must be on their own line, not attached to the end of a command. There must be at least one space between the prefix and the comment. Example: rem Options for testing below. Example: hash 10M ; A comment here is NOT allowed. 2. epdtest [filename] 3. read_pgn [filename] <#> Loads a game from a PGN file. If # isn't specified, the first game is loaded. F. Advanced commands 1. pval [0.5-2.0] default: 1.0 pval is a weighting factor for positional evaluation. pval>1.0 means a higher positional score. 2. nval 1 Use new piece values for P,N,B,R,Q of 80,340,350,500,1000 centipawns. The old values are 100,320,330,500,1000. This should help Yace not make bad trades early in the game. The next two commands affect time allocation. 3. mintime_factor [#] default: 0.5 4. nmoves_inctime [#] default: 0 The next five commands adjust for fractional extensions. 5. icheck [#] default: 1.0 6. irepcheck [#] default: 0.59 7. irecapture [#] default: 0.59 8. ipawn7 [#] default: 1.0 9. inullthreat [#] default: 1.0 The following five commands relate to the null move algorithm. 10. null [#] OBSOLETE. Now interpreted as null_low. 11. null_low [#] default: 3.0 12. null_high [#] default: 3.0 13. null_endgame [#] default: 2.0 14. null_split [#] default: 4.5 IV. OPENING BOOK CREATION AND COMMANDS Several opening books can be downloaded from the Yace website. Alternatively, Yace gives the user the ability to create a custom opening book from a PGN collection. It is recommended to issue the command "hash 0" to conserve memory when bookbuilding. Also, you may want to rename or backup any existing books to avoid overwriting them. 1. book_parse [pgnfile] Returns the number of moves (nmoves) found in the PGN file. A rough guideline is to use 1% of nmoves for initialentries when using the book_create command. 2. book_file [bookname] default: dbbook.bin Specifies the name of Yace's opening book. Once specified, Yace will use this file for selecting book moves, as well as all book commands (book_create and book_add). Example" book_file mybook.bin 2. book_create [pgnfile initialentries maxply mincount useresult commentsonly] Creates (and overwrites) the opening book file. The default book file is 'dbbook.bin', unless changed with the book_file command (see above). Only "pgnfile", "initialentries" and "maxply" are required; the last 3 parameters are optional. "initialentries" requires a bit of guessing. The actual number is not too critical. A number too large will waste disk space, while a number too small will take longer for book creation and lookup. Use 1% of nmoves (returned by book_parse) as a guide. "maxply" specifies the depth of the opening book in half-moves. "mincount" is the number of times a move has to be played to be put in the book. If not specified, the default is 1. "useresult" affects how moves are counted, and takes a value of 0 to 5, with a default of 0. 0: The game result is ignored. 1: Only moves that won or drew for the side to move are considered. 2: Same as 1, except winning moves are counted twice, as if the move was played in two games. This influences the move selection because Yace normally selects book moves based on the frequency that each book move is played. 3: Only winning moves are considered. 4: Only winning moves for White, winning or drawing moves for Black are considered. 5: Same as 4, except winning moves for Black are counted twice. If there are no results in the PGN, then the moves for both sides are counted. "commentsonly" default: 0 When "commentsonly" is 1, only moves with annotations (??,?,?!,!?,!,!!) are considered. This option is most useful when used with the book_add command to build a repertoire book. 3. book_add Used to add book lines to existing book. V. COMMANDS PRIMARILY FOR THE CONSOLE A. Time control and related commands 1. time [moves time secmoves sectime inc] time and sectime are given in seconds. "sd" denotes sudden death. Examples: time 40 3600 (40 moves in 1 hour), time sd 3600 (game in 1 hour), time 40 3600 sd 1800 (40 moves/1 hour, followed by sudden death 30 minutes) B. Misc commands 1. help VI. SUPPORTED WINBOARD COMMANDS VII. NOTES A. Understanding Yace search evaluations f: finished search at this depth. u: this depth is unfinished. t: best move at this depth so far. H: the evaluation was found in the hashtable (not shown in Fritz mode). t+: fail-high. This move seems better. Search again with a larger window. t-: fail-low (shouldn't happen too often). ++: much better than expected. Search again with a new window. -: much worse than expected. Search again with a new window. For t+, t-, ++ and -, the displayed PV will not make much sense since a fail-high or fail-low occurred. Searching again should result in a better PV.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.