Repository navigation
Lozza 4.0
A bigger 768 → 128 → 1 SReLU network (still white-relative) trained on self-generated data using a DIY Javascript pipeline: datagen.js → filter.js → trainer.js. Includes the 3.1–3.16 development builds listed below.
Originally released with the weights in a separate .bin file; re-released on 6 Jan 2025 with the weights inlined into lozza.js again after users reported problems. Same strength.
Changes
- Minor tweaks for datagen + net command. (3.1)
- Defer UE to after legal check (doh!) and don't check pre-determined legal moves. (3.2)
- Make sure all UE updates (inc. castling etc) are a single accumulator loop. (3.3)
- Bigger net 768x128x1 srelu. (3.4)
- Allow successive NMP and beta pruning. (3.5)
- Simplify search recursion. (3.6)
- Optimise castling a bit. (3.7)
- Put eval in TT before search. (3.8)
- Prune QS with quickSee(). Only count nodes that iterate moves. (3.9)
- Fix some web stuff. Add improving indicator. (3.10)
- Optmise deferral of h1 accumulator update a bit more. (3.11)
- Use hash move in q search. (3.12)
- Move futility alpha test to move loop. (3.13)
- Use the Mersene Twister from Cwtch for randoms. (3.14)
- Load net from the .bin file created by trainer.js. (3.15)
- Add perspective (currently unused). (3.16)
Rating
CCRL 40/40: 2968 · CCRL Blitz: 2900
Usage
Use lozza.js with Node.js in any UCI chess GUI (Arena, Cute Chess, etc.), or in a web page/web worker.
Binaries
While Lozza is intended for web use, I can supply binaries on request. Please email me op12no2@gmail.com noting the target platform; thanks.