Arasan 22.0

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Arasan 22.0

Post by jdart »

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.

Changes in Arasan 22.0:

Code: Select all

 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:

Code: Select all

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%
User avatar
Werner
Posts: 2871
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Arasan 22.0

Post by Werner »

Thanks Jon,
good results in the last tournaments!

Werner
Werner
User avatar
AdminX
Posts: 6340
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Arasan 22.0

Post by AdminX »

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.

Changes in Arasan 22.0:

Code: Select all

 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:

Code: Select all

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
Damir
Posts: 2801
Joined: Mon Feb 11, 2008 3:53 pm
Location: Denmark
Full name: Damir Desevac

Re: Arasan 22.0

Post by Damir »

Thanks Jon. You are making amazing progress with your engine. :) :)
giovanni
Posts: 142
Joined: Wed Jul 08, 2015 12:30 pm

Re: Arasan 22.0

Post by giovanni »

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?
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Arasan 22.0

Post by jdart »

AdminX wrote: Tue Dec 10, 2019 11:06 am Small request, can you make an android version available on your website. It is the only version not listed. :(
There are a lot of Android variants (different ABIs). So one issue is that I am not sure which one(s) to target.

--Jon
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Arasan 22.0

Post by jdart »

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.

--Jon
MOBMAT
Posts: 385
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

Re: Arasan 22.0

Post by MOBMAT »

I attempted to download the engine and book zip file from here:

http://www.arasanchess.org/arasan22.0.zip

and W10 security flagged it as having the "Trojan:Win32/Wacatac.B!ml" treat in the arasanx-32.exe file.

has anyone else had the same problem?
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
User avatar
Werner
Posts: 2871
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Arasan 22.0

Post by Werner »

No problems using Kaspersky here.
Werner
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Arasan 22.0

Post by Dann Corbit »

I had no issues using Macafee
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.