Kanguruh is a 32bit Winboard compatible
chess engine developed in PowerBASIC Console Compiler 3.04.
Kanguruh was an experimental project to combine features I liked
in my firt chess program Deep BASIC with the Quick BASIC chess
program Minimax written by Dieter Steinwender and Chrilly
Donninger. The end result is a chess program stronger than
Minimax and Deep BASIC. I achieved this by adding features such
as an opening book system, learning, evaluation cache, pondering,
better time management, converted it from 16bit DOS program to
32bit Windows and a better evaluation function.
Please note that I have no plans to continue
working on Kanguruh. I am working on a new chess engine developed
using FreeBASIC which may be released sometime in 2008.
Opening book system:
has over 96,000 positions in it's opening book database. The
positions are extracted from thousands of games played by players
with an Elo rating equal to or greater than 2600. I have
developed a tool which sorts through all the positions extracted
from PGN files and provides statistics on each move such as
win/draw/lose percentages, frequency , no. of games played and
highest rated player to play this move etc. The new opening book
tool is used to filter out moves that do not perform well, have
too few games played, is not played by a player with a rating
greater than 2600 Elo and is not a popular line. The maximum
depth of Kanguruh's opening book is set to 15 moves (30 ply).
Kanguruh can also store statistical information about
other chess engines that has been extracted from PGN files.
Kanguruh can look up information about an engine and find which
opening lines that engine plays the least well and then choose to
play those opening moves against that engine.
As an experiment I made a change to the way
Kanguruh decides which move to play from the opening book.
Instead of looking up the current chess position in the opening
book database and choosing the move with the highest score,
Kanguruh now performs a 8 ply search in the opening book. The
search is very similar to a normal search when Kangurhu is
thinking except it gets all the scores and moves from the opening
book database. The opening book search depth is adjustable by
editing the kanguruh.ini file.
After each game Kanguruh records statistics
on which opening book moves were played, what result was
achieved, how many moves were played and which engine it played.
Kanguruh keeps separate statistics for each chess engine that it
plays. In other words, what Kanguruh learns from playing one
engine is not applied when it plays another engine.
Kanguruh uses a offset move generator to
produce pseudo legal moves stored in a move stack. Kanguruh uses
a standard iterative deepening alpha beta search with aspiration
windows. It also uses a killer move table to improve move
ordering and the qsearch has check extensions.
opening book tool.
v1.92a WBEC rating : 1833
Kanguruh v1.90 RWBC rating : 1721
Kanguruh v1.87 Labans rating: 1846
7th place in 2003 Australasian National Computer Chess
Click here for
analysis of games played by Kanguruh at NC3 2003.
8th place in division 6 WBEC edition 7. Division 6 had 54 engines
* 12th place in 2004 Australasian National
Computer Chess Championship.
* 9th place in 2005
Australasian National Computer Chess Championship.
place in division 1 2006 Australasian National Computer Chess
Kanguruh v1.93 - 2MB (Updated 19