Verychess 0.11.0 new version chess engine
VeryChess introduces multi-threaded search based on the Lazy SMP approach, with support for 1 to 256 search threads and a shared lock-free transposition table.
Author: Oleh Sych Rating Chess Engines Diary CEDR=2729
Verychess what's new?
Overview
This release is a broad one: no single change dominates, but a long series of search and evaluation improvements adds up, and the engine's inner loop got substantially faster without changing a single search decision. On Apple Silicon the engine now searches about 30% more positions per second than 0.10.0; on an older Intel machine the three structural speed-ups alone added roughly +40%.
Strength
In a gauntlet tournament against other well-known chess engines (the permanent testing group used for VeryChess benchmarking) on an ARM64 Mac with an M2 CPU, VeryChess 0.11.0 achieved a rating of 2960 ± 26 ELO. Compared with VeryChess 0.10.0, which scored 2909 ± 27 ELO under the same benchmark configuration, version 0.11.0 shows an improvement of +51 ELO.
Search
Correction history. The engine now learns, during a search, how far its static evaluation tends to be off for a given pawn structure and for each side's piece configuration, and corrects the evaluation used by reverse futility pruning and by the quiescence "stand pat".
History bonus for the move that led to a failing node. When every reply in a position fails to raise the score, the quiet move that led into that position was evidently strong — it now gets credit in the move-ordering history, where previously nothing was learned.
Reverse futility pruning respects threats. If the opponent is attacking one of our pieces with a cheaper one, the engine now asks for an extra safety margin before skipping a position as "already good enough".
Multi-cut in the singular-extension verification search: when even the second-best move already refutes the opponent, the node is resolved immediately.
Killer moves removed. An audit found that the killer-move heuristic had in practice been inactive for a long time — the slots were cleared before any sibling position could use them. A working version was built and measured, so the mechanism was removed entirely rather than kept in its inert form.
Evaluation
Passed pawns: king distance — a passed pawn is worth more when the enemy king is far from its path and our own king is close.
Passed pawns: free path — the pawn's whole route to promotion is examined: whether the squares ahead are attacked or occupied by the opponent, and whether our pieces support the next step.
Fifty-move rule awareness. The evaluation now fades smoothly toward a draw as the fifty-move counter grows, so the engine prefers to make progress instead of shuffling in a position it cannot convert.
Rook and pawn vs rook endgames. Three drawing patterns (the defending king in front of the pawn, and two king-race cases) are now recognised and scored as drawish. The rules were derived from and checked against endgame tablebases offline; the engine itself still needs no external files.
Speed
All of the following leave the search tree exactly unchanged — the same moves are searched in the same order at the same depths — and were checked that way on both Apple Silicon and Intel:
Static evaluation is 32% faster (templated per-piece evaluation, bit-parallel pawn structure and pawn shelter, cheaper endgame-scaling checks).
Making and unmaking moves costs 6.4% fewer instructions per node.
Transposition-table indexing uses a bit mask instead of an integer division on the usual hash sizes (+6% positions per second on Intel; division is cheap on Apple Silicon).
Late-move pruning before the move is made. Whether a quiet move gives check is now decided on the current board, so moves that would be pruned anyway are never played and taken back (+11% on Intel, −3.6% CPU cycles per node on Apple Silicon).
Move ordering skips moves that will be pruned. Once late-move pruning is active in a position, the move picker no longer sorts the quiet moves it would discard (+18% on Intel, −15% CPU cycles per node on Apple Silicon).
Comments
Post a Comment