- Version
- Download 141
- File Size 1.72 MB
- File Count 1
- Create Date 22 July 2022
- Last Updated 22 July 2022
AdaChess v. 3.9.0-dev
AdaChess version 3.9.0-dev
After more than 3 years of work, through the pandemic where I've worked almost nothing to the engine, I'm happy to announce a new release of AdaChess, ready for testing. The engine is very stable but contains a couple of minor bugs that do not affect the program in a major way.
The estimated rank is 2200-2400 Elo - I hope so, after so much work!
This release contains many important news listed below.
- The overall source code has been completely refactored and the file system updated to a more engineering version.
- A new I/O routines substitute the old and simple one providing many useful internal features
- The communication protocol has been rewritten to provide base for a future support for the UCI protocol (that is planned in the next release)
- The old multi-dimensional array of moves has been replaced to a more efficient single dimensional array, a move stack (like probably every other engine has)
- Support the following notation: Winboard (e2e4, g7g8q, e1g1, ..), algebraic (Nf4, Bcxf5+, O-O, ..), long algebraic (Nf1-g3, Qe1xe7+, ...) and the ICCF (see: https://en.wikipedia.org/wiki/ICCF_numeric_notation). Specify the notation at startup via command line (adachess.exe --notation san)
- Fixed a bug with notation on moves that gives double-check (was a single "+", now is "++")
- A simple easter-egg has been added - find it by yourself! 😉
- Statistical data has been added to the Divide command (see below)
- Both perft and divide can output with any of the supported notation
- The opening book code has been rewritten: the engine support the simple opening book format and can use any PGN as opening book. It can load multiple opening book (adachess.exe --opening-book Alechine.pgn). The current release comes with a pgn example, the games of Alechine. Note that the PGN parser is very slow, be carefoul in running AdaChess with huge PGN.
- The evaluation function has been completely rewritten to be more efficient (it is still a work in progress, though). It implements a more advanced pawn structure evaluation and improved mobility, fixed king-safety and some small further improvement. It does not detect anymore draw by insufficient material (will be restored soon)
- The time control, to control the chess clock, has been completely rewritten to support any rule of chess. It contains a minor bug that will be fixed for the next release
- SEE: The static exchange evaluation has been rewritten. AdaChess implements now a more intelligent algorithm based on attacks/defends map
- Null move observation improved, adding information for mate threath
- Fixed the futility pruning
- Added razoring and reverse futility pruning
- Move generator for quiescence rewritten taking advantage of the engine smar move generator. The quiescence generates not only captures, but every move of tactical importance
- Added the aspiration window algorithm to the "Think" functionality
- Fix the ponder engine and
- A simple, very simple, multi-pv algorithm has been introduced. Specify the amount the pv via command line (adachess.exe --multipv 3)
- Algorithm to mirror position implemented
- Many other small improvement and optimizations...
The current version is very stable but suffer of some small known bugs that will be fixed before the complete release. These bugs do not affect the engine in a major way.