Plywood version 1.7.2 by Jim Bumgardner (www.jbum.com)

Copyright 2002, Jim Bumgardner

Plywood is a winboard compatible chess engine.

It supports xboard/winboard protocol version 2, using FIN notation.

In addition to the standard winboard commands, plywood also supports the
following commands:


usebook [0/1]                   Use opening book (found in book.dat) def=1

autoseek [0/1]                  Auto seek for games when on ICS or FICS def=1

autosave n                      Auto-save games in PGN files (games go in SavedGames directory) def=1

booklimit n                     Limit opening book to first N moves def=0 (unused)

maxply n                        Set max ply (for following two commands)

ceil [0/1]                      Fixed search ceiling (don't search higher than maxply) def=0

floor [0/1]                     Fixed search floor (search at least maxply)  def=0

resigncomputers	[0/1]           Resign automatically when playing a computer and down by 10 pawns. def=1

loadgame filename               Load game in PGN format

logio [0/1]                     Log chess engine input/output to the log file.

verbose [n]                     Set verbosity level (amount of log output).

debug [n]                       Set debug level (amount of debugging log output).

ts <test-suite-name> #[s]       Run through a suite of test problems 
                                  FIN or EPD notation - EPD is assumed if no
                                  file extension provided.

fin  <test-suite-name> [#[s]]          Run through a suite of test problems in FIN notation.
epd  <test-suite-name> [#[s]]          Run through a suite of test problems in EPD notation.


TEST SUITES
===========
I've provided two EPD test-suite files (Bratko-Kopec and Win-at-Chess), more are 
available elsewhere.

For test suites, you should use a number to indicate if you want a fixed-ply test or
a fixed-time test.  A 10-second fixed-time test is assumed.  If you supply a number
less than or equal to 15 a fixed-ply test is assumed unless you append an "s" to the
number.  Numbers > 15 are assumed to be fixed-time tests (in seconds).

Examples:

ts bk 5              # bratko-kopec test using fixed 5-ply search
ts wac 10s           # win-at-chess test using 10-seconds per problem

Example results on 1.8 Ghz Pentium 4:

Test    #Correct       Avg Time or Depth  Avg Nodes     
BK-5    8               0.26sec            56 knodes
BK-10s  13              9.21d              2.717 mnodes

ICS PLAY
========
On ICS or FICS, you can get Plywood to seek for a variety of standard and blitz games by turning
autoseek on.  In addition, plywood will attempt to resume adjourned games, periodically, and will
rematch an opponent after an odd number of games with that opponent.


Release Notes
=============
Version 1.7.2
* Added verbose, debug and logio commands to allow users to control the amount of logging.

* Sped up move generation via assembly language BSF instruction. Appears to be about 10% faster.

* Added Heinz's adaptive-null-move pruning.

* Added check-extensions in q-search.

* Modified time allocation to use more of bonus time if plywood's clock is ahead of opponent's clock.

* Added (simplified actually) additional check-extensions.

* Extending search a bit when following PV.

* Turned off automatic draw when playing on an ICS server (I lost a game on time because I was 
waiting for my opponent to agree to draw on 50-move rule).


Version 1.7

* Added resigncomputers (which defaults to 1).  Previously plywood would not automatically
resign (when in a badly losing game) when playing a computer.  Now it will by default, but you 
can revert to the previous behavior by setting this to 0.

* Sped up move generation, which increased the overall nodes/second by about 10%.

* Modified the pawn-evaluation a bit, so that there is a penalty (similar to backward pawns)
for pawns which are on the same rank.


Version 1.6
First version 11/18/2002



- Jim Bumgardner
