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



Chess engine: Eubos 2.10


Eubos
- a
 basic Java chess engine, written for kicks. Uses jcpi for the UCI protocol parts. Kind of weak, doesn't evaluate for king safety, for example. Now uses transpostion hashing, but because it runs in the Java VM on a bog standard PC, doesn't search very deeply (around 100K Nodes/s, though this is actually quite hard to evaluate due to the hashing). 
Author: Chris Bolt Rating CEDR=2099

v.2.10
Features
Null Move Pruning added to the search, based on the implementation fromm the Chess Programming Wiki Engine
Added support for the 'move overhead' UCI configuration option, this is used for Eubos on Lichess
Added statistics collection for more advanced Lazy Evaluation tuning
Mate Distance Pruning
Tuning / Optimisation / Tweaks
Staged move generation implemented for the hash move at non-root and extended search nodes
Extracted a specific function for the search at the root node
Now tracks whether the Principal continuation has been fully searched and flags this using a boolean
Tweaked the lazy evaluation threshold, to produce more evaluation cut-offs
Use an auto-flushing stream for the UCI protocol output (send direction) to the chess GUI. This reduces time forfeits on Lichess.
Fixes
Bug fix for en passant hash moves, the en passant flag in the move integer was not getting set from the board state when retrieving from the hash table.
Quality
Potential Improvements
I would like to more fully utilise the staged move generation. For example it isn't too much work to include promotions as a special case in the move generation.
I would also like to refactor the staged move generation to use a loop rather than duplicating code in the search functions
The search node functions need to be optimised, I have some ideas about passing alpha and beta in an array, to help breaking down some function sizes and possibly better utilising hotspot compilation.

To install Eubos as an engine in Arena:
1. Select Engines > Install New Engine
2. In the file browser dialog that appears, change the drop down to *.bat
3. Navigate to the Eubos binary location, select the Eubos.bat
4. Select UCI protocol to communicate with Eubos
5. That's it! 

Eubos 2.10 download


Twitter
Facebook
Instagram
Pinterest
Reddit
Tumblr
VKontakte

Comments