Spark,
an UCI compatible chess engine by Allard Siemelink written in C++. During 2008, Allard found that it became increasingly hard to improve his 0x88 engine Bright much further, and started to create a bitboard framework along with a Perft benchmark which evolved to Spark with search and evaluation developed from scratch to try as much as possible alternative search strategies and evaluation terms for the ones that are found in Bright. Spark's evaluation is data mined from a database of 700,000 high quality games [1], and runs on Windows, Linux and Mac OS.
Like its earlier 0x88 relative Bright, Spark is able to search in parallel supporting up to 16 CPU cores, basically applying the Young Brothers Wait Concept. Since splitting is a cheap operation in Spark, avoiding an expensive copy of the board and associated data, the search tree can be split at any depth, maximizing the use of the otherwise idle cores.
LMR
Late Move Reductions as popularized by Fruit and Glaurung are used in Spark with different implementation details. The reductions are not history based, and all moves, except the first one, can be reduced by up to two plies depending on static criteria [4].
an UCI compatible chess engine by Allard Siemelink written in C++. During 2008, Allard found that it became increasingly hard to improve his 0x88 engine Bright much further, and started to create a bitboard framework along with a Perft benchmark which evolved to Spark with search and evaluation developed from scratch to try as much as possible alternative search strategies and evaluation terms for the ones that are found in Bright. Spark's evaluation is data mined from a database of 700,000 high quality games [1], and runs on Windows, Linux and Mac OS.
So far Spark played the WCRCC 2009 [2] , CCT12, ICT 2010, DOCCC 2010, DOCCC 2011 and ICT 2012.
Table of Contents
Parallel Search
Like its earlier 0x88 relative Bright, Spark is able to search in parallel supporting up to 16 CPU cores, basically applying the Young Brothers Wait Concept. Since splitting is a cheap operation in Spark, avoiding an expensive copy of the board and associated data, the search tree can be split at any depth, maximizing the use of the otherwise idle cores.LMR
Late Move Reductions as popularized by Fruit and Glaurung are used in Spark with different implementation details. The reductions are not history based, and all moves, except the first one, can be reduced by up to two plies depending on static criteria [4].Selected Games
[5]Rybka
DOCCC 2010, Round 6, Spark - RybkaHiarcs
DOCCC 2010, Round 7, Hiarcs - SparkSee also
Forum Posts
External Links
Chess Engine
Misc
References
What links here?
Up one Level