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



Kreveta 2.3.1 - new version chess engine


Kreveta - UCI chess engine
Author: Zlomený Měsíc

Kreveta 2.3.1 what's new?

Another Kreveta release, bringing many playing strength improvements:
Better Perft
The perft command no longer requires a depth argument. Running perft now performs a set of tests on a predefined suite of various positions at different depths, and compares the found node counts with known, expected results. This should allow us to quickly spot any new bugs in move generation, as the suite covers all types of positions.
Quiescence search improvements
Q-search now probes TT for each position, making move ordering a bit more efficient, and allowing early cutoffs.
Q-search is now also able to detect draws, including three-fold repetition draws, 50-move rule draws, insufficient mating material draws, and stalemates.
Regular search improvements
The long-lived Minimax framework has finally been replaced by a pure Negamax search. This seemingly negligible change alone eliminated a ton of branching in every searched node, gaining significant performance.
Static exchange evaluation (SEE) pruning for quiet moves has been implemented. It skips quiets that likely hang a piece, without much risk nor effort.
A secondary futility pruning (FP) implementation is now used strictly for captures. If, despite the highest achievable material gain, a capture still seems unworthy, it is pruned.
Hindsight reductions have been added, keeping the engine somewhat stable even with excessive reductions or extensions. This technique, based on the static evaluation difference over the last ply, is able to adjust the prior reduction or extension if it was too harsh or too optimistic.
Time management changes
The search instability value used by time management now takes into account two additional metrics; those being NodesEffort (what portion of the total searched nodes were spent on the best move), and LastBestMoveDepth (how many search iterations ago occurred the last best move change).
The game phase formula has been improved, meaning we're able to estimate the number of moves remaining until the end of the game more accurately. As a by-product, this change positively affects piece-square tables (PSTs) in the classical part of evaluation, improving the overall strength even more.
Bugfixes
A bug, where Kreveta would output a false, unverified draw score, due to the search being terminated prematurely, has been fixed. This issue didn't affect playing strength, though it caused unpleasant, and obviously nonsensical evaluation jumps during games.
An issue, where Kreveta would sometimes print illegal PV lines, has also been fixed. It was caused by the PV table not being erased prior to a LMR re-search, in rare cases causing the parent to read stalled entries, therefore passing illegal moves up the tree. Once again, playing strength was not affected, the issue was purely aesthetic.
Playing strength improvements against Kreveta 2.3.0, using the opening book UHO_4060_v4.epd at depth 16:
STC 8+0.15s
Elo   | 87.1 +/- 6.1
Games | total: 10000, W: 5041, L: 2586, D: 2373
Score | 0.623, LOS: 100.0 %, draw ratio: 23.7 %

Kreveta 2.2.3 vs other engines:

Critter 1.6a0/6-66 games
Priessnitz 2.0.1 JA0/5-55 games
Human Chess Engine 0.1 JA4/4+44 games
Maxima 2.0.0 JA1/4-24 games
Vantage 1.3.00.5/4-34 games
Petrel 3.3 JA0.5/4-34 games
Stockfish 180/4-44 games
Tarnished 5.00/4-44 games
Stockfish 18 JA0/4-44 games
Sturddle 2.5.00/4-44 games
Odonata 1.1.00/4-44 games
Bagatur 5.40/4-44 games
Clockwork 202602030/4-44 games
Zangdar 6.10/4-44 games
Halogen 15.33.30/4-44 games
PZChessBot 6.10/4-44 games
DON dev-202602040/4-44 games
VietCoffee 1.0.8 JA3/3+33 games
SoloEngine 1.3.11.5/2+12 games
Vantage 1.03.01/2+02 games
Zangdar 60/2-22 games




Comments