Counter
Counter, (Счетчик)
an UCI compliant chess engine by Vadim Chizhov, initially written in C# to run under Windows .Net, available since early 2007 [2].
Counter 0.8 played a strong CCCCISC 2008 over the board. Counter was then ported to the Go programming language and released in May 2017 as open source at GitHub, dubbed CounterGo [3].
Contents
Counter C#
According to the sdchess description, Counter is based on bitboards using Pradu Kannan's magic bitboard implementation to generate moves [4], while the Counter 1.2 readme claims a hybrid board representation consisting of a 10x12 board and bitboards for pawns [5]. Counter applies PVS alpha-beta with transposition table, null move pruning, delta pruning, futility pruning and extended futility pruning, SEE, LMR, check extensions, mate threat extensions, passed pawn extensions and capture extensions, and IID. The evaluation has improved over the time, specially the assessment of a safe king and passed pawns, since version 0.8, lazy evaluation was removed.
CounterGo
CounterGo comes as didactic open source engine written in the Go programming language along with an intuitive source structure, licensed under the GPL v3.0.
Board Representation
Search
- Lazy SMP [7] using Goroutines [8]
- Iterative Deepening
- Aspiration Windows
- Alpha-Beta
- Transposition Table
- Selectivity
- Move Ordering
Evaluation
Selected Games
CCCCISC 2008, round 5, Counter - SmarThink [9]
[Event "CIS 2008"] [Site "Moscow SDCHESS RGSU"] [Date "2008.03.02"] [Round "5"] [White "Counter 0.8"] [Black "SmarThink 1.1 r1119"] [Result "1/2-1/2"] 1.d4 d5 2.c4 e6 3.Nf3 Nf6 4.Nc3 c5 5.cxd5 exd5 6.Bg5 Nc6 7.e3 c4 8.Bxf6 gxf6 9.Rc1 Be6 10.Be2 Qa5 11.O-O O-O-O 12.Re1 Kb8 13.Qc2 f5 14.Qd2 Rg8 15.Bd1 Rc8 16.Ba4 Nb4 17.Bc2 Bd6 18.g3 Nxc2 19.Rxc2 f6 20.Nh4 Rcd8 21.Ng2 Bb4 22.Nf4 Bf7 23.a3 Be7 24.f3 h5 25.Kf2 h4 26.Rg1 hxg3+ 27.hxg3 Rg5 28.Rh1 Rg7 29.Rh3 Qc7 30.Rc1 Rg5 31.Nb5 Qd7 32.Qa5 a6 33.Nc3 Bg8 34.Rh8 Rc8 35.Rch1 Bd8 36.Qa4 Qd6 37.R1h5 Bc7 38.Qc2 Qc6 39.R5h6 Qd6 40.Nh5 Rxh5 41.Rxh5 Qxg3+ 42.Kf1 f4 43.Rh3 Qg7 44.exf4 b5 45.f5 Qg5 46.R3h4 Bf7 47.R8h7 Bg8 48.Rg4 Qe3 49.Rh3 Re8 50.Rg7 a5 51.Qf2 Qd3+ 52.Kg2 b4 53.axb4 axb4 54.Rh8 bxc3 55.Rgxg8 Rxg8+ 56.Rxg8+ Kb7 57.bxc3 Qxc3 58.Rg6 Qc1 59.Qe2 Qf4 60.Rg4 Qxf5 61.Qb2+ Kc6 62.Qa2 Kb5 63.Qb2+ Kc6 64.Qa2 Kb5 65.Qb2+ Kc6 1/2-1/2
Forum Posts
2007 ...
- Counter 0.2 : 2098 by Patrick Buchmann, CCC, May 15, 2007
- Counter 0.3 : 2201 by Patrick Buchmann, CCC, July 10, 2007
- Counter 0.4 : 2182 by Patrick Buchmann, CCC, August 22, 2007
- Counter 0.5 : 2280 by Patrick Buchmann, CCC, September 09, 2007
- Counter 0.6 : 2292 by Patrick Buchmann, CCC, September 20, 2007
- Counter 0.7 : 2344 by Patrick Buchmann, CCC, November 17, 2007
- Counter 0.8 : 2291 by Patrick Buchmann, CCC, January 04, 2008
- Counter 1.0 : 2383 by Patrick Buchmann, CCC, August 17, 2008
- Counter 1.1 : 2327 by Patrick Buchmann, CCC, January 19, 2009
2010 ...
- Counter 1.2 Updated by Swaminathan, CCC, February 12, 2010
- Counter 1.2 : 2336 by Patrick Buchmann, CCC, February 14, 2010
- Counter 1.2 - CCRL 40/4 Results by Adam Hair, CCC, August 08, 2010
- New version of Counter (in Go language) by Günther Simon, CCC, May 27, 2017
- Counter 2.1.0 released by Tony Mokonen, CCC, November 13, 2017
- Counter 3.1 by Damir, CCC, December 10, 2018
- Re: New engine releases 2019 by Tony Mokonen, CCC, October 19, 2019
External Links
Chess Engine
- GitHub - ChizhovVadim/CounterGo: Chess engine (golang)
- Counter by Вадим Чижов (Vadim Chizhov), Russia! from sdchess.ru
- Counter in CCRL 40/40
Misc
- counter - Wiktionary
- Counter from Wikipedia
- Counter (digital) from Wikipedia
- Counterattack from Wikipedia
- Attack & Counterattack in Chess compiled by SamAtoms1980, chessgames.com
- countermove - Wiktionary » Countermove Heuristic
- Counterpoint from Wikipedia
- Steve Reich - Electric Counterpoint, with Pat Metheny, YouTube Video
References
- ↑ Three mechanical counters by Arnold Reinhold, April 20, 2009, CC BY-SA 3.0, Wikimedia Commons, Counter (digital) from Wikipedia
- ↑ Counter 1.2 Updated by Swaminathan, CCC, February 12, 2010
- ↑ New version of Counter (in Go language) by Günther Simon, CCC, May 27, 2017
- ↑ Counter by Вадим Чижов (Vadim Chizhov), Russia! from sdchess.ru
- ↑ Counter_12 - readme.txt
- ↑ CounterGo/types.go at master · ChizhovVadim/CounterGo · GitHub
- ↑ CounterGo/search.go at master · ChizhovVadim/CounterGo · GitHub
- ↑ Effective Go - The Go Programming Language - Concurrency
- ↑ The The First championship of the CIS (Первый официальный чемпионат СНГ) from sdchess.ru