Berserk Chess Engine
A UCI chess engine written in C. Feel free to challenge me on Lichess!
Strength
Rating Lists + Elo
Many websites use an Elo rating system to present relative skill amongst engines. Below is a list of many chess engine lists throughout the web (variance in Elo is due to different conditions for each list)
- CCRL 40/15 - 3477 4CPU, 3433 1CPU
- CCRL 40/2 - 3651 4CPU, 3578 1CPU
- IpMan Chess - 3422 1CPU
- CEGT - 3532 1CPU
- SPCC - 3659 1CPU
- FGRL - 3518 1CPU
Tournaments/Events with Berserk
Funcational Details
Board Representation and Move Generation
Search
- Negamax
- Quiescence
- Iterative Deepening
- Transposition Table
- Aspiration Windows
- Internal Iterative Reductions
- Reverse Futility Pruning
- Razoring
- Null Move Pruning
- ProbCut
- FutilityPruning
- History Pruning
- SEE
- Static Exchange Evaluation Pruning
- LMR
- Killer Heuristic
- Countermove Heuristic
- Extensions
Evaluation
- NNUE
- Horizontally Mirrored 16 Buckets
- 2x(12288 -> 512) -> 1
- Berserk FenGen
- Koivisto's CUDA Trainer
Berserk Trainer- This has been deprecated in favor of Koivisto's trainer, but trained all networks through Berserk 8.5.1+
Building
$ git clone https://github.com/jhonnold/berserk
$ cd berserk/src
$ make basic
$ ./berserk
Credit
This engine could not be written without some influence and they are...
Engine Influences
Additional Resources
- Koivisto's CUDA Trainer
- OpenBench
- TalkChess Forum
- CCRL
- JCER
- Cute Chess
- Arena
- CPW
- Lars in Grahams Broadcast rooms