A little over two months ago since my last release. I'm happy to say I've made some good progress in terms of playing strength and project structure.
The official release on GitHub can be found here : https://github.com/AndyGrant/Ethereal/r ... /tag/V8.28
I'm trying to track old versions here (Some versions are VERY old; One from my HS days (in JAVA)) : https://andygrant.github.io/
A copy of the release notes:
Code: Select all
Functional Changes:
Clear History between games, not between searches & Reduce History before each search
Fixed an issue were the engine would crash with games going ~500 moves (Now crashes at ~2K)
Added a form of Late Move Pruning / Move Count Pruning, based on number of quiets tried
Added Razoring a la Stockfish, with a few more conditions
Fixed a bug where the same position could have two different hash representations, depending on whether it was set using a FEN or a startpos + move list
Fixed a bug with the rook psqt updates during castling
Now taking special care of MATE scores for the table (talkchess.com/forum/viewtopic.php?t=64937), thanks to a bug found by Werner Schüle
Combined the rootSearch and alphaBetaSearch (the general form) into one function
Non-functional Changes:
Reformatted the vast majority of the evaluation code in order to encapsulate evaluation for each piece, giving a measurable speed up (on my machines) of 2-4% depending on game phase.
Documented the main search() routine, a la Stockfish.
Removed 729 Lines of Code
Testing against a pool of opponents in EtherBench shows a gain of ~70 ELO. As always, I expect that figure to be inflated, but I hope not!
https://github.com/AndyGrant/Ethereal/c ... 891dcef125
https://github.com/AndyGrant/Ethereal/c ... 5b365a1aed
https://github.com/AndyGrant/Ethereal/c ... cf5856bb04
https://github.com/AndyGrant/Ethereal/c ... eea95cc16e
A special thanks to Werner Schüle for identifying a case where Ethereal would miss mating lines (and eventually draw the game) as a result of some unfortunate hashing of mated lines. I believe I have fixed this by treating the mate scores in a special way. This fixed the case provided by Werner, but that is not proof of correctness.
As always, if anyone would care to provide a MAC compile, I will add it to the release.
Thanks,
Andrew Grant