An Experimental
Chess Program
Page last
updated: Jan. 31, 2012
Some
History
I
started EXchess (short for ÒExperimental Chess
ProgramÓ) back in 1996 as a way to learn programming and to have a hobby to
work on. EXchess
was very successful on both counts, and I developed it in my spare time until I
had to write my PhD in 1999. By
that time, EXchess was playing pretty well (~ master
strength) and was counted a reasonably strong amateur chess program (although I
am sure it has slipped relative to the serious amateur programs of today). EXchess has
sat on the ÒshelfÓ except for some minor updates over the last twelve
years. The current release is a
source code only version that can be compiled on a variety of systems to run in
ÔtextÕ mode or under a xboard/winboard
compatible graphic interface. See the readme
file for changes since the previous version.
Features
EXchess is an amateur chess program that can
be run in plain text mode or it can be interfaced with standard chess interface
programs like Xboard/Winboard
or Arena. The main features of EXchess areÉ
á
Advanced search algorithms including principle variation
search, null move, dynamic search extensions, hash tables, history tables,
quiescence search, material swap function, interface with Namilov
endgame tablebases, late move reductions, chess skill
setting, and context specific evaluation.
á
Opening book learning (off by default: for play against other
computers, this should be turned on by editing the Òsearch.parÓ
file).
á
Evaluation learning using the TD (temporal differences) leaf
algorithm. EXchess
will improve its ability to evaluate a position each time you defeat it! (In
practice, the gains from this algorithm are small if the evaluation is already
well optimized. TD learning is off by default in the released code but can be
enabled through the search.par file.)
á
You can modify how EXchess thinks
by editing the search.par and score.par
files that come with the program.
á
You can download the source code for EXchess. You are free to modify the source code
under the terms of the GNU Public License.
See
the readme file for more details.
Downloads
EXchess is released
under the GNU Public License. This program is distributed in the hope that it
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
EXchess is beta
quality software, meaning that it has not been extensively tested on a wide
variety of systems and may still contain bugs. Use it at your own risk. If you encounter any bugs, please let me
know, and I will fix them as I have the time, but please understand that my
time to work on this project is limited, so I may not respond with bug-fixes
immediately.
Source
Code Version
á
EXchess v6.10 beta
source code, click here
Note: v6.10 has a number of minor improvements over v6.02, including somewhat better king safety, somewhat improved piece and mobility scores via CLOP optimization, and a few minor search enhancements. Updated again Jan. 31 (no change in version number) to correct a minor bug in reading score.par file, should not affect playing strength.
See
the included readme.txt file for instructions on how to compile and run EXchess.