B A R O N ========= Version FRC 1.3.0 Baron is a spare-time project which was intended to have superb end-game playing capabilities. This will be the target for development in the long term. My present focus is on Baron's playing skills, the end-user interface and the engine configuration possibilities. Current mechanisms used include: - Support for endgame tablebases (Nalimov) - Positions learning - Transposition Hashtables - Static Evaluation Hashtable - Double Nullmove pruning - Fractional extensions, including check, threat, single reply, recapture and pawn push extensions - Internal Iterative Deepening - Killer and history heuristics - Negascout with aspiration search - Bitboards - Opening book (standard chess only) - Fischer Random Chess F I L E S --------- Files included in the distribution: readme.txt - This file frcbaron.exe - Winboard executable baron.ini - Configuration file for the winboard executable changes.txt - A log of changes in this and previous versions Only frcbaron.exe is required to run the Baron. Having baron.ini around is recommended and even required, such as when using endgame tablebases specifying hash table size etc. C O N F I G U R A T I O N ------------------------- On startup, the Baron will read its configuration file from the current directory. By default this file is called 'baron.ini' but by specifying a parameter to the Baron on the command-line another configuration file can be selected, e.g. 'baron no-egtb' will use the configuration file 'no-egtb.ini'. This file may contain a number of commands: hash <level> Sets the maximum size of the transposition hash tables in kilobytes. The actual size of the hashtable may be smaller as it can only be set in steps. shash <level> Sets the maximum size of the static evaluation hash tables in kilobytes. The actual size of the hashtable may be smaller as it can only be set in steps. tbpath <path> Sets the path for the Nalimov endgame tablebases to <path>. cache <size> Sets the size of the Nalimov endgame tablebases to <size> kilobytes level <a> <b> <c> Sets the default time control. resign <resignscore> Sets the score threshold for resigning. The score should be below the resignscore for 4 times in a row. Then the Baron resigns. Only negative scores are accepted. 0 or positive scores will turn off resigning. Default is -900. log <on/off> Turns logging on or off. Default is on. logmode <append/overwrite> Add information to the existing log file or overwrite it. Default is overwrite patzer <on/off> Weakens the Baron's strength. Default 'off'. variant <frc/standard> Specifies the variant to play when the command 'new' is received. This is only necessary when the GUI used does not send the command 'variant fischerandom' when starting an FRC game. Default is 'standard' (as defined in the winboard protocol specification) bookfile <path\filename> Specifies the bookfiles to use. Note, the last part (W.obp and B.obp) should be left off. The default name is 'baron'. The opening book that is used by the Baron is divided over two files: One book contains the moves for white, and one that contains the moves for black. The book is only used in standard chess learning <level> Sets the learning behaviour: 0: no learning 1: only uses previously learned positions 2: learns, but does not use learned positions 3: learns, and uses learned positions learnfile <path\filename> Specifies the learnfiles to use. Note, the last part (.wlp and .blp) should be left off. The default name is the same as the name of the program (without .exe). addlrnfile <path\filename> Specifies an additional learnfile to import. Note, the last part (.wlp and .blp) should be left off. end Marks the end of the configuration file. The following parameters should only be set by experienced users: iidmindepth <ply> The minimal remaining depth where Internal Iterative Deepening is used etcmindepth <ply> The minimal remaining depth where Enhanced Transposition Cutoffs based moveordering is tried etccutratio <number> The extent in which ETC based moveordering is used. 0: never ETC based moveordering 1000: always ETC based moveordering All integer values are accepted. scoutthreshold <number> The minimumsize of the window for which a scout will be performed before a search with the full window is done acceptoldlrn <on/off> Specifies whether the version of learning files should be checked. When off (default) old learning files are not imported. This option only works for learnfiles that are specified after this option in the .ini file. NOTE: This should be used with care are playing strength may degrade ---- when used. C O M M A N D S --------------- The following commands can be given to Baron on the console: bench <level> runs the built-in benchmark. 8 positions are searched on a standard searchdepth and the total searchtime and nodes per second are reported. level=0 is the shortest bench and takes about 30 seconds on an AMD K6-2 500Mhz. A higher level adds a number of plies to the standard depth search. black sets black to move in the current position bye exits the program d displays the board easy disables pondering force computer stops playing fritz switches to Xboard mode with Fritz/Chessbase extensions go computer plays for the side to move hard enables pondering hash <size> sets the maximum transposition hashtable size in kilobytes Not all sizes are possible as the number of hashtable entries has to be a power of 2. The actual size will be the largest possible that is smaller than the size mentioned The minimum hashtable size is 256 kilobytes. hint shows a hint level <moves> <time> <inc> sets time controls new starts a new game nopost disables printing the principal variations off computer stops playing on computer plays for the side to move otim human players time control (not supported) post shows the principal variation quit exits the program remove takes back a complete move reset resets/empties hashtables sd <depth> searches <depth> ply per move setboard <fen> sets the position shash <level> sets the maximum evaluation hashtable size in kilobytes. Not all sizes are possible as the number of hashtable entries has to be a power of 2. The actual size will be the largest possible that is smaller than the size mentioned The size of the hashtable doubles with each higer level st <time> searches for <time> seconds per move test <time> <filename> executes a testsuite. As an example the Win At Chess suite is included in the distribution time <centiseconds> sets the clock undo takes back a move white sets white to move in the current position xboard switches to XBoard mode Moves can be entered in coordinate notation only, e.g., e2e4, e7e8Q W I N B O A R D P R O T O C O L S U P P O R T ------------------------------------------------- The Baron supports all commands of the winboard protocol version 1 and 2. C H E S S B A S E S U P P O R T --------------------------------- The Chessbase implementation is based on winboard protocol version 1. All Chessbase extensions have been implemented. The use of the native Baron book is not possible when using a Chessbase GUI. Choose a book from the Chessbase interface instead. The Baron book is not available in the Chessbase format. F I S C H E R R A N D O M C H E S S --------------------------------------- As far as I know the only GUI that supports Fischer Random Chess is Arena (http://www.playwitharena.com) The Baron is only tested for FRC in combination with Arena. Other GUI's may not work as the Arena specific winboard extensions for FRC are used (castling notation). A C K N O W L E D G E M E N T S ------------------------------- I used ideas already implemented in other chess programs when writing my own chess engine. The starting point was one of the smallest chess programs around: Tom's Simple Chess Program version 1.73. I would like to thank Tom Kerrigan for making the source of the program available. Although all of Tom's original code has gone now, it gave me the opportunity to quickly build a working program. Colin Frayn and Dann Corbit have the ideal strong chess-playing program with easily undestood source code in their Beowulf project. I must say I got some very useful ideas from their program, especially concerning bitboards. I very much appreciate their effort. I've been using Robert Hyatt's program Crafty for a long time for chess analysis and I've been impressed with the ...
vangoche