Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: full documentation of yace commands

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.