Official Release of Ethereal9.30

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

Moderators: hgm, Rebel, chrisw

AndrewGrant
Posts: 1754
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Official Release of Ethereal9.30

Post by AndrewGrant »

Hello once again. It's only been about a month since I posted the
release of Ethereal9.00, but I think I have made enough gains since
to warrant a new release. I've made a fair number of improvements with
the evaluation, as well as the tuning process behind it. Some search
changes have been made, but mostly speedups and a few parameter tweaks.
As for SMP, nothing has been changed, although not for a lack of trying.
Time management has been as issue as well, or so was reported to me when
watching some of Graham's tournament games. I have made one fix which
should help that issue out, but nothing too ground breaking.

The release on Github can be found here, and has a Win64 and android binary.
Win64 binary is non-popcount and non-bmi2, so I expect it to work for everyone.
https://github.com/AndyGrant/Ethereal/r ... /tag/V9.30

Since Ethereal9.00 I've had some help from someone named Laldon, a
follower of TCEC. He provided a great deal of CPU power for some of
these tuning sessions, and identified a very large bug in the Tuner.
He has given me a handful of other patches to try, mostly dealing with
imbalances. We've not gotten them to work yet, but his input and his ideas
are very valuable. Patches that he submitted, or that he suggested /
played a role in are marked in the change log with a *

Some results to give an idea of how much stronger Ethereal is now.
I expect many of the lowest time control scores to be inflated. I
made many changes which provide reasonable speedups, which of course
scale away as the time control increases.

Code: Select all

Ethereal 9.30 vs Ethereal 9.00: 450 - 182 - 368  [0.634] 1000 +95 @5s.05s 1-CPU 2MB-HASH
Ethereal 9.30 vs Ethereal 9.00: 375 - 153 - 472  [0.611] 1000 +78 @20+.2s 1-CPU 8MB-HASH

Ethereal 9.30 vs Laser1.5: 384 - 308 - 308  [0.538] 1000 +26 @5s.05s 1-CPU 2MB-HASH
Ethereal 9.30 vs Laser1.5: 408 - 400 - 442  [0.503] 1250 + 2 @20+.2s 1-CPU 8MB-HASH
Change log for those interested:

Code: Select all

    9.01: * Tuning patch for all non King Safety evaluation parameters
    9.02:   Use a smarter form of pseudo legal move generation
    9.03: * Another Tuning patch for all non King Safety parameters
    9.04:   Cleanup the tuner to allow it to be used more easily (non functional)
    9.05:   Fix a bug caused by 9.04 (Lied about it being non functional)
    9.06: * Tuning using a massive depth 9 search for all non King Safety
    9.07:   Include the King in the Pawn hash (now PawnKing hash), speedup
    9.08:   Only update one bound on a fail high or fail low at root
    9.09:   Only apply RookOnSeventh when the enemy king is on the back 2 ranks
    9.10: * Fix a problem where the tuner could miss-label positions as drawn
    9.11:   Reduce ProbCut margin from 200 cp to 140cp
    9.12: * Another tuning patch using depth 10 (Due to 9.10 bug fix)
    9.13:   Reduce tempo from {20,10} -> {16, 8}
    9.14:   Before it took two attacking pieces to trigger the King safety
            evaluation. Now it only takes 1, if the attacking piece is a Queen.
            Also, reduce the threat by pawns in the king safety calculation
    9.15:   Scale up all internal values so that the pawn value is 100. Before
            the pawn value was around 60, which was annoying since we all deal
            in centipawns. Also, make the average of each PSQT zero.
    9.16:   Tune back some of the pruning values after 9.15
    9.17:   Fixed a slight move gen bug which caused slowdowns, not illegal moves
    9.18: * Remove evaluation of BishopWings (Bishop with pawns on King and Queen side)
    9.19:   Cleanup my simple SEE version called WeakCapturePruning
    9.20:   Fix typo in reporting promotion moves caused by 9.19
    9.21:   Speedup by skipping all quiet moves once we identify that we will skip all
    9.22:   Probe the Trans Table before going into qsearch. I do not probe the 
            table while in qsearch.
    9.23:   Ethereal will not take Trans Table exits in PvNodes. However, since Ethereal
            does not treat PvNodes differently in qsearch, we WILL take Trans Table exits
            if we would otherwise descend into qsearch.
    9.24:   Allow Ethereal to respect the 'stop' and 'quit' command while searching. I 
            never did this before since no one uses Ethereal for analysis, but since I
            have started doing that while following TCEC, perhaps others might as well
    9.25:   The tuner will take a position, generate an eval based on a depth N search,
            and then use the evaluation weights from the end of the PV generated by the
            depth N search. This causes problems since Evaluation is about the potential
            in a position, not the outcome. So now we get the weights from a qsearch instead
    9.26:   Penalty for missing pawns in the King Area when doing the King Safety evaluation,
            which is separate from the King Shelter evaluation.
    9.27:   Define the King Safety by a polynomial instead of an array. This passed as
            a non-regression. I hope to change the grain of the king safety, and a poly allows that
    9.28:   Remove something I coined scoreStability from the time management system. Similar
            to how SF defines PV stability, scoreStability reacts to changes in the score,
            which then define time allocations and deallocations
    9.29:   Before we would penalize a queen for being attacked by a King. That clearly has
            some issues with it, so it has been removed. Also, fixed a bug where we would
            only evaluation a queen as being attacked by a pawn if the queen was in the
            king area of the opposing side of the queen
    9.30:   Fixed an issue where if the first move tried resulted in being check mated,
            we might prune all other moves, and return a false MATED score. I noticed
            a somewhat similar issue in Laser, but overlooked my own issue. Jeffrey was
            able to pass a test for Laser with the fix, which convinced me to look deeper.

As always, a big thank you to the testers.
As well as those who have provided feedback on Ethereal's playing style.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
User avatar
Graham Banks
Posts: 41432
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Official Release of Ethereal9.30

Post by Graham Banks »

Thanks Andrew. On the up and up! :)
gbanksnz at gmail.com
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: Official Release of Ethereal9.30

Post by CMCanavessi »

Wow, this is cool!! Super league, here comes Ethereal! :D
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
AndrewGrant
Posts: 1754
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Official Release of Ethereal9.30

Post by AndrewGrant »

How long do I have to implement pondering?
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
Dokterchen
Posts: 133
Joined: Wed Aug 15, 2007 12:18 pm
Location: Munich

Re: Official Release of Ethereal9.30

Post by Dokterchen »

A really nice improvement! Thanks Andrew
MikeGL
Posts: 1010
Joined: Thu Sep 01, 2011 2:49 pm

Re: Official Release of Ethereal9.30

Post by MikeGL »

Thanks for this update!
I told my wife that a husband is like a fine wine; he gets better with age. The next day, she locked me in the cellar.
Norbert Raimund Leisner
Posts: 1643
Joined: Tue May 20, 2008 4:57 pm
Location: Augsburg - Germany

Re: Official Release of Ethereal9.30

Post by Norbert Raimund Leisner »

Ethereal 9.41 released.

Norbert
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: Official Release of Ethereal9.30

Post by CMCanavessi »

Norbert Raimund Leisner wrote:Ethereal 9.41 released.

Norbert
That's a dev version (which Andrew always publishes), but not an "official release".
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
AndrewGrant
Posts: 1754
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Official Release of Ethereal9.30

Post by AndrewGrant »

Carlos is correct.

With every patch I compile a few binaries that sit in the main directory of the repo.

If you want the latest and greatest Ethereal, by all means use what is there. As for testers, I only make an official release (which is simply me asking for the current version to be tested) once I feel I've made a sizeable elo gain, enough which can be clearly seen with limited testing.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )