Spike

From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Spike

Spike and Buffy against demon hordes [1]

Spike,
a chess engine by Ralf Schäfer and Volker Böhm, developed since early 2004 from scratch, incorporating ideas from two former programs by both authors, Cheetah and IceSpell. As a pure engine without a GUI, Spike supports both the Chess Engine Communication Protocol and the UCI protocol. Spike is Arena partner engine.

Etymology

The program's name was coined by the Spike character of the Buffy the Vampire Slayer TV series [2] .

Javanizer

Spike's special design characteristic is multi programming language development - it has been written in C++ and Java simultaneously, restricted to a common subset of both languages, and using a so called Javanizer to transform some classes from C++ to Java and vice versa. While using objects is required due to the Plain Old Java Object, Spike itself is not considered object-oriented [3].

Description

Spike relies on a 16x14 mailbox array for vector attacks, which combines 0x88 features with the advantage of the 10x12 board. It applies PVS with adaptive null move pruning, fractional extensions of ¼ ply granularity for check-evasions, recaptures, and pawn advances to the seventh rank, LMR aka history pruning, and futility pruning. Staged move generation considers classical move ordering by PV-move, Hash move, SEE-ordered captures, two killers from the current ply, and two killers from the grand parent's ply, as well as four remaining moves sorted by history heuristic. Beside lots of other stuff, a tapered evaluation takes pawn structure and king safety issues into account, as well as mobility, trapped rooks, rook on open file, rook or queen on seventh rank, and knight outposts [4]. Spike 1.4, released in February 2011, comes with a parallel search, improved futility pruning, extensive usage of late move reductions, and in parts rewritten evaluation concerning material tables and passed pawns in [Rook Endgame|rook endgames]] and pawn endgames [5].

Tournaments

Spike is able to play Chess960, and surprised the scene in winning the first Livingston Chess960 Computer World Championship 2005 in Mainz [6]. Further, Spike played a strong WCCC 2006 in Turin, and various IPCCC, Dutch Open, and CCT Tournaments. Spike's opening book is compiled by Timo Haupt (né Klaustermeyer), who also operated Spike in Turin.

Photos

2006

TimoAlexWCCC2006.JPG

WCCC 2006 Blitz: Timo Klaustermeyer and Alex Brunetti, Delfi - Spike [7] [8]

2010

SpikesDOCCC2010.jpg

DOCCC 2010: Ralf Schäfer, Volker Böhm, Silver trophy for Spike, Cock de Gorter [9]

Games

IPCCC 2005 b, round 2, Spike - Rybka [10] [11]

[Event "15. IPCCC"]
[Site "Paderborn"]
[Date "2005.12.26"]
[Round "2"]
[White "Spike 1.1 X1"]
[Black "Rybka"]
[Result "1-0"]

1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Qc2 c5 5.dxc5 O-O 6.a3 Bxc5 7.Nf3 Nc6 8.Bg5 b6 
9.Rd1 Bb7 10.e4 h6 11.Bh4 g5 12.Bg3 Nh5 13.b4 Be7 14.b5 Na5 15.Ne5 d6 16.Ng4 
Qc7 17.Nxh6+ Kg7 18.Ng4 Nxg3 19.hxg3 Rh8 20.Rxh8 Rxh8 21.Nb1 Qc5 22.Qc3+ f6 
23.f3 Rh1 24.Ne3 a6 25.a4 g4 26.Rd3 gxf3 27.gxf3 Qg5 28.g4 Kg6 29.Nd2 Qe5 
30.Qd4 Qxd4 31.Rxd4 Rh8 32.Rd3 Kf7 33.f4 axb5 34.axb5 Rh2 35.f5 Bc8 36.Bg2 
Bb7 37.fxe6+ Kxe6 38.Kf2 Rh8 39.Nd5 Bd8 40.Rc3 Kf7 41.Nf1 Ke6 42.Ng3 Ba8 
43.Nf5 Bb7 44.Rd3 Bxd5 45.exd5+ Kd7 46.Rc3 Be7 47.Bf1 Bf8 48.Re3 Nb7 49.Ra3 
Na5 50.Nd4 Rh2+ 51.Kg3 Rh1 52.Kg2 Rh4 53.Be2 Be7 54.Re3 Bd8 55.Re6 Rh8 56.Nc6 
Nxc6 57.bxc6+ Kc7 58.Bd3 Rf8 59.Bf5 Rf7 60.Re8 Re7 61.Rf8 Re3 62.Be6 b5 63.Rf7+ 
Kb6 64.Rb7+ Kc5 65.c7 Bxc7 66.Rxc7+ Kb4 67.cxb5 Kxb5 68.Rf7 Kc5 69.Rxf6 1-0

Publications

Forum Posts

2004 ...

2010 ...

External Links

Chess Engine

Misc

References

Up one Level