Version 2.0 by Fabien Letouzey – 2017-11-10
After a few years in computer draughts, I am back to chess for a little while. I see too many draws at top level, and am afraid that it will be too late in a couple of years. Big hardware and large opening books are also not helping IMO.
So I’m here to announce Senpai 2.0. The code looks all different because I started from my draughts program, but it’s actually still Senpai inside. I prefer having a consistent codebase for multiple games (also Shogi and Othello).
As a rewrite it’s hard to list changes, but here is an attempt:
- Chess960 is baked in, not an add-on; Senpai 2 plays chess only as a special case!
- search: restricted singular extensions
- search: additional reduction/pruning of “losing” moves (SEE < 0)
- eval: tempo bonus (it seems I forgot in 1.0 …)
- eval: “space” (glorified pawn-chain PST); this changes playing style a lot
- eval: scoring by logistic regression; this gives me more freedom for eval features
- board: copy/make (customary in games with fewer piece types than chess)
- board: optional PEXT bitboards (BMI2)
- As I recall, no single change brought more than 10 Elo. So it’s more a sum of small (IMO) things.
This release has been rushed a little, so it’s still lacking UCI options and multi-PV; sorry about that.
Version 1.0 by Fabien Letouzey – 2014-03-17
I have recently regained interest in computer chess. By a coincidence (or fate?), Joachim Rang and Ryan Benitez are also active once again.
I have been working on a new GPL engine: Senpai.
The highlights compared to Fruit are:
- from-scratch engine (no Fruit code)
- SMP search
- plain bitboards (I will implement magic bitboards later)
- more precise mobility (safety, centre weights)
- evaluation of tactical moves: captures and checks
- late-move pruning (last few plies)
- more aggressive futility pruning
Have fun with Senpai!
Fabien Letouzey