Official Release of Ethereal 11.50, supporting Fischer Random Chess

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

Moderators: hgm, Rebel, chrisw

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

Re: Official Release of Ethereal 11.50, supporting Fischer Random Chess

Post by AndrewGrant »

AndrewGrant wrote: Sun Jun 30, 2019 4:05 pm New binaries shortly.
New binaries for version Ethereal 11.53

Again, feel free to update if you would like. There should be a slight elo gain, and additional UCI reporting.

There is no reason for testers to change from V11.50.

I think that will be the end of this thread :)
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
User avatar
Thomas Lagershausen
Posts: 328
Joined: Mon Jun 11, 2007 6:59 pm

Re: Official Release of Ethereal 11.50, supporting Fischer Random Chess

Post by Thomas Lagershausen »

Big thx.

But what do you mean with end of the thread?

Only a good day for people in the windowsworld.

What about the unlucky people in the androidworld?

No "current move" in the modern world of devices?

This can´t be your last word.
TL
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Official Release of Ethereal 11.50, supporting Fischer Random Chess

Post by MikeB »

AndrewGrant wrote: Fri Jun 28, 2019 11:07 pm Hello all,

After five months since the last release, I'm happy to say I have something new to share with you all in an official capacity. I have taken some time away from Ethereal's development, but for now I seem to be back with a vengeance.

In addition to general improvements and gains in elo, this version of Ethereal will be the first to officially support Fischer Random Chess / Chess 960. Around one hundred thousand games have been played and shown no crashes, illegal moves, or other errors. I'm sure there are still bugs lurking, but they do not appear to be the type that would be visible in a game played by Ethereal. If anything catches your eye about FRC, please let me know, either through this forum, the github page, or using my email, andrew@grantnet.us

Additionally, I have gone through and rewritten or cleaned every single source file in the project. Occasionally I hear from other authors that they have learned from Ethereal, and taken things to improve their own engines. I love hearing this, so I'm making sure I do my best to provide a clean Ethereal for those to learn from.

Binaries for Windows {PEXT / POPCNT / NOPOPCNT} and Android {ARMV8 / ARMV7} can be found here.

Elo estimates are pending. I will post them as soon as they are complete.
I will be launching those tests on OpenBench, for anyone who cares for immediate results

A quick summary of changes, one patch at a time ...

Code: Select all

11.26 : Tune the evaluation using an updated sigmoid. The mistake in my
        calculation was pointed out by Tamas Kuzmics (Tomitank)
11.27 : Remove QS Futility Pruning, and merge it into SEE move picking
11.28 : Reset the Killer Moves for the children of a node, at each node
11.29 : Rewrite the internal way of saving History Scores (+Speedup)
11.30 : Move the selection of Killer and Counter moves to history.x
11.31 : Simplify Probcut Pruning by replacing the Verification with SEE
11.32 : Tweak the Razor, Futility, and SEE Pruning Margins
11.33 : Treat Root nodes like all others in regards to early pruning
11.34 : Cleanup and simplify Ethereal's search extensions
11.35 : Tweak the Late Move Pruning move counts
11.36 : Move the contents of castle.x into move.x (Preperation for FRC)
11.37 : Forgot to update the version number from V11.35 -> V11.36
11.38 : Limit the number of quiet moves tried when looking to disprove
        a singularity. Thanks to Raoni Campos (Pirarucu) for the idea :)
11.39 : Small code cleanup for search.c (+Speedup)
11.40 : Increase Late Move Reductions when evading check with our King
11.41 : Fix an oversight from V11.39 causing Illegal PVs to be reported
11.42 : Cleanup of attacks.x & bitboards.x
11.43 : Cleanup of move.x & movegen.x
11.44 : Cleanup of masks.x & movepicker.x & zobrist.x
11.45 : Cleanup of history.x & syzygy.x & thread.x & time.x
11.46 : Add support for FRC / Chess960
11.47 : Redefine PassedSafePromotionPath to require an empty pathway
11.48 : Cleanup of psqt.x & texel.x & types.x & uci.x & windows.x
11.49 : Following a NULL move, skip evaluateBoard() (+Speedup)
11.50 : Cleanup of board.x evaluate.x search.x transposition.x
A special thanks to Bojun Guo (noobpwnftw), for providing his machines to OpenBench, which is my Fishtest-like testing platform. His compute gives me the freedom to try ideas and concepts which would otherwise be untestable, or too time consuming to justify.

A special thanks to Lucas Braesch (lucasart), for writing the base line code for FRC just over a year ago. I used his efforts as a very powerful starting point.

A special thanks to Raoni Campos and Tamas Kuzmics for their ideas that made it into Ethereal.

And, as always, thanks to all of you great folks here who play with Ethereal :)

Cheers from the Ethereal team,
Andrew Grant & Laldon
+1 Nice work Andrew & Laldon!
Image