Changes in Arasan 19.1:
Code: Select all
1) Change/fix root move reordering. After wide search phase, just move
the pv move first and other moves down.
2) Scoring change: limit range of KING_MOBILITY_ENDGAME array.
3) Add scoring for threats of lower-valued pieces and pawns against
higher-valued pieces (previously only pawn threats were scored).
4) Add support for thread affinity via the hwloc library (not enabled
in the release builds; must recompile from source to get this).
5) Add restrictions on SEE pruning: don't prune evasions, and only prune
checking moves if they are not discovered check.
6) Change extension logic: extend checks if not losing or if discovered.
Other checks can be pruned (SEE pruning) or reduced. Remove FORCED2
extension (2 legal evasions).
7) Pick up en passant fixes from Fathom library.
8) Add fixes for Android compatibility (although note: Makefiles still do
not support Android cross-compilation).
9) Fix bugs in Syzygy probing to avoid non-progress in endgames where
a repetition has occurred.
10) Non-POPCNT builds use a better software POPCNT implementation.
11) Change IID conditions: allow IID in check if in PV. In non-PV node,
score must not be too bad (like Protector).
12) In "wide" search mode do not shrink upper bound of search window.
13) Small changes to LMR reduction formula.
14) Fixes to terminate multithreaded searches faster when fail-high
detected.
15) Changes to draw score calculation when ratings are available and
to logic for "accept draw."
16) Fix MVV/LVA calculation for move ordering.
A test against 19.0.1 (3000 games at 5 min. + 3 sec, 8 move book, 1 core, no ponder):
Code: Select all
Rank Name Elo + - games score oppo. draws
1 Arasan 19.1 2414 5 6 3000 55% 2386 59%
2 Arasan-19.0.1 2386 6 5 3000 45% 2414 59%