Arasan 22.0

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
jdart
Posts: 3895
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Arasan 22.0

Post by jdart » Tue Dec 10, 2019 2: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%

User avatar
Werner
Posts: 2458
Joined: Wed Mar 08, 2006 9:09 pm

Re: Arasan 22.0

Post by Werner » Tue Dec 10, 2019 7:47 am

Thanks Jon,
good results in the last tournaments!

Werner
Werner

User avatar
AdminX
Posts: 5327
Joined: Mon Mar 13, 2006 1:34 pm
Location: Acworth, GA
Contact:

Re: Arasan 22.0

Post by AdminX » Tue Dec 10, 2019 10:06 am

jdart wrote:
Tue Dec 10, 2019 2: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: 2286
Joined: Mon Feb 11, 2008 2:53 pm
Location: Denmark
Full name: Damir Desevac

Re: Arasan 22.0

Post by Damir » Tue Dec 10, 2019 10:30 am

Thanks Jon. You are making amazing progress with your engine. :) :)

giovanni
Posts: 139
Joined: Wed Jul 08, 2015 10:30 am

Re: Arasan 22.0

Post by giovanni » Tue Dec 10, 2019 11:21 am

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: 3895
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: Arasan 22.0

Post by jdart » Tue Dec 10, 2019 12:12 pm

AdminX wrote:
Tue Dec 10, 2019 10: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: 3895
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: Arasan 22.0

Post by jdart » Tue Dec 10, 2019 12:20 pm

giovanni wrote:
Tue Dec 10, 2019 11:21 am
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: 121
Joined: Sat Feb 04, 2017 10:57 pm
Location: USA

Re: Arasan 22.0

Post by MOBMAT » Tue Dec 10, 2019 3:00 pm

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?
Vince S
Author of MOBMAT

"Reductions, extensions, and pruning, oh my!"

User avatar
Werner
Posts: 2458
Joined: Wed Mar 08, 2006 9:09 pm

Re: Arasan 22.0

Post by Werner » Tue Dec 10, 2019 5:07 pm

No problems using Kaspersky here.
Werner

Dann Corbit
Posts: 10416
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: Arasan 22.0

Post by Dann Corbit » Tue Dec 10, 2019 5:23 pm

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.

Post Reply