Bobcat
Bobcat,
an open source chess engine under the GNU General Public License, written in C++ by Gunnar Harms. The so far only concrete implementation of the abstract protocol class supports UCI. The development started in the second half of 2008, and the program played on FICS under the handle 'Almere', the name of Gunnar's home town on the Flevopolder, two meters below sea level [2]. Bobcat played the CCT13 with 4½/7 and the WCRCC 2011 with 6/10. Bobcat's opening book is made by Denis Mendoza [3].
Contents
Description
Bitboards
Bobcat is a bitboard engine and uses Pradu Kannan's magic bitboards [4] to determine sliding piece attacks, and (conditionally compiled) Matt Taylor's folded forward bitscan [5].
Search
Bobcat's search is PVS alpha-beta with transposition table inside an iterative deepening framework with aspiration windows and fractional ply increments, and uses exception handling, catching integers for search termination. Selectivity is applied by extensions for singular moves [6], single replies, pawn moves to the seventh rank and safe checks, further by fractional reductions of none tactical late moves, adaptive nullmove pruning and various pruning and razoring techniques. The quiescence search considers captures and promotions [7]. Two search threads access a shared hash table.
Evaluation
A material class encapsulates point values, material balance and interior node recognizer, the tapered eval features piece-square tables and population count mobility and considers pawn structure with focus on passed pawns, king safety and multiple other piece related features.
Selected Games
WCRCC 2011, round 1, Nightmare - Bobcat [8]
[Event "WCRCC 2011"] [Site "Internet Chess Club"] [Date "2011.07.23"] [Round "1"] [White "NightmareX"] [Black "Bobcat2x"] [Result "0-1"] 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.h3 e6 7.Be2 Bd7 8.O-O Be7 9.Qd3 Nc6 10.Rd1 O-O 11.Qg3 Nxd4 12.Rxd4 Qb6 13.Rd1 Bc6 14.Bg5 Bd8 15.Rxd6 Nh5 16.Qe3 Nf6 17.Rxd8 Qxd8 18.Qg3 Qb8 19.Bf4 Qd8 20.Bh6 Ne8 21.Be3 Qa5 22.Rd1 Nf6 23.Bh6 Ne8 24.a3 Rd8 25.Rxd8 Qxd8 26.Be3 Qe7 27.Bd3 f6 28.Bc4 Kh8 29.e5 b5 30.Bd3 f5 31.Ne2 Nc7 32.b4 Qd7 33.Bc5 Rc8 34.Qf4 h6 35.Nd4 Ba8 36.c4 bxc4 37.Bxc4 Bd5 38.Be2 Qa4 39.Qc1 Nb5 40.Nxb5 axb5 41.Bd1 Qa6 42.Be2 Ra8 43.h4 Qxa3 44.Qxa3 Rxa3 45.Bxb5 g6 46.f3 Kg7 47.Kf2 Rc3 48.Kg3 Bc4 49.Ba4 g5 50.hxg5 hxg5 51.Be7 Ra3 52.Be8 Rb3 53.Kf2 Rb2+ 54.Kg1 g4 55.fxg4 fxg4 56.Kh2 Bd5 57.Kg3 Rxg2+ 58.Kf4 Bf3 59.b5 Rb2 60.Bd6 Rb3 61.Bh5 Rxb5 62.Be7 Be2 63.Bf6+ Kh6 64.Be8 Rb3 65.Bc6 Bf3 66.Be8 g3 67.Bg5+ Kg7 68.Bh4 g2 69.Bf2 Bd5 70.Bh5 Rb1 71.Be2 g1=Q 72.Bxg1 Rxg1 73.Bd3 Ra1 74.Bc2 Re1 75.Bd3 Kh6 76.Bc2 Re2 77.Bd3 Rf2+ 78.Ke3 Rf3+ 79.Kd4 Rxd3+ 80.Kxd3 Kg5 81.Kc3 Kf5 82.Kd4 Bc6 83.Kc5 Kxe5 84.Kc4 Kf4 85.Kb3 e5 86.Kc2 e4 87.Kd1 e3 88.Ke2 Ke4 89.Kd1 Kf3 90.Ke1 e2 91.Kd2 Be8 92.Ke1 Bf7 93.Kd2 Kf2 94.Kc1 e1=Q+ 95.Kb2 Qd2+ 96.Kb1 Ke2 97.Ka1 Qa2# 0-1
See also
Forum Posts
- Re: CCT 13: Bobcat by Gunnar Harms/Denis Mendoza has entered by Gunnar Harms, CCC, January 26, 2011 » CCT13
- int's mixing with __int64's in argument list not working? by Gunnar Harms, CCC, March 09, 2011
- Re: New version of Bobcat by Gunnar Harms, CCC, March 22, 2011 » Singular Extensions
- Re: Aspiration windows by Gunnar Harms, CCC, January 08, 2012 » Aspiration Windows
- A game by the new Bobcat by Gabor Szots, CCC, November 22, 2015
- Bobcat 8.0 released by Günther Simon, CCC, November 07, 2016
- Open-source improvements released by Norman Schmidt, CCC, June 26, 2017
External Links
Chess Engine
- Bobcat/bobcat · GitHub
- GitHub - FireFather/tomcat: chess engine based on Bobcat 8.0
- Bobcat in CCRL 40/40
Misc
- Urszula Dudziak - The Cats, Future Talk (1979) (YouTube Video
- feat. Michał Urbaniak, Zbigniew Namysłowski, Marcus Miller, Kenny Kirkland, Buddy Williams, Calvin Brown, John Abercrombie
References
- ↑ Bobcat (Lynx rufus), taken at Sunol Park near Livermore CA, USA, Bobcat from Wikipedia
- ↑ Re: CCT 13: Bobcat by Gunnar Harms/Denis Mendoza has entered by Gunnar Harms, CCC, January 26, 2011
- ↑ bobcat/book/README at master · Bobcat/bobcat · GitHub
- ↑ bobcat/src/Magic.h at master · Bobcat/bobcat · GitHub
- ↑ bobcat/src/Bitmanip.h at master · Bobcat/bobcat · GitHub
- ↑ Re: New version of Bobcat by Gunnar Harms, CCC, March 22, 2011
- ↑ bobcat/src/Search.h at master · Bobcat/bobcat · GitHub
- ↑ 2011 Fifth Annual ACCA World Computer Rapid Chess Championships - Results