Laura - UCI chess engine
Author: HansTibberio
Laura 3.0.0 what's new?
New Features
Added draw detection via is_draw():
Fifty-move rule
Threefold repetition
Insufficient material (KK, KNK, KBK, KNNK, KBBK)
Added game history tracking in UCI parser (Vec) for proper repetition detection
Improvements
Improved time management: Reduced default moves-to-go from 40 to 20
Improved aspiration window behavior:
Fail-low now uses midpoint collapse of beta
Window expansion is now delta += delta / 2 (previously delta *= delta)
Improved Null Move Pruning (NMP):
Updated reduction formula from r = 3 + depth / 4 to r = (4 + depth / 4).min(depth)
Bug Fixes
Fixed critical qsearch bug:
Removed per-recursion initialization of HistoryTable
Eliminated unnecessary overhead during quiescence search
Prevented stack overflow in capture-heavy positions
Resolved engine crashes related to deep qsearch recursion
SPRT
Base: Laura v2.0.0
New: Laura v3.0.0
STC (10+0.1, 1t, 16MB, UHO_4060_v4.epd):
Elo: 166.95 +/- 25.11, nElo: 248.54 +/- 32.10
LOS: 100.00 %, DrawRatio: 23.56 %, PairsRatio: 11.29
Games: 450, Wins: 240, Losses: 39, Draws: 171, Points: 325.5 (72.33 %)
Ptnml(0-2): [2, 12, 53, 99, 59], WL/DD Ratio: 0.77
LLR: 2.96 (100.5%) (-2.94, 2.94) [0.00, 5.00]
LTC (60+0.6, 1t, 128MB, UHO_4060_v4.epd):
Elo: 189.75 +/- 24.35, nElo: 314.41 +/- 33.23
LOS: 100.00 %, DrawRatio: 19.05 %, PairsRatio: 23.29
Games: 420, Wins: 234, Losses: 25, Draws: 161, Points: 314.5 (74.88 %)
Ptnml(0-2): [1, 6, 40, 109, 54], WL/DD Ratio: 0.74
LLR: 2.95 (100.1%) (-2.94, 2.94) [0.00, 5.00]

Comments
Post a Comment