495 lines
12 KiB
Groff
495 lines
12 KiB
Groff
.TH gnuchess 6
|
|
.SH NAME
|
|
gnuchess \- Chess
|
|
.SH SYNOPSIS
|
|
.B gnuchess
|
|
[
|
|
.B [[-|+]a]
|
|
.B [-A aging-rate]
|
|
.B [-b bookfile]
|
|
.B [-B binbookfile]
|
|
.B [-C cache-table-size]
|
|
.B [-c]
|
|
.B [[-|+]D ]
|
|
.B [[-|+]E ]
|
|
.B [[-|+]e ]
|
|
.B [[-|+]F ]
|
|
.B [-H hash-depth]
|
|
.B [[-|+]h ]
|
|
.B [-L language]
|
|
.B [-l listfile]
|
|
.B [[-|+]N]
|
|
.B [[-|+]p ]
|
|
.B [-P plys]
|
|
.B [-r length]
|
|
.B [-s savefile]
|
|
.B [-S binbooksize]
|
|
.B [-t]
|
|
.B [-c hashfile-size]
|
|
.B [-T transition-table-size]
|
|
.B [[-|+]V]
|
|
.B [-v]
|
|
.B [-x]
|
|
.B [-z search-fuzz]
|
|
.B arg1 arg2
|
|
]
|
|
.SH DESCRIPTION
|
|
.I Gnuchess
|
|
plays a game of chess against the user or it plays against itself.
|
|
.PP
|
|
.I Gnuchess
|
|
is an updated version of the GNU chess playing program.
|
|
It has a simple alpha-numeric board display, an IBM PC compatible interface,
|
|
or it can be compiled for use with the
|
|
.B chesstool
|
|
program on a SUN workstation or with the
|
|
.B xboard
|
|
program under X-windows.
|
|
To invoke the program type:
|
|
.TP
|
|
.B gnuchess
|
|
- simple curses based version
|
|
.TP
|
|
.B gnuchessn
|
|
- fancy version using curses and inverse video on UNIX, or IBM PC cursor
|
|
controls and characters on MSDOS
|
|
.TP
|
|
.B gnuchessr
|
|
- ASCII based version
|
|
.TP
|
|
.B gnuchessc
|
|
- chesstool compatible version
|
|
.TP
|
|
.B gnuchessx
|
|
- xboard compatible version
|
|
.SH TIME CONTROLS
|
|
.PP
|
|
If one argument is given, it is the search time per move in
|
|
[minutes:]seconds.
|
|
So
|
|
.B gnuchess 30
|
|
will generate one move every 30 seconds, while
|
|
.B gnuchess 5:00
|
|
will generate one move every 5 minutes.
|
|
|
|
If two or more arguments are given, they will be used to set tournament
|
|
time controls with the first argument of each pair being the number of moves and the second
|
|
being the total clock time in minutes[:seconds]. Thus, entering
|
|
.B gnuchess 60 5
|
|
will set
|
|
the clocks for 5 minutes (300 seconds) for the first 60 moves,
|
|
and
|
|
.B gnuchess 30 3:30
|
|
will allow 3 minutes and 30 seconds for 30 moves.
|
|
|
|
.B gnuchess 30 5 1 :30
|
|
will allow 5 minutes for the first 30 moves and 30 seconds for each move after that.
|
|
Up to 4 pairs of controls may be specified.
|
|
|
|
If no argument is given the program will prompt the user for level of play.
|
|
|
|
For use with
|
|
.B chesstool
|
|
or
|
|
.B xboard,
|
|
see the documentation on those programs.
|
|
.SH BOOK
|
|
.PP
|
|
At startup
|
|
.I Gnuchess
|
|
reads the
|
|
.I binbook
|
|
file if it is present. It then looks for a
|
|
.I book
|
|
file. If it is present it adds its contents to the
|
|
.I binbook
|
|
data. If the
|
|
.I binbook
|
|
file is writable a new combined
|
|
.I binbook
|
|
file is written.
|
|
.PP
|
|
The book
|
|
.I gnuchess.book
|
|
consists of a sequence of openings.
|
|
An opening begins with a line starting with a
|
|
.B !
|
|
, the rest of the line is comments.
|
|
Following this is a series of moves in algebraic notation alternating white
|
|
and black separated by white space. A move may have a
|
|
.B ?
|
|
after it indicating this move should never be made in this position.
|
|
Moves are stored as position:move so transpositions between openings
|
|
can take place.
|
|
.SH HASHFILE
|
|
.PP
|
|
The hashfile if created should be on the order of 4 megabytes or
|
|
.B gnuchess -c 22.
|
|
This file contains positions and moves learned from previous games.
|
|
If a hashfile is used the computer makes use of the experience it
|
|
gained in past games. Tests run so far show that it plays no worse
|
|
with the hashfile than without, but it is not clear yet whether
|
|
it provides a real advantage.
|
|
.SH LEGAL MOVES
|
|
.PP
|
|
.B Note:
|
|
Piece letters and legal castling notation is determined by the language file.
|
|
What is specified here is the default English.
|
|
.PP
|
|
Once
|
|
.I gnuchess
|
|
is invoked, the program will display the board and prompt the user
|
|
for a move. To enter a move, use the notation
|
|
.B e2e4
|
|
where the first letter-number pair indicates the origination square
|
|
and the second letter-number pair indicates the destination square.
|
|
An alternative is to use the notation
|
|
.B nf3
|
|
where the first letter indicates the piece type (p,n,b,r,q,k).
|
|
To castle, type the origin and destination squares
|
|
of the king just as you would do for a regular move, or type
|
|
.B o-o
|
|
or
|
|
.B 0-0
|
|
for kingside castling and
|
|
.B o-o-o
|
|
or
|
|
.B 0-0-0
|
|
for queenside. To promote a pawn append the type of the new piece to the move, as in
|
|
.B e7e8q
|
|
or
|
|
.B c7c8r.
|
|
.SH "FUNCTION LETTERS"
|
|
.TP
|
|
.B -L lang
|
|
Use language
|
|
.I lang from the file
|
|
.B gnuchess.lang.
|
|
If -L is not specified it defaults to the language used in the first line in the file.
|
|
.B gnuchessr -L ger
|
|
will use the german language.
|
|
.TP
|
|
.B -A aging-rate
|
|
Specify aging rate for hash table entries
|
|
.TP
|
|
.B [-]a
|
|
Do [do not] search on opponents time.
|
|
.TP
|
|
.B -b bookfile
|
|
Use bookfile for opening book.
|
|
.TP
|
|
.B -B binbookfile
|
|
Use binbookfile for binary opening book.
|
|
.TP
|
|
.B -C cache-size
|
|
Specify evaluation cache table size (in entries).
|
|
.TP
|
|
.B -D
|
|
Toggle DEEPNULL at runtime.
|
|
.TP
|
|
.B -E
|
|
Toggle flag.threat.
|
|
.TP
|
|
.B -e
|
|
Toggle flag.neweval to force evaluations instead of estimates
|
|
.TP
|
|
.B -F
|
|
Toggle flag.noscore
|
|
.TP
|
|
.B -H hash-depth
|
|
pecify depth in plys for hashing.
|
|
.TP
|
|
.B -S size
|
|
Size of binbookfile for memory based and GDX books. For creating a binbookfile.
|
|
.TP
|
|
.B -P plylevels
|
|
Number of plys to include in the binbookfile. For generating a binbookfile.
|
|
.TP
|
|
.B -p
|
|
Toggle flag.pvs
|
|
.TP
|
|
.B -c size
|
|
Create a new HASHFILE. File size is 2^size entries of approximately 65 bytes.
|
|
.TP
|
|
.B [-]h
|
|
Do [do not] use hashfile.
|
|
.TP
|
|
.B -l pathname
|
|
Pathname of the loadfile use with the
|
|
.BR get
|
|
or
|
|
.BR xget.
|
|
.TP
|
|
.B -r length
|
|
Rehash length times in searching entries for position in transposition table.
|
|
.TP
|
|
.B -s pathname
|
|
Pathname of the save file to use with the
|
|
.BR save
|
|
command.
|
|
.TP
|
|
.B -t
|
|
Show statistics for HASHFILE
|
|
.TP
|
|
.B -T size
|
|
Set the transposition table size to size entries. (minimum is MINTTABLE)
|
|
.TP
|
|
.B -v
|
|
Show version and patchlevel.
|
|
.TP
|
|
.B -x value
|
|
Use
|
|
.BR value
|
|
as the evaluation window
|
|
.BR xwndw.
|
|
.SH COMMANDS
|
|
.PP
|
|
In addition to legal moves, the following commands are available as responses.
|
|
.B Note:
|
|
command names are determined by the
|
|
.I language
|
|
file and may vary with the implementation. This is default English.
|
|
.PP
|
|
.B alg
|
|
-- allow algebraic input (not implemented)
|
|
.PP
|
|
.B Awindow
|
|
-- change Alpha window (default score + 90)
|
|
.PP
|
|
.B Bwindow
|
|
-- change Beta window (default score - 90)
|
|
.PP
|
|
.B beep
|
|
-- causes the program to beep after each move.
|
|
.PP
|
|
.B bd
|
|
-- updates the current board position on the display.
|
|
.PP
|
|
.B bk
|
|
-- Print out all moves for this position from the book as: move response value
|
|
.PP
|
|
.B book
|
|
-- turns off use of the opening library.
|
|
.PP
|
|
.B both
|
|
-- causes the computer to play both sides of a chess game.
|
|
.PP
|
|
.B black
|
|
-- causes the computer to take the black pieces.
|
|
If the computer is to move first the
|
|
.B go
|
|
command must be given.
|
|
.PP
|
|
.B eco
|
|
-- Print out opening information for this game - lists ECO # and variations
|
|
.PP
|
|
.B coords
|
|
-- show coordinates on the display (visual only)
|
|
.PP
|
|
.B contempt
|
|
-- allows the value of
|
|
.I contempt
|
|
to be modified.
|
|
.PP
|
|
.B debug
|
|
-- asks for a piece as color piece, as wb or bn, and shows its calculated value on
|
|
each square.
|
|
.PP
|
|
.B debuglevel
|
|
-- sets level of debugging output if compiled with debug options.
|
|
.PP
|
|
.B depth
|
|
-- allows the user to change the
|
|
search depth of the program. The maximum depth is 29 ply.
|
|
Normally the depth is set to 29 and the computer terminates
|
|
its search based on elapsed time rather than depth.
|
|
If depth is set to (say) 4 ply,
|
|
the program will search until all moves
|
|
have been examined to a depth of 4 ply (with extensions up
|
|
to 11 additional ply for sequences of checks and captures).
|
|
If you set a maximum time per move and also use the depth command,
|
|
the search will stop at the specified time or the specified depth, whichever
|
|
comes first.
|
|
.PP
|
|
.B easy
|
|
-- toggles easy mode (thinking on opponents time)
|
|
on and off. The default is easy mode ON. If easy mode is disabled,
|
|
the keyboard is polled for input every so often and when input is
|
|
seen the search is terminated. It may also be terminated with a
|
|
.I sigint.
|
|
.PP
|
|
.B edit
|
|
-- allows the user to set up a board position.
|
|
|
|
.B #
|
|
- command will clear the board.
|
|
|
|
.B c
|
|
- toggle piece color.
|
|
|
|
.B .
|
|
- command will exit setup mode.
|
|
|
|
.B pb3
|
|
- place a pawn on b3
|
|
|
|
Pieces are entered by typing a letter (p,n,b,r,q,k) for
|
|
the piece followed by the coordinate.
|
|
|
|
The usual warning about the
|
|
.I language file
|
|
applies.
|
|
.PP
|
|
.B exit
|
|
-- exits gnuchess.
|
|
.PP
|
|
.B first
|
|
-- tells the computer to move first. Computer begins searching for a move.
|
|
(same as "go").
|
|
.PP
|
|
.B force
|
|
-- allows the user to enter moves for both
|
|
sides. To get the program to play after a sequence of moves
|
|
has been entered use the 'white' or 'black' command followed by 'go'.
|
|
.PP
|
|
.B gamein
|
|
-- toggles game mode time control. Assumes the time specified for time control
|
|
is the time for a complete game. Input with the level command should be the game time
|
|
and the expected number of moves in a game.
|
|
.PP
|
|
.B get
|
|
-- retrieves a game from disk. The program will
|
|
prompt the user for a file name.
|
|
.PP
|
|
.B go
|
|
-- tells the computer to move first. Computer begins searching for a move.
|
|
(same as "first").
|
|
.PP
|
|
.B hash
|
|
-- use/don't use hashfile.
|
|
.PP
|
|
.B hard
|
|
-- think on opponents time
|
|
.PP
|
|
.B hashdepth
|
|
-- allows the user to change the minimum depth for using the hashfile and the number of moves from the
|
|
begining of the game to use it.
|
|
.PP
|
|
.B help
|
|
-- displays a short description of the commands and the current status of options.
|
|
.PP
|
|
.B hint
|
|
-- causes the program to supply the user with its predicted move.
|
|
.PP
|
|
.B level
|
|
-- allows the user to set time controls such as
|
|
60 moves in 5 minutes etc. In tournament mode, the program will
|
|
vary the time it takes for each
|
|
move depending on the situation. If easy mode is disabled (using
|
|
the 'easy' command), the program
|
|
will often respond with its move immediately, saving time on
|
|
its clock for use later on.
|
|
.PP
|
|
.B list
|
|
-- writes the game moves and some statistics
|
|
on search depth, nodes, and time to the file 'chess.lst'.
|
|
.PP
|
|
.B material
|
|
-- toggle material flag - draws on no pawns and both sides < rook
|
|
.PP
|
|
.B Mwpawn, Mbpawn, Mwknight, Mbknight, Mwbishop, Mbbishop
|
|
-- print out static position evaluation table
|
|
.PP
|
|
.B new
|
|
-- starts a new game.
|
|
.PP
|
|
.B p
|
|
-- evaluates the board and shows the point score for each piece. The total score for
|
|
a position is the sum of these individual piece scores.
|
|
.PP
|
|
.B post
|
|
-- causes the program to display the principle
|
|
variation and the score during the search. A score of
|
|
100 is equivalent to a 1 pawn advantage for the computer.
|
|
.PP
|
|
.B unpost
|
|
-- turn off the post display.
|
|
.PP
|
|
.B quit
|
|
-- exits the game.
|
|
.PP
|
|
.B random
|
|
-- causes the program to randomize its move
|
|
selection slightly.
|
|
.PP
|
|
.B rcptr
|
|
-- set recapture mode.
|
|
.PP
|
|
.B remove
|
|
-- backout the last level for both sides. Equal to 2
|
|
.I undo's.
|
|
.PP
|
|
.B reverse
|
|
-- causes the board display to be reversed. That
|
|
is, the white pieces will now appear at the top of the board.
|
|
.PP
|
|
.B rv
|
|
-- reverse board display.
|
|
.PP
|
|
.B setup
|
|
-- Compatibility with Unix chess and the nchesstool. Set up a board position.
|
|
Eight lines of eight characters are used to setup the board. a8-h8 is the
|
|
first line. Black pieces are represented by uppercase characters.
|
|
.PP
|
|
.B stars
|
|
-- (gnuchessn only) add stars (*) to black pieces.
|
|
.PP
|
|
.B save
|
|
-- saves a game to disk. The program will prompt
|
|
the user for a file name.
|
|
.PP
|
|
.B switch
|
|
-- causes the program to switch places with
|
|
the opponent and begin searching.
|
|
.PP
|
|
.B test
|
|
-- performs some speed tests for MoveList and CaptureList generation, and ScorePosition position scoring
|
|
for the current board.
|
|
.PP
|
|
.B time otim
|
|
--
|
|
.B time
|
|
set computers time remaining, intended for synchronizing clocks among multiple players.
|
|
--
|
|
.B otim
|
|
set opponents time remaining, intended for synchronizing clocks among multiple players.
|
|
.PP
|
|
.B undo
|
|
-- undoes the last move whether it was the computer's
|
|
or the human's. You may also type "remove". This is equivalent
|
|
to two "undo's" (e.g. retract one move for each side).
|
|
.PP
|
|
.B white
|
|
-- causes the computer to take the white pieces. If the computer is to move
|
|
first the
|
|
.B go
|
|
command must be given.
|
|
.PP
|
|
.B xget
|
|
-- read an
|
|
.I xboard
|
|
position file.
|
|
.PP
|
|
.B xwndw
|
|
-- change X window. The window around alpha/beta used to determine whether the position
|
|
should be scored or just estimated.
|
|
.SH BUGS
|
|
.PP
|
|
.fi
|
|
.SH SEE ALSO
|
|
.nf
|
|
chesstool(6)
|
|
xboard(6)
|
|
.fi
|
|
|