Aart's Computer Chess Page
Aart Bik got his first
chess computer, a
Fidelity Electronics Sensory Chess Challenger 8,
in 1981. Since then, he has been fascinated by how computers play
chess. Excellent resources related to computer chess
programming can be found, for example, in David Levy's
Computer Chess Compendium, and on the web at
Chess Programming Wiki,
Prof. Hyatt's website,
CCRL Forum,
ExactaChess,
Le Fou Numérique,
TalkChess Forum,
Winboard Forum,
WBEC Ridderkerk,
RWBC,
ChessWar, and
WB Olympic Games.
Ongoing thoughts related to chess programming can
be found at Aart's blog.
Private test games are broadcasted here.
Source code of Peter Jennings' famous Microchess ported to the
Commodore 64 can be found at Aart's C64 page.
UCI Chess Engine: BikJump
Aart occasionally works on his UCI chess engine, called
BikJump, where UCI stands for Universal Chess Interface.
This protocol was designed by Stefan Meyer-Kahlen and Rudolf Huber to
define an open interface between a chess engine and
a graphical chess program, such as
ChessBase Fritz,
Arena Chess GUI, or
Sigma Chess.
This approach allows aspirant chess programmers to focus
merely on writing the chess engine, leaving details such as
graphical board setup and play, clock and notation display, and
even opening book and endgame tablebases play (if desired)
to the graphical chess program.
The UCI specifications can be downloaded from
Shredder Computer Chess.
Downloads of BikJump v2.01 for various platforms
(unzip the downloaded file in the "Engines" folder and import the
executable as UCI chess engine; detailed instructions are given
at
Chessbase Cafe):
All C++ source code of BikJump (except the probing and decompression code
for the endgame tablebases, which are used with kind permission of
Eugene Nalimov and Andrew Kadatch) has been built from the ground up
by Aart as a simple after-hours project to gain some experience with chess
engine programming and experiment with new ideas.
The main features of the engine are listed below.
- UCI compliant chess engine (tested in Fritz, Arena, and Sigma Chess).
- Iterative deepening with alpha-beta pruning and quiescent search.
- Transposition table, null move pruning, and tactical extensions.
- Ability to query Nalimov endgame tablebases (3,4,5,6-piece) during search.
- Coming "soon": SMP support!
History and Future Plans for BikJump
BikJump was first released in January, 2007.
The first generation (v1.x) was based on a mailbox representation,
and over time increased in strength from about 1750 to 2000
RUEL.
The second and current generation (v2.x), released in November 2008,
is based on a bitboard representation. Aart now has started work
on "Deep" BikJump, featuring multi-threading to perform the
search in parallel (commonly referred to as SMP support).
Upcoming version will be designated with the suffix P (e.g. v2.1P)
to denote this new parallel support.
Chess for Android
Chess for Android is a simple standalone chess application
that is available for free at the
Android Market.
It consists of a chess engine (a Java version derived from
the C++ engine BikJump) together with a GUI. More information
can be found at Aart's Android page.
Please note that this page is privately maintained by
Aart Bik.