Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



Chess Engine: Uralochka 3.41 dev.3



Uralochka - UCI chess engine
Author: Ivan Maklyakov  Rating CCRL=3606

UCI-compatible chess engine using Alpha-beta search and NNUE-like neural network.
The engine implements:
Basic control options (search to depth, time per move, time per game, time per N moves).
Support for Syzygy endgame tables.
Multithreading.
Builds for different processor extensions (SSE, AVX2, AVX512) and operating systems (Windows, Linux).

Engine architecture (everything is like most engines of this level):
Position representation and move generation - magic beatboards.
Sorting moves: moves from the transposition table, good captures by SEE, killer moves, quiet moves by history, bad captures by SEE.
Search - PVS, Aspiration search, Quiescence Search. And all possible abbreviations and cuts in the search (Null move, Static null move, abbreviations for quiet moves, Futility pruning, SEE prunung, LMR for quiet moves).
Transposition table for sorting moves, cuttings and for evaluation caching.
Multithreading - Lazy SMP.
Evaluation - a neural network similar to NNUE of the first versions with HalfKP. Network architecture: (2x(12288x1024))x6. Input layer: KingAreaPieceColorPieceSquare 166264. Trained using the frameworks Keras (early versions) and PyTorch (latest versions) on data generated in games of the engine against itself (with added positions from games against other engines) with ultra-short control (8-9 half-moves). Implementation of inference in the engine using the accumulator principle and vector instructions (SSE, AVX).
HCE (not used now) - material, PSQT, king's pawn shield, attacks on the king, pawn structure, piece mobility. The weights were selected using the Texel engine method.


Uralochka 3.41 dev1 - results: 
Obsidian 10.020.5/48-748 Games
RubiChess 2024011225/46+446 Games
Caissa 1.1621/46-446 Games
Stormphrax 4.0.025.5/40+1140 Games
Seer 2.8.019/40-240 Games
Minic 3.4125/38+1238 Games
Texel 1.1122.5/34+1134 Games
Chess-System-Tal-214.5/34-534 Games
Clover 6.117/32+232 Games
Ethereal 14.2514.5/30-130 Games
Berserk 12.110.5/30-930 Games
Pawn 3.020/28+1228 Games
Arasan 24.113.5/26+126 Games
RofChade 3.112.5/26-126 Games
Booot 7.314/24+424 Games
Alexandria 6.010.5/22-122 Games
Revenge 3.010/20+020 Games
Avalanche 2.1.014.5/18+1118 Games
Willow 4.010.5/16+516 Games
Counter 5.512.5/14+1114 Games
Minic 3.409/14+414 Games

Uralochka 3.41 dev1 - tournament results: 
2024.01.15.F15.Lenovo.AmateurTournament 28/32+24Ranking 1
2024.01.20.AcerArenaTournament 32/50+14
2024.01.20.New.AmateurEnginesTest 38/46+30Ranking 2
2024.01.24.FritzNewEnginesTest30/42+18
2024.01.28.New.AmateurEnginesTest 29/32+26
2024.02.03.LucasLenovo 28/46+10
Big Engines 59/112+6


Comments