Arasan 22.0 is available from https://www.arasanchess.org. This is basically the same version that played in the recent ACCA tournament and CSVN Programmer's Tournament.
1) Makefile fixes: add -flto to optimized builds. Fix PGO builds with clang.
Don't use gold linker on MacOS (fixes #24).
2) Don't allow termination due to hitting a time limit until at least
one thread has completed an entire search iteration (to prevent
failing low and having no move).
3) Remove UCI logging feature (enabled with -DUCI_LOG). Support runtime
debugging under UCI via the "debug" command.
4) Allow LMR of capture/promotions past LMP threshold, with less
reduction.
5) Change bishop attack function w. transparency so that both Queens
and Bishops are considered transparent. Re-tune.
6) Simplify and modify king safety.
7) Performance fix for tuner: Reduce locking by reading line under lock then parsing EPD.
8) Remove byte typedef, to allow compilation under C++17.
9) Use condition variable instead of polling to wait for threads to complete.
10) Re-work threat scoring. Calculate full attack info for both sides
before doing threat scoring. Change calculation of threats, now
similar to Stockfish. Add scoring for threats by pawn push to safe squares.
11) Fixes for repetition detection after null move: keep separate counter
for plies from last null move, as in Stockfish.
12) Changes to time management.
13) Eval changes including passers, own pieces protecting king under attack, pawn
storm.
14) Fixes to singular extension code. Revert back to calling search recursively
to do singular search.
15) Bug fixes in material scoring:
a. Don't apply material score corrections for pawnless endgames twice (once
for each side).
b. Exclude special-case endgames with non-tunable params from tuning.
16) Score pawnless Q vs R + minor as draw.
17) Change piece values. Re-tune.
18) Update tools to be compatible with latest python-chess.
19) don't set improving = true if in check or if previous ply score not avaialble
20) Change history score calculation (similar to Laser). Modify history
pruning thresholds.
21) Add Cmake support (WIP).
Blitz test (5:0+3) of version 21.4 vs. a recent dev build shows +40 ELO:
jdart wrote: ↑Tue Dec 10, 2019 3:23 am
Arasan 22.0 is available from https://www.arasanchess.org. This is basically the same version that played in the recent ACCA tournament and CSVN Programmer's Tournament.
1) Makefile fixes: add -flto to optimized builds. Fix PGO builds with clang.
Don't use gold linker on MacOS (fixes #24).
2) Don't allow termination due to hitting a time limit until at least
one thread has completed an entire search iteration (to prevent
failing low and having no move).
3) Remove UCI logging feature (enabled with -DUCI_LOG). Support runtime
debugging under UCI via the "debug" command.
4) Allow LMR of capture/promotions past LMP threshold, with less
reduction.
5) Change bishop attack function w. transparency so that both Queens
and Bishops are considered transparent. Re-tune.
6) Simplify and modify king safety.
7) Performance fix for tuner: Reduce locking by reading line under lock then parsing EPD.
8) Remove byte typedef, to allow compilation under C++17.
9) Use condition variable instead of polling to wait for threads to complete.
10) Re-work threat scoring. Calculate full attack info for both sides
before doing threat scoring. Change calculation of threats, now
similar to Stockfish. Add scoring for threats by pawn push to safe squares.
11) Fixes for repetition detection after null move: keep separate counter
for plies from last null move, as in Stockfish.
12) Changes to time management.
13) Eval changes including passers, own pieces protecting king under attack, pawn
storm.
14) Fixes to singular extension code. Revert back to calling search recursively
to do singular search.
15) Bug fixes in material scoring:
a. Don't apply material score corrections for pawnless endgames twice (once
for each side).
b. Exclude special-case endgames with non-tunable params from tuning.
16) Score pawnless Q vs R + minor as draw.
17) Change piece values. Re-tune.
18) Update tools to be compatible with latest python-chess.
19) don't set improving = true if in check or if previous ply score not avaialble
20) Change history score calculation (similar to Laser). Modify history
pruning thresholds.
21) Add Cmake support (WIP).
Blitz test (5:0+3) of version 21.4 vs. a recent dev build shows +40 ELO:
Rank Name Elo + - games score oppo. draws
1 Arasan v21.4.0-72-g6b5ff45 2420 7 7 1600 57% 2380 61%
2 Arasan-Base 2380 7 7 1600 43% 2420 61%
Thanks Jon,
Small request, can you make an android version available on your website. It is the only version not listed.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
Thanks Jon for your long time efforts on this interesting engine. I was curious about one thing. If I feed a bunch of Tal games to the program for
generating the training file, will I make it to play more aggressively?
giovanni wrote: ↑Tue Dec 10, 2019 12:21 pm
Thanks Jon for your long time efforts on this interesting engine. I was curious about one thing. If I feed a bunch of Tal games to the program for
generating the training file, will I make it to play more aggressively?
I don't think that would be the best way to tune playing style. I use a very big position file for parameter tuning (almost 10 million positions). You can use a much smaller selected set, but you then may get more random results.
You can pretty easily ramp up the scores for king danger/king safety, for example by changing the KING_ATTACK_SCALE parameters in tune.cpp and making them non-tunable (last parameter zero). But if you do this you are actually hurting the ability of the program to predict game outcomes from scores, and you may find that it will make unsound sacs from time to time. That will make it more "Tal-like" in style but it is likely to lose games if the opponent is an engine of similar or stronger strength. Tal's opponents often "helped" by being confused in a chaotic position and making suboptimal moves.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.