Chess engine: Eubos 2.12
Author: Chris Bolt Rating CEDR=1788
v.2.12
Features
Added simplified evaluation of candidate passed pawns to the pawn evaluation
Add bespoke evaluation for KPK endgames (disabled in the release as it is over-simplified)
Added standard algorithm (from Chess Programming Wiki) for computing the manhattan distance between squares (with intention of using it in KPK endgames for square of pawn evaluation
Added King Tropism aspects to the bespoke Eubos king safety algorithm using the manhattan distance for Queens and Knights
Added capability to send just a single best move at a position, rather than a full principal variation
Tuning / Optimisation / Tweaks
Create a different set of piece material values for the Endgame material evaluation
Modify the piece material values to disincentivise trading minor pieces for pawns or major pieces for minor pieces plus pawns
No longer update the PV at a position if we didn't increase alpha, previously Eubos tracked the score at a position from provisional alpha, even when it was outside the current search window.
Modify move timing computation to assign fewer milliseconds to each time quanta when evaluating the current search progress. This conserves more clock, and reduces per move think time.
Optimised pawn attack aggregaton out of the per pawn evaluation - it is now just done once for the position
Modified the traditional Eubos king safety algorithm to not discount attacking bishops on the opposite square colour to our king
Optimise the check during move generation to see if a move could be illegal because the piece is pinned to the king, now it only considers diagonal/ranke and file attacking sliders if they are present in the position
Search at least 6 quiet moves before doing LMR
Increase default LMR to depth/3
Fixes
Move timing change, if an aspiration window fails, wait for the re-search with a wider window to complete before terminating the search
No longer assign 'exact' score type when updating the Trasposition Table, as current LMR algorithm means we can't know the true depth searched (it can be reduced multiple times)
Quality
Added various EPD Test Suites as optional unit tests, derived from the Chess Programming Wiki
Fix up perft tests, which were failing due to not including under promotions in the move generation in Eubos v2.11
Refactored and simplified the Transposition static class
Use Eubos internal types in the Search Metrics class, not JCPI package types
Refactored the Test.Eubos.Main package to extract common code into a base class
Potential Improvements
Further development of KPK
Analys the frontspan of passed pawns and account for attacks/piece blocks in the evaluation thereof
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.12 download
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.12 download
Comments
Post a Comment