Counter is a chess engine.
- free
- open source
- support for different OS (Linux, macOS, Windows)
- multi threading support
- UCI protocol support. You can use any chess GUI interface that supports UCI protocol
Chess Rating lists:
Version | GRL | CCRL 40/15 | FastGM 60+0.6 | CEGT 40/4 |
---|---|---|---|---|
4.0 | 3115 | 3101 | 2935 | 2997 |
3.9 | 3065 | 3075 | 2959 | |
3.8 | 2994 | 3012 | 2817 | 2887 |
3.7 | 2972 | 2970 | 2784 | 2854 |
3.6 | 2757 | 2820 | ||
3.5 | 2907 | 2718 | 2777 | |
3.4 | 2881 | 2679 | 2742 | |
3.3 | 2847 | 2647 | 2700 | |
3.2 | 2834 | 2624 | 2692 | |
3.1 | 2784 |
Counter is participating in TCEC tournament.
Currently Counter is an alpha beta engine with Hand Crafted Eval. Counter uses bitboards for board representation and Magic bitboards for move generation. Multithreading implemented with LazySMP method. Counter written in the go programming language. I think programming should be fun. And C/C++ is not funny at all.
- able to generate legal moves and select random move
- implement uci protocol
- unit test for move generator
- PESTO eval
- Iterative deepening
- alphabeta, QS(good captures and check escapes)
- Transposition table
- Internal iterative deepening
- move order: trans move, good captures, killers, bad captures and history
- repeat detect
- Aspiration window
- PVS in root
- simple time manager
- mate distance pruning
- NMP R=4+d/6, null move case in repeat detect
- LMR R~log(d)log(m). In ideal case without lmr research, search tree will growth linear
- Leaf prunings (reverse futility pruning, Late move pruning, SEE pruning)
- Singular extension, check extension
- eval (Material, King safety, passed pawns, threats, PSQT, mobility). Texel tuning
- LazySMP
- complicated time manager
- NNUE eval
- endgame TB
- PVS
- performance (increment staged move generator, store static eval in TT or cache static eval, pawn hash table in eval, other optimizations)
- Probcut
- ...
- cutechess
- Stockfish
- Ethereal
- Самообучение шахматной программы
- Neural Networks For Chess
- talkchess
- Chess Programming Wiki
- Bruce Moreland's Programming Topics
Counter Copyright (c) Vadim Chizhov. All rights reserved.