Changes

Jump to: navigation, search

Counter

9,550 bytes added, 22:00, 20 November 2019
Created page with "'''Home * Engines * Counter''' FILE:CountersMechanical.agr.jpg|border|right|thumb| Mechanical Counters <ref>Three mechanical counters by [https://commons..."
'''[[Main Page|Home]] * [[Engines]] * Counter'''

[[FILE:CountersMechanical.agr.jpg|border|right|thumb| Mechanical Counters <ref>Three mechanical counters by [https://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> ]]

'''Counter''', (Счетчик)<br/>
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 [[:Category:Open Source|open source]] at [https://en.wikipedia.org/wiki/GitHub GitHub], dubbed [[#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>.

=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 pruning]], [[Delta Pruning|delta pruning]], [[Futility Pruning|futility pruning]] and [[Futility Pruning#Extendedfutilitypruning|extended futility pruning]],
[[Static Exchange Evaluation|SEE]], [[Late Move Reductions|LMR]], [[Check Extensions|check extensions]], [[Mate Threat Extensions|mate threat extensions]], [[Passed Pawn Extensions|passed pawn extensions]] 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 comes as didactic [[:Category:Open Source|open source engine]] written in the [[Go (Programming Language)|Go programming language]]
along with an intuitive source structure, licensed under the [[Free Software Foundation#GPL|GPL v3.0]].

==[[Board Representation]]==
* [[Bitboards]]
* [[Bitboard Board-Definition#SixTwo|Dense Bitboard Board Definition]] <ref>[https://github.com/ChizhovVadim/CounterGo/blob/master/common/types.go CounterGo/types.go at master · ChizhovVadim/CounterGo · GitHub]</ref>
* [[Magic Bitboards]]
==[[Search]]==
* [[Lazy SMP]] <ref>[https://github.com/ChizhovVadim/CounterGo/blob/master/engine/search.go CounterGo/search.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>
* [[Iterative Deepening]]
* [[Aspiration Windows]]
* [[Alpha-Beta]]
* [[Transposition Table]]
* [[Selectivity]]
** [[Reverse Futility Pruning]]
** [[Null Move Pruning]]
** [[Futility Pruning]]
** [[Futility Pruning#MoveCountBasedPruning|Late Move Pruning]]
** [[Late Move Reductions]]
** [[Check Extensions]] if [[Static Exchange Evaluation|SEE]] > 0
** [[Passed Pawn Extensions]] if [[Static Exchange Evaluation|SEE]] > 0
** [[Recapture Extensions]] if [[Static Exchange Evaluation|SEE]] > 0
** [[Quiescence Search]]
* [[Move Ordering]]
** [[Killer Heuristic]]
** [[History Heuristic]]
==[[Evaluation]]==
* [[Tapered Eval]]
* [[Lazy Evaluation]]
* [[Material]]
* [[Piece-Square Tables]]
* [[Mobility]]
* [[Pawn Structure]]
* [[King Safety]]
** [[King Safety#Attacking|Attacking King Zone]]
** [[King Safety#PawnShield|Pawn Shelter]]
* [[Tempo]]

=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>
<pre>
[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
</pre>

=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
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69221 Counter 3.1] by Damir, [[CCC]], December 10, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69754&start=374 Re: New engine releases 2019] by [[Tony Mokonen]], [[CCC]], October 19, 2019

=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/compare_engines.cgi?family=Counter&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Counter] 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]
* [https://en.wiktionary.org/wiki/countermove countermove - Wiktionary] » [[Countermove Heuristic]]
* [https://en.wikipedia.org/wiki/Counterpoint Counterpoint from Wikipedia]
* [[https://en.wikipedia.org/wiki/Steve_Reich Steve Reich] - [https://en.wikipedia.org/wiki/Electric_Counterpoint Electric Counterpoint Parts], with [[:Category:Pat Metheny|Pat Metheny]], [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=plL2VDAoThU|alignment=left|valignment=top}}

=References=
<references />
'''[[Engines|Up one Level]]'''
[[Category:UCI]]
[[Category:Open Source]]
[[Category:GPL]]
[[Category:C sharp]]
[[Category:Go Proglanguage]]
[[Category:Pat Metheny]]

Navigation menu