Spark

Home * Engines * Spark



Spark, an UCI compatible chess engine by Allard Siemelink, written in C++. During 2008, Allard Siemelink 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. Spark can be compiled to run under Windows, Linux and Mac OS.

=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.

=Tournament Play= Spark played the WCRCC 2009 , CCT12, ICT 2010, DOCCC 2010, DOCCC 2011 and ICT 2012.

=Selected Games=

Rybka
DOCCC 2010, Round 6, Spark - Rybka [Event "DOCCC 2010"] [Site "Leiden NED"] [Date "2010.11.27"] [Round "6"] [White "Spark"] [Black "Rybka"] [Result "1/2-1/2"]

1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 Nc6 5.Nc3 Qc7 6.Be3 a6 7.Be2 b5 8.Nxc6 Qxc6 9.O-O Bb7 10.Bf3 Qc7 11.e5 Rc8 12.Bxb7 Qxb7 13.Qd3 Ne7 14.a4 bxa4 15.Rxa4 Nc6 16.f4 Nb4 17.Qe4 Qxe4 18.Nxe4 Rxc2 19.Rc1 Rxc1+ 20.Bxc1 Be7 21.Bd2 Nd5 22.Nd6+ Bxd6 23.exd6 f5 24.Rxa6 Kf7 25.Ra7 Nf6 26.Bc3 Rb8 27.g3 Rb6 28.Bxf6 Kxf6 29.Rxd7 Rxb2 30.h4 Rd2 31.Rd8 Kg6 32.Kf1 h5 33.Ke1 Rd5 34.Rd7 Rd4 35.Rd8 Kh7 36.Ke2 Kh6 37.Ke3 Rd1 38.d7 Kg6 39.Re8 Rxd7 40.Rxe6+ 1/2-1/2

HIARCS
DOCCC 2010, Round 7, HIARCS - Spark [Event "DOCCC 2010"] [Site "Leiden NED"] [Date "2010.11.28"] [Round "7"] [White "HIARCS"] [Black "Spark"] [Result "1/2-1/2"]

1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Be3 e5 7.Nb3 Be6 8.f3 Be7 9.Qd2 O-O 10.O-O-O Nbd7 11.g4 b5 12.g5 Nh5 13.Kb1 Nb6 14.Na5 Qc7 15.Nd5 Nxd5 16.exd5 Bxd5 17.Qxd5 Qxa5 18.Bd3 Qd8 19.Rhg1 Rb8 20.Be4 Qc7 21.Rg4 g6 22.Qd3 Kh8 23.Bd5 f5 24.Rgg1 a5 25.a3 Qd7 26.f4 Rfc8 27.Bb3 a4 28.Ba2 Qc7 29.c3 Bf8 30.Rgf1 Rd8 31.h4 Bg7 32.Bd5 Re8 33.Ka2 Re7 34.Kb1 Qc8 35.Ba2 exf4 36.Bxf4 Be5 37.Be3 f4 38.Bf2 Ng3 39.Bxg3 fxg3 40.Rde1 Qh3 41.Qf3 Qf5+ 42.Qxf5 gxf5 43.Rxf5 Bxc3 44.Rxe7 g2 45.Rxh7+ Kxh7 46.g6+ Kg7 47.Rg5 Bf6 48.Rxg2 b4 49.axb4 Rxb4 1/2-1/2

=See also=
 * Bright
 * Chispa
 * Delphil's Desperado versus Spark

=Forum Posts=
 * 2009 WCRCC: Bright/Spark issue by Charles Roberson, CCC, August 13, 2009
 * Spark released by Allard Siemelink, CCC, November 01, 2009
 * Spark 0.3a (mp) released by Allard Siemelink, CCC, January 11, 2010
 * Spark 0.4 released by Allard Siemelink, CCC, May 23, 2010
 * Spark node count by Peter C, CCC, May 27, 2010
 * Spark 0.4 for Mac OSX released by Allard Siemelink, CCC, June 14, 2010
 * Spark 1.0 released by Allard Siemelink, CCC, December 10, 2010
 * Spark 2.0 Leiden 2011 ? by Frank Quisinsky, CCC, October 16, 2011

=External Links=

Chess Engine

 * Spark Chess by Allard Siemelink (Wayback Machine)
 * Mac Chess Engines Repository by Julien Marcel
 * Spark in CCRL 40/40

Misc

 * Spark (disambiguation) from Wikipedia
 * Spark (mathematics) from Wikipedia
 * SPARK (programming language) from Wikipedia
 * Spark (cellular automaton) from Wikipedia
 * Electric spark from Wikipedia
 * Spark-gap transmitter from Wikipedia
 * Spark (fire) from Wikipedia
 * Spark of Life from Wikipedia
 * Spark (Transformers) from Wikipedia
 * Spark (U.S. organization) from Wikipedia
 * Iskra (Spark) from Wikipedia
 * Sparks (disambiguation) from Wikipedia
 * Hiromi Uehara, The Trio Project, feat. Anthony Jackson & Simon Phillips - Spark, (2016), YouTube Video

=References= Up one Level