Older Version
Newer Version
GerdIsenberg
Nov 13, 2017
**[[Home]] * [[Engines]] * Counter** || [[image:CountersMechanical.jpg link="https://commons.wikimedia.org/wiki/File:CountersMechanical.agr.jpg"]] ||~ || **Counter**, (Счетчик) an [[UCI]] compliant chess engine by [[Vadim Chizhov]], initially written in [[C sharp|C#]] to run under [[Windows]] [[https://en.wikipedia.org/wiki/.NET_Framework|.Net]], available since early 2007 <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=32564|Counter 1.2 Updated]] by [[Swaminathan Natarajan|Swaminathan]], [[CCC]], February 12, 2010</ref>. Counter 0.8 played a strong [[CCCCISC 2008]] over the board. Counter was then ported to the [[Go (Programming Language)|Go programming language]] and released in May 2017 as [[Open Source Engines|open source]] at [[https://en.wikipedia.org/wiki/GitHub|GitHub]], dubbed [[Counter#CounterGo|CounterGo]] <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=64099|New version of Counter (in Go language)]] by [[Günther Simon]], [[CCC]], May 27, 2017</ref>. || || Mechanical Counters <ref>Three mechanical counters by [[http://commons.wikimedia.org/wiki/User:ArnoldReinhold|Arnold Reinhold]], April 20, 2009, [[https://creativecommons.org/licenses/by-sa/3.0/deed.en|CC BY-SA 3.0]], [[https://en.wikipedia.org/wiki/Wikimedia_Commons|Wikimedia Commons]], [[https://en.wikipedia.org/wiki/Counter|Counter from Wikipedia]]</ref> ||~ ||^ || [[toc]] =Descriptions= ==Counter C#== According to the //sdchess description//, Counter is based on [[Bitboards|bitboards]] using [[Pradu Kannan|Pradu Kannan's]] [[Magic Bitboards|magic bitboard]] implementation to [[Move Generation|generate moves]] <ref>[[http://www.sdchess.ru/Counter.htm|Counter by Вадим Чижов (Vadim Chizhov), Russia!]] from [[http://www.sdchess.ru/|sdchess.ru]]</ref>, while the Counter 1.2 readme claims a hybrid [[Board Representation|board representation]] consisting of a [[10x12 Board|10x12 board]] and bitboards for pawns <ref>Counter_12 - readme.txt</ref>. Counter applies [[Principal Variation Search|PVS]] [[Alpha-Beta|alpha-beta]] with [[Transposition Table|transposition table]], [[Null Move Pruning|null move-]], [[Delta Pruning|delta-]], [[Futility Pruning|futility-]] and [[Futility Pruning#Extendedfutilitypruning|extended futility pruning]], [[Static Exchange Evaluation|SEE]], [[Late Move Reductions|LMR]], [[Check Extensions|check-]], [[Mate Threat Extensions|mate threat-]], [[Passed Pawn Extensions|passed pawn-]] and [[Capture Extensions|capture extensions]], and [[Internal Iterative Deepening|IID]]. The [[Evaluation|evaluation]] has improved over the time, specially the assessment of a [[King Safety|safe king]] and [[Passed Pawn|passed pawns]], since version 0.8, [[Lazy Evaluation|lazy evaluation]] was removed. [[#CounterGo]] ==CounterGo== CounterGo comes as didactic [[Open Source Engines|open source engine]] written in the [[Go (Programming Language)|Go programming language]] along with an intuitive source structure. As modern [[Bitboards|bitboard]] engine using a [[Bitboard Board-Definition#SixTwo|dense board definition]] <ref>[[https://github.com/ChizhovVadim/CounterGo/blob/master/engine/types.go|CounterGo/types.go at master · ChizhovVadim/CounterGo · GitHub]]</ref>, it applies [[Magic Bitboards|magic bitboards]] to determine [[Sliding Piece Attacks|sliding piece attacks]]. Inside its [[Iterative Deepening|iterative deepening]] loop, CounterGo performs a [[Parallel Search|parallel search]] conform to the [[Young Brothers Wait Concept|young brothers wait concept]] <ref>[[https://github.com/ChizhovVadim/CounterGo/blob/master/engine/searchutils.go|CounterGo/searchutils.go at master · ChizhovVadim/CounterGo · GitHub]]</ref> using Goroutines <ref>[[https://golang.org/doc/effective_go.html#concurrency|Effective Go - The Go Programming Language - Concurrency]]</ref>, with no (longer) [[Principal Variation Search|PVS]] but pure [[Alpha-Beta|alpha-beta]] with [[Transposition Table|transposition table]] and [[Null Move Pruning|null move pruning]]. CounterGo extends [[Recapture Extensions|recaptures of pieces]], [[Check Extensions|checks]] and [[Passed Pawn Extensions|pawns to the 7th rank]] only in case of positive [[Static Exchange Evaluation|SEE]], while [[Move Ordering|move ordering]] is enhanced by the [[Killer Heuristic|killer]] and [[History Heuristic|history heuristics]] along with [[Internal Iterative Deepening|IID]] and SEE <ref>[[https://github.com/ChizhovVadim/CounterGo/blob/master/engine/searchservice.go|CounterGo/searchservice.go at master · ChizhovVadim/CounterGo · GitHub]]</ref>. =Selected Games= [[CCCCISC 2008]], round 5, [[Counter]] - [[SmarThink]] <ref>[[http://www.sdchess.ru/Tournaments/Cis_official_1.htm|The The First championship of the CIS (Первый официальный чемпионат СНГ)]] from [[http://www.sdchess.ru/|sdchess.ru]]</ref> [[code]] [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 [[code]] =Forum Posts= ==2007 ...== * [[http://www.talkchess.com/forum/viewtopic.php?t=13788|Counter 0.2 : 2098]] by [[Patrick Buchmann]], [[CCC]], May 15, 2007 * [[http://www.talkchess.com/forum/viewtopic.php?t=14991|Counter 0.3 : 2201]] by [[Patrick Buchmann]], [[CCC]], July 10, 2007 * [[http://www.talkchess.com/forum/viewtopic.php?t=15966|Counter 0.4 : 2182]] by [[Patrick Buchmann]], [[CCC]], August 22, 2007 * [[http://www.talkchess.com/forum/viewtopic.php?t=16367|Counter 0.5 : 2280]] by [[Patrick Buchmann]], [[CCC]], September 09, 2007 * [[http://www.talkchess.com/forum/viewtopic.php?t=16573|Counter 0.6 : 2292]] by [[Patrick Buchmann]], [[CCC]], September 20, 2007 * [[http://www.talkchess.com/forum/viewtopic.php?t=17916|Counter 0.7 : 2344]] by [[Patrick Buchmann]], [[CCC]], November 17, 2007 * [[http://www.talkchess.com/forum/viewtopic.php?t=18741|Counter 0.8 : 2291]] by [[Patrick Buchmann]], [[CCC]], January 04, 2008 * [[http://www.talkchess.com/forum/viewtopic.php?t=23071|Counter 1.0 : 2383]] by [[Patrick Buchmann]], [[CCC]], August 17, 2008 * [[http://www.talkchess.com/forum/viewtopic.php?t=26110|Counter 1.1 : 2327]] by [[Patrick Buchmann]], [[CCC]], January 19, 2009 ==2010 ...== * [[http://www.talkchess.com/forum/viewtopic.php?t=32564|Counter 1.2 Updated]] by [[Swaminathan Natarajan|Swaminathan]], [[CCC]], February 12, 2010 * [[http://www.talkchess.com/forum/viewtopic.php?t=32613|Counter 1.2 : 2336]] by [[Patrick Buchmann]], [[CCC]], February 14, 2010 * [[http://www.talkchess.com/forum/viewtopic.php?t=35733|Counter 1.2 - CCRL 40/4 Results]] by [[Adam Hair]], [[CCC]], August 08, 2010 * [[http://www.talkchess.com/forum/viewtopic.php?t=64099|New version of Counter (in Go language)]] by [[Günther Simon]], [[CCC]], May 27, 2017 * [[http://www.talkchess.com/forum/viewtopic.php?t=65717|Counter 2.1.0 released]] by [[Tony Mokonen]], [[CCC]], November 13, 2017 =External Links= ==Chess Engine== * [[https://github.com/ChizhovVadim/CounterGo|GitHub - ChizhovVadim/CounterGo: Chess engine (golang)]] * [[http://www.sdchess.ru/Counter.htm|Counter by Вадим Чижов (Vadim Chizhov), Russia!]] from [[http://www.sdchess.ru/|sdchess.ru]] * [[http://www.computerchess.org.uk/ccrl/4040/cgi/engine_details.cgi?match_length=30&print=Details&eng=Counter+1.2|Counter 1.2]] in [[CCRL|CCRL 40/40]] ==Misc== * [[https://en.wiktionary.org/wiki/counter|counter - Wiktionary]] * [[https://en.wikipedia.org/wiki/Counter|Counter from Wikipedia]] * [[https://en.wikipedia.org/wiki/Counter_%28disambiguation%29|Counter (disambiguation) from Wikipedia]] * [[https://en.wikipedia.org/wiki/Counterattack|Counterattack from Wikipedia]] * [[http://www.chessgames.com/perl/chesscollection?cid=1018347|Attack & Counterattack in Chess]] compiled by [[http://www.chessgames.com/perl/chessuser?username=SamAtoms1980|SamAtoms1980]], [[http://www.chessgames.com/index.html|chessgames.com]] * [[http://en.wiktionary.org/wiki/countermove|countermove - Wiktionary]] » [[Countermove Heuristic]] * [[https://en.wikipedia.org/wiki/Counterpoint|Counterpoint from Wikipedia]] * [[Videos#PatMetheny|Pat Metheny]] - Electric Counterpoint III ([[https://en.wikipedia.org/wiki/Steve_Reich|Steve Reich]]), [[https://en.wikipedia.org/wiki/YouTube|YouTube]] Video > [[media type="custom" key="24895512"]] =References= <references /> =What links here?= [[include page="Counter" component="backlinks" limit="20"]] **[[Engines|Up one Level]]**