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



New version chess engine: Lynx 1.9.0 (Windows, MacOS, Linux)



Lynx it's written in C# (.NET 6). UCI protocol is needed.
Chess Engines Diary Rating CEDR=2890

Lynx release artifacts are self-contained and require no dependencies to be run.
However, you can also choose to build Lynx yourself.
Requirements
NET 6 SDK. You can find instructions about how to install it in yo

v.1.9.0
🔍 Search
Add PVS SEE pruning (#1521)
LMR: reduce more on TT capture when current move isn't (#1529)
LMR: reduce more on no TT PV (#1476)
LMR: deeper/shallower (#1535)
LMR: fractional w/ quantised base (#1514)
LMR: split base and history factor in quiet and noisy (#1512)
QSearch: don't use TT static eval (#1312)
QSearch: reuse TT score instead of TT static eval in QSearch when possible (#1319)
QSearch: don't do standing pat when in check (#1389)
Always predict cutnodes in ZWS with reduction, even if the reduction is 0 (#1304)
Extend on TT hit at low depths when TT cutoff doesn't happen but TT depth > depth (#1342)
Replace first legal move with BestMoveRoot() method when search depth 1 isn't completed (#1449)
Countermoves update: add pvNode || depth >= 3 condition (#1456)
IIR: on !ttHit -> on !ttHit || !ttMove (#1516)
Use final eval when available (checkmate, stalemate) as cached TT static eval (#1288)
SPSA (#1405, #1537)

⚖️ Evaluation
Pieces protected by pawns -> bucketed array, indexed by piece (#1324, #1336)
Passed pawns -> opponent buckets to passed pawns bucketed arrays (#1349)
Bishop major threats (#1415, #1420)
Bishop in non-blocked long diagonal (#1439)
Pawn islands (#1431)
Connected rooks (#1436)
Incremental static evaluation for PSQTs (#1350, #1353)
Pawn structure eval table (#1365)
Incremental phase (#1412)

⚡Speedups
Split ScoreMove between regular search and qsearch (#1410)
Remove Engine.StopSearching and Engine_stopRequested (#1296)
Use in readonly struct when passing args, when possible (#1462)
Precalculated pawn islands (#1440)
Remove passed pawns double array (#1491)
Add inline hints to TTElement getters (#1513)
Use explicit SEE.IsGoodCapture() method when we know it's a capture (#1528)
Replace GetLS1BIndex() + ResetLS1B() loop calls with a WithoutLS1B() method that 'outs' the index (#1536)

⌛ Time management
Don't search for shorter mates when low on time (#1398)
🟰 Multithreaded search
Replace Task.WhenAll with Task.WhenEach, processing faster results from extra threads (#1545)

🐛 Bugfixes
Engine doesn't becomes unresponsible any more when number of Threads gets close or over the logical cores of the machine (#1292)
Fix crash when multithreading and pondering when GUI doesn't wait for bestmove after a stop (#1394)
Fix cutechess warnings when pondering by avoiding single-move early returns while pondering (#1395)
Use TT recalculated scores everywhere and move TT cutoffs to NegaMax and QSearch methods (#1310)
Distinguish side on initial Zobrist key calculation (#1363)
Ensure that hashfull calculation doesn't fail if TT < 1k items (even if not currently possible) (#1393)
Non-strength winning changes

Make engine <-> GUI time overhead configurable (via EngineGuiCommunicationTimeOverhead) (#1442)
Refuse to parse FENs without (or with more than) one white and one black king (#1351)
Don't stop when a short-enough mate is found, continue trying to find a faster one (#1287)
Make single move score more recognizable (#1461)
Replace first legal move with BestMoveRoot() method when search depth 1 isn't completed (#1449)
Plan for whenever ChessGUI wakes up feeling like sending negative movestogo (#1519)



Lynx 1.7.0 vs other engines:
Berserk 120/8-88 Games
Seer 2.7.00/8-88 Games
Pingu 2.0.01/6-46 Games
Stockfish 15.10.5/6-56 Games
Mida 2.20.5/6-56 Games
Boychesser 1.00.5/6-56 Games
Brainlearn 26.10/6-66 Games
Hazard 3.780/6-66 Games
ShashChess 34.10/6-66 Games
Vafra 12.5 Cfish0/6-66 Games
Obsidian 6.00/6-66 Games
Polyfish 2310220/6-66 Games
Pawn 2.00/6-66 Games
CorChess 202310240/6-66 Games
Raid 2.78i_X0/6-66 Games
Tofiks 1.3.04/4+44 Games
Alpaca 0.2.54/4+44 Games
Lux 3.41/4-24 Games
RukChess 3.0.160.5/4-34 Games
Sirius 5.00.5/4-34 Games
Akimbo 0.7.00/4-44 Games

---
Lynx 1.9.0 download 
github:https://github.com/lynx-chess/Lynx/releases/

Comments

Popular posts from this blog

New Strong Engines Test, by Chess Engines Diary, 2024.04.12

New chess opening book: M11.2 (bin and ctg)

Dragon NNUE by Komodo Chess - it's free!

Chess engines: ChessKiss 1.8

New version chess engine: Lc0 BT4

Houdidit 6.03