Heimdall 1.4.3 - new version chess engine


Heimdall - UCI chess engine written in Nim.
Author: Mattia Giambirtone

More info
Heimdall is available on Lichess under its old name (Nimfish), feel free to challenge it! I try to keep the engine running on there always up to date with the changes on the master branch

Heimdall 1.4.3 what's new?

Greetings! After much silence, here comes a new version of the 'dall; 1.4.3 is a larger release than the version number suggests. The engine has picked up a redesigned terminal UI, replay tooling, several search and evaluation changes, a newer network, and a good pile of correctness and build fixes since 1.4.2. I'm not calling this 1.5 because I said 1.5 would be using a multilayer network and I'm procrastinating that HARD (oops)

What changed

  • Added a (shamelessly vibecoded) terminal UI with analysis, play/setup/replay flows, board rendering, eval/move arrows, user arrows, mate finding, annotations, PGN importing/exporting, and more; see here for details
  • Made UCI move parsing reject illegal moves more reliably
  • Improved command parsing so valid position and go commands embedded in otherwise malformed input can still be handled per the UCI spec
  • Switched to laevateinn-v2-verbatim network
  • Added Transparent Huge Pages support for aligned memory where available (detected at build time, not runtime)
  • Implemented a simplified ProbCut
  • Implemented fractional LMR and made the LMR base table tunable
  • Added continuation correction history and 2-ply continuation correction history
  • Tuned all search parameters
  • Fixed evaluation clamping and mate-score handling issues
  • Fixed the long-standing incorrect definition of improving
  • Tightened singular-extension and futility-pruning margins
  • Ensured NMP does not return false mates
  • Reduced false sharing and contention by changing how search parameters and worker state are copied/aligned
  • Used relaxed ordering for atomic operations where appropriate
  • Moved more objects to managed references and aligned more search-manager fields
  • Compressed moves into 16 bits

Strength

Pretty chunky gains across the board, honestly was not expecting them to be this high nor this consistent across opening books and time controls. A welcome surprise for sure!

UHO_Lichess_4852_v1.epd

STC:

Elo   | 92.04 +- 12.86 (95%)
Conf  | 8.0+0.08s Threads=1 Hash=16MB
Games | N: 1012 W: 408 L: 146 D: 458
Penta | [0, 43, 207, 207, 49]

LTC:

Elo   | 83.57 +- 11.72 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=64MB
Games | N: 1000 W: 386 L: 150 D: 464
Penta | [0, 41, 208, 225, 26]

8moves_v3.epd

STC:

Elo   | 77.59 +- 12.28 (95%)
Conf  | 8.0+0.08s Threads=1 Hash=16MB
Games | N: 1006 W: 290 L: 69 D: 647
Penta | [4, 36, 234, 193, 36]

LTC:

Elo   | 54.89 +- 9.67 (95%)
Conf  | 40.0+0.40s Threads=1 Hash=64MB
Games | N: 1002 W: 192 L: 35 D: 775
Penta | [1, 24, 307, 155, 14]


Heimdall 1.3.0 vs other engines:
Horsie 1.0.6 JA1.5/12-912 Games
Viridithas 16.0.01/8-68 Games
Sting Black Hole 96/6+66 Games
Deep HIARCS 15.4u4/6+26 Games
Ethereal 14.252/6-26 Games
Chess-System-Tal-22/6-26 Games
Caissa 1.212/6-26 Games
Alexandria 7.0.14 JA2/6-26 Games
Revenge 4.02/6-26 Games
Motor 0.8.0 JA2/6-26 Games
Lizard 11.2.01.5/6-36 Games
PlentyChess 4.0.11.5/6-36 Games
Clover 8.1 JA1.5/6-36 Games
HypnoS ++ 1.011.5/6-36 Games
Artemis 7TR1.5/6-36 Games
Dragon 3.31.5/6-36 Games
Velvet 8.1.1 JA1/6-46 Games
Obsidian 15.01 SE1/6-46 Games
Starzix 6.01/6-46 Games
Igel 3.6.0 JA1/6-46 Games
Stockfish dev-202502020.5/6-56 Games


Github: https://github.com/nocturn9x/heimdall

Comments

Popular posts from this blog

Reckless 0.9.0 - new version super strong chess engine

Reckless 0.10.0 - new version super strong chess engine

We already have the new Fritz 20 program - what does it look like and how does it work?

Torch-4 UCI v 1.01 - new version chess engine