Release of Ethereal7.78

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

Moderators: hgm, Rebel, chrisw

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

Release of Ethereal7.78

Post by AndrewGrant »

Hello all,

It's been a good while since I've made any substantial changes. Took some time off to develop a testing framework of my own creation, and also lost out on some free time now that I'm back in University.

Ethereal7.78 is about 60ELO stronger than Ethereal7.70
Ethereal7.78 is about 40ELO stronger than Ethereal7.76

This update is all about the evaluation function, something which has been a long running issue within Ethereal. Good search, bad evaluations, long games, all combine to cause bad results.

Official Release : https://github.com/AndyGrant/Ethereal/r ... /tag/V7.78

Ethereal7.78.zip includes Win32, Win64, and Android compiles (Android untested!), as well as the source of course.

Patch notes are as follows:

Code: Select all

Implemented a simple BitTable based popcount function
Removed Outpost tables; replaced with array for bishop/knight of [phase][defendedByPawn]. Added OutpostRanks mask for determining outpost squares.
Almost completely rewrote the evaluation function.
Added Mobility for Knights
Removed old arrays for Bishop/Rook mobility (that used to cause arrayOutOfBounds issues..) and replaced with tables for each piece. MobilityRook[phase][mobCount]...
Additionally, mobilityCount is obtained from the popcount of valid attacks, in a defined mobility area.
Mobility area is all squares but enemy pawn attacks, friendly blocked pawns, and friendly king location. (Taken from Stockfish)
Added a simple form of king safety, using a safetyTable lookup system, with weights for attacking pieces. (Table taken from Stockfish)
Added Benchmarks for 1s, 5s, and 10s to the Benchmark files

+22.2 ELO on 1s+.01s
+24.0 ELO on 5s+.05s
+42.5 ELO on 10s+.1s

Ethereal has historically played much worse on longer time controls, as a result of a strong search and weak evaluation. I expect Ethereal to play even stronger than +42.5 ELO when used on longer time controls, (CCRL 4/40, CCRL 40/40, and Graham's Tournaments)
A big thanks to anyone who follows the development of Ethereal. A year ago this project could beat me at best, now Ethereal competes with a large portion of the available chess engines.
#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: 41423
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Release of Ethereal7.78

Post by Graham Banks »

Nice progress. :)
gbanksnz at gmail.com
supersharp77
Posts: 1242
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

Re: Release of Ethereal7.78

Post by supersharp77 »

AndrewGrant wrote:Hello all,

It's been a good while since I've made any substantial changes. Took some time off to develop a testing framework of my own creation, and also lost out on some free time now that I'm back in University.

Ethereal7.78 is about 60ELO stronger than Ethereal7.70
Ethereal7.78 is about 40ELO stronger than Ethereal7.76

This update is all about the evaluation function, something which has been a long running issue within Ethereal. Good search, bad evaluations, long games, all combine to cause bad results.

Official Release : https://github.com/AndyGrant/Ethereal/r ... /tag/V7.78

Ethereal7.78.zip includes Win32, Win64, and Android compiles (Android untested!), as well as the source of course

A big thanks to anyone who follows the development of Ethereal. A year ago this project could beat me at best, now Ethereal competes with a large portion of the available chess engines.
Your engine makes steady progress...7.76 seems a bit stronger than the original bitboard release although the playing style is quite different..
Congrats on the new release...AR :) :wink:
AndrewGrant
Posts: 1753
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Release of Ethereal7.78

Post by AndrewGrant »

That happens when the evaluation is re-written, as well as the search :)

Things have changed a lot since 6.26, which I believe you made the initial post about!


Thanks for following development,
Andrew Grant
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
Gurcan Uckardes
Posts: 196
Joined: Wed Oct 29, 2014 12:42 am

Re: Release of Ethereal7.78

Post by Gurcan Uckardes »

Hello Andy,
Can you please check the compatibility of the Android build? It seems it's arm7 with 7.76 and 7.78 while 7.70 was arm5.
7.70 is running ok.
7.76 didn't work, all devices as far as i heard. Exits when imported to Chess for Android gui.
7.78 didn't work on Exynos 4412 quad, rockchip 3188 quad, both arm7 running with Android 4.1 to 4.4. Only one case reported to me as running fine.
My blog for Android users: http://chesstroid.blogspot.com
AndrewGrant
Posts: 1753
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Release of Ethereal7.78

Post by AndrewGrant »

Two things.
1) I accidentally dropped a -march=armv5 flag from the make file
2) I am using a different compiler, now compiling from win, not Linux.

I'm away from home at the moment, but when I get back I'll update the make file, and swap the Android executables in each of the zips found in /dist. I'll update this thread when I do that, and would appreciate it if you would test them out for me.

Thanks for spotting this,
Andrew Grant
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
AndrewGrant
Posts: 1753
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Release of Ethereal7.78

Post by AndrewGrant »

Can you give this executable a shot?

https://github.com/AndyGrant/Ethereal/b ... st-Android

If that works, then I'll go through and fix .75, .76.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
pkumar
Posts: 100
Joined: Tue Oct 15, 2013 5:45 pm

Re: Release of Ethereal7.78

Post by pkumar »

I downloaded the Win32 executable and tried. Seems good. Is it possible to give estimated nps in middle and end game with mention of the CPU type? Arena 3.0 does not show nps for this engine.
Gurcan Uckardes
Posts: 196
Joined: Wed Oct 29, 2014 12:42 am

Re: Release of Ethereal7.78

Post by Gurcan Uckardes »

AndrewGrant wrote:Can you give this executable a shot?

https://github.com/AndyGrant/Ethereal/b ... st-Android

If that works, then I'll go through and fix .75, .76.
Thanks. Fine this time. Compared to 7.70 it reaches less knps but plays stronger. A very stc match at -400kn per move gives: 7.78 13.5 vs 7.70 6.5.

Btw, can you add the version number to the id? It always records "Ethereal".
My blog for Android users: http://chesstroid.blogspot.com
AndrewGrant
Posts: 1753
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Release of Ethereal7.78

Post by AndrewGrant »

Yes I can. I have been meaning to start doing that.

Thanks for testing the android compiles for me.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )