Lynx it's written in C# (.NET 6). UCI protocol is needed.
Chess Engines Diary Rating CEDR=3278
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
Lynx 1.11.0 - what's new in this version?
⭐ New features
DFRC support (#2046)
🔍 Search
SE: low depth extension (#1796)
SE: avoid correcting on verification (#1844)
History: move to x^2 + x +c formula, split between between bonus & malus + tuning (#1818)
History: don't update on low depths (#1876)
Major correction history / corrhist - major key revival, weight 150 (#1912)
NMP: add staticEval - beta margin >= 30 (#1918)
Corrplexity (#1923)
Remove TT score usage as static eval (#1971)
Use TT score as static eval for RFP (#1973)
Use TT static eval in QSearch (#2017)
Use TT score as static eval for NMP (#2055)
Allow static eval correction and improving calculation on pv nodes (#1999)
Threat history (#2020)
IIR min depth: 4 -> 5 (#2035)
RFP: max depth 7 -> 9 (#1842)
Razoring simplification: no need to run QSearch when tt corrected eval (#2039)
SPSA 2025-5-10 - including TM tuning (#1955)
⚖️ Evaluation
Threats: piece threats, simplest impl (no defenders) (#1817)
Threats: defended piece threats - defended by pawns (#1820)
Threats: king threats (#1822)
Backwards pawn: (blocked or can't push) and undefended (#1994)
King ring attacks - linear, excluding king square (#2067)
Total king ring attacks (#2079)
King ring total attacks: add pawns two squares ahead of the king when 1st and 8th rank (#2081)
Endgames: OCB - eval/=2 (#1875)
Endgames: scale down bishop & A/H pawns (#1879)
Pawnless endgames: scale down R vs minor and 2 minors vs 1 (#1877)
Pawnless endgames: scale down RB and RN vs R (#1878)
Pawnless endgames: scale down R vs R and R vs 2 minors (#1880)
Mobility: only exclude same side pawns, instead of all pieces (#2063)
King mobility, restricting only opponent pawn attacks (#2069)
Isolated pawns: split by file (#1988)
Rook open/semiopen bonus penalty: split by file (#1992)
Safe/unsafe checks: split existing checks (#1823)
King open/semiopen bonus-penalty: split by file and king bucket (#2001)
Rook open/semiopen bonus: split by kings buckets (#2002)
Simplify PieceProtectedByPawnBonus, removing buckets (#1855)
[DFRC] Cornered bishop penalty (#2057)
[DFRC] Cornered bishop + blocked pawn (#2073)
777777 -> 1M Ethereal FRC data (#2053)
0.5M Clockwork 2.1 data (#2090)
2M Sirius 40ppg data (#2147)
⚡Speedups
GC mode Server -> Workstation (#1718)
Use array.AsSpan().Clear() for small arrays (#1835)
Don't accept EvaluationContext as ref readonly parameter (#1933, #2040)
Refactor TT proving to return a boolean, an out-return a TTProbeResult ref readonly struct (#1984)
Span: ref + Unsafe.Add() (#2112)
Only copy the needed items during Position clone constructor (#1803)
Castling free squares using presaved bitboards (#1816)
ScoreMove: score quiets first, as they should be more common (#1831)
Pawn movegen: improve branching and doublePushSquare calculation (#1861, #1863)
Pawn movegen: incremental promo encoding + simplification (#1862, #1864, #1866, #1867)
Movegen: kings - don't generate pseudolegal king moves that land in an attacked square attacked (#1894, #1896)
Movegen: reuse attacks and occupancy arrays (#1895, #1897)
Move encoding: Remove IsCapture flag (#1929)
Use mask to check if a piece is a minor (#1910)
FEN parsing: huge en-passant optimization (#2075)
FEN parsing: avoid duplicated occupancy population (#1972)
Position speedups (#2109, #2110)
Replace every pair of friend-enemy PQST() calls by a single one (#2150)
Reduce indirections and other minor improvements (#1806, #2095)
🐛 Bugfixes
Fix engine stalls/loses on time on low movestogo (#2050)
Avoid too shallow searches when stopping on mate (#2130)
Ensure TT clearing on first ucinewgame, regardless of previous go commands (#1978)
Correction history: use node type instead of TT entry type for update checks (#1909)
TT replacement policy: empty entries (#2010, #2012, #2013)
TT replacement: on collision (#2014)
TT static eval saving: depth overflow (#2011)
Don't correct TT 'no-scores' (#2016)
Non-strength winning changes
Add MoveOverhead UCI option (#1809)
Make UCI booleans lowercase (#2060)
Add support for positions with more than 250 pseudolegal moves (#1928)
Allow positions with >8 pawns (#1810)
Show half-move counter when printing position (#2059)
Lynx 1.10.1 vs other engines:
| Critter 1.6a | 20.5/42 | -1 | 42 Games |
| Reckless 0.8.0 | 1/25 | -23 | 25 Games |
| Knightx 4.5 | 22/23 | +21 | 23 Games |
| Stallion GB Edition | 8/20 | -4 | 20 Games |
| Patricia 5.0 | 3.5/20 | -13 | 20 Games |
| Radiance 4.1 | 18/18 | +18 | 18 Games |
| Belofte 2.1.9 (u) JA | 14/14 | +14 | 14 Games |
| Cheese 3.3.0 JA | 8.5/12 | +5 | 12 Games |
| Iris 2.0 | 3/12 | -6 | 12 Games |
| Tarnished 4.0 | 0.5/10 | -9 | 10 Games |
| Caissa 1.23 | 0/10 | -10 | 10 Games |
| Maelstrom 3.1.1 | 5/8 | +2 | 8 Games |
| Lambergar 1.2 | 4.5/8 | +1 | 8 Games |
| Bitbit 1.4 | 3.5/8 | -1 | 8 Games |
| Uralochka 3.42 dev14 | 2.5/8 | -3 | 8 Games |
| Oxide 1.3.0 | 2.5/8 | -3 | 8 Games |
| Astra 6.0 | 1.5/8 | -5 | 8 Games |
| Integral 7 dev.322b JA | 0.5/8 | -7 | 8 Games |
| Belofte 2.1.9 (u) | 6/6 | +6 | 6 Games |
| Chess-3 2.0 JA | 6/6 | +6 | 6 Games |
| Senpai 2.0 JA | 4/6 | +2 | 6 Games |
---
Lynx 1.11.0 download mirrorgithub:https://github.com/lynx-chess/Lynx/releases/

Comments
Post a Comment