Page 1 of 2

Release of Ethereal7.78

Posted: Sun Sep 04, 2016 7:36 pm
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.

Re: Release of Ethereal7.78

Posted: Sun Sep 04, 2016 8:31 pm
by Graham Banks
Nice progress. :)

Re: Release of Ethereal7.78

Posted: Wed Sep 07, 2016 12:12 am
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:

Re: Release of Ethereal7.78

Posted: Wed Sep 07, 2016 4:16 am
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

Re: Release of Ethereal7.78

Posted: Wed Sep 07, 2016 11:50 am
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.

Re: Release of Ethereal7.78

Posted: Wed Sep 07, 2016 4:54 pm
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

Re: Release of Ethereal7.78

Posted: Thu Sep 08, 2016 1:39 am
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.

Re: Release of Ethereal7.78

Posted: Thu Sep 08, 2016 5:08 pm
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.

Re: Release of Ethereal7.78

Posted: Thu Sep 08, 2016 5:44 pm
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".

Re: Release of Ethereal7.78

Posted: Fri Sep 09, 2016 4:06 am
by AndrewGrant
Yes I can. I have been meaning to start doing that.

Thanks for testing the android compiles for me.