Lambergar - UCI chess engine Rating Chess Engines Diary CEDR=3062
Lambergar is a chess engine developed in the Zig programming language.
The name "Lambergar" is a nod to the Slovenian folk romance, Pegam and Lambergar, which recounts the epic struggle between Jan Vitovec and Kriลกtof Lambergar (Lamberg). This narrative of fortitude and rivalry provided a fitting namesake for this chess engine.
Lambergar is licensed under the MIT License. Check out LICENSE.txt for the full text. Feel free to use this program, but please credit this repository in your project if you use it.
v.1.0:
Builds
Currently there are four builds:
x86-64-v3: AVX2 support, best for using with NN evaluation and should be a preferred choice for best performance.
x86-64-v2: popcount support, suitable for modern computers.
x86-64-v1: vintage version is for really old computers.
aarch64-linux: version for Raspberry Pi 5.
Release Notes
This is a major release. I believe the Lambergar chess engine has matured enough to warrant the release of version 1.0. I am also introducing slight changes to the naming convention by dropping the patch version and removing the letter "v" in front of the version number. While I am sure there are still some significant bugs in the engine, I believe the code has reached a level of maturity where these bugs are no longer critical to its core functionality.
Added efficient updates (UE) to NN evaluation of positions. I expected a significant improvement in ELO, but the gain was only 20 ELO points.
Introduced a new network, zolnir.nnue, which contributes the majority of the ELO improvement.
Estimated engine strength is around 3180–3200 ELO.
Fixed bug: UseNNUE was not working because the implementation for switching NNUE on/off did not follow the correct format. This has been fixed to comply with the UCI format: setoption name UseNNUE value [value], where [value] is either true or false.
Fixed bug: When the UCI command was issued, the line reporting the option name UseNNUE type check default always displayed false, because it was hard-coded. I had overlooked updating this line to reflect the actual value. This issue is now resolved.
Changed how the number of nodes, nodes per second, and timer are reported in info score. Previously, the timer and node count were reset to zero for each depth. Now, info score reports the time from the start of the search and the cumulative number of nodes for each new depth.
Lambergar 0.6.0 vs other engines:
JigSaw 5.9 | 0/20 | -20 | 20 Games |
Obsidian 13.0 | 0/18 | -18 | 18 Games |
Alexandria 7.0.0 | 0/14 | -14 | 14 Games |
Yuliana 5.0 | 0/14 | -14 | 14 Games |
Caissa 1.19 | 0/14 | -14 | 14 Games |
Stockfish 16.1 | 0/14 | -14 | 14 Games |
Sloth 1.9 | 13/13 | +13 | 13 Games |
Nalwald 19 | 1.5/12 | -9 | 12 Games |
Lizard 10.5 | 0/12 | -12 | 12 Games |
Knightx 4.1 | 9.5/11 | +8 | 11 Games |
Motor 0.6.0 | 0.5/11 | -10 | 11 Games |
Bagatur 5.1a | 7/10 | +4 | 10 Games |
PlentyChess 3.0.0 JA | 0/10 | -10 | 10 Games |
Berserk 13 | 0/10 | -10 | 10 Games |
Odonata 0.9.0 | 3/9 | -3 | 9 Games |
Arasan 24.2.2 | 0/9 | -9 | 9 Games |
Habu 1.0 JA | 8/8 | +8 | 8 Games |
Drosophila 1.6 JA | 7/8 | +6 | 8 Games |
Princhess 0.18.0 | 2/8 | -4 | 8 Games |
Altair 7.0.3 JA | 1/8 | -6 | 8 Games |
Critter 1.6a | 0.5/8 | -7 | 8 Games |
github:https://github.com/jabolcni/Lambergar/releases/
Sample game of this engine:
[Event "2024.07.18.NewEnginesTest"]
[Site "Chess Engines Diary"]
[Date "2024.07.20"]
[Round "1.63"]
[White "Lambergar 0.6.0"]
[Black "Knightx 4.1"]
[Result "1-0"]
[ECO "B30"]
[PlyCount "92"]
[EventDate "2024.??.??"]
{[%evp
0,90,19,38,40,41,51,32,66,38,46,19,6,27,34,13,17,12,19,8,15,18,22,-7,13,-3,3,28,72,-21,49,81,92,62,79,84,76,76,75,69,109,129,119,100,113,124,101,122,106,91,127,106,114,120,129,129,110,110,124,159,170,196,194,196,200,196,224,224,245,253,253,253,258,253,250,259,269,277,271,295,310,325,323,333,336,352,355,374,413,419,425,435,446]}
1. e4 c5 2. Nf3 Nc6 3. Bb5 e6 4. O-O Nge7 5. c3 d5 6. exd5 Qxd5 7. Re1
a6 8. Ba4 b5 9. Bc2 Bb7 10. d4 Rd8 11. Be4 Qh5 12. Nbd2 cxd4 13. cxd4
h6 14. h3 Ng6 15. Nf1 Nh4 16. Be3 Na5 17. Nxh4 Qxh4 18. Bxb7 Nxb7 19.
Qf3 Rd7 20. Qc6 Be7 21. Qxa6 O-O 22. Qxb5 Rfd8 23. Ng3 Nd6 24. Qc6 Ne8
25. Qe4 Nd6 26. Qxh4 Bxh4 27. a4 Rb7 28. a5 Rxb2 29. a6 Ra8 30. d5 exd5
31. a7 Bxg3 32. fxg3 Nb5 33. Rab1 Rxb1 34. Rxb1 Nxa7 35. Ra1 f6 36.
Bxa7 Kf7 37. Bd4 Rxa1+ 38. Bxa1 Kg6 39. Kf2 Kf5 40. Ke3 h5 41. Kd4 Ke6
42. Bc3 Kd6 43. Bb4+ Ke6 44. Bc5 g6 45. Ba3 g5 46. Bb4 h4 1-0
Comments
Post a Comment