Release of Ethereal7.78

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
AndrewGrant
Posts: 297
Joined: Tue Apr 19, 2016 4:08 am
Contact:

Release of Ethereal7.78

Post by AndrewGrant » Sun Sep 04, 2016 5:36 pm

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.

User avatar
Graham Banks
Posts: 30733
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: Release of Ethereal7.78

Post by Graham Banks » Sun Sep 04, 2016 6:31 pm

Nice progress. :)
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

supersharp77
Posts: 475
Joined: Sat Jul 05, 2014 5:54 am
Location: Southwest USA

Re: Release of Ethereal7.78

Post by supersharp77 » Tue Sep 06, 2016 10:12 pm

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: 297
Joined: Tue Apr 19, 2016 4:08 am
Contact:

Re: Release of Ethereal7.78

Post by AndrewGrant » Wed Sep 07, 2016 2:16 am

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

Gurcan Uckardes
Posts: 196
Joined: Tue Oct 28, 2014 11:42 pm
Contact:

Re: Release of Ethereal7.78

Post by Gurcan Uckardes » Wed Sep 07, 2016 9:50 am

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: 297
Joined: Tue Apr 19, 2016 4:08 am
Contact:

Re: Release of Ethereal7.78

Post by AndrewGrant » Wed Sep 07, 2016 2:54 pm

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

AndrewGrant
Posts: 297
Joined: Tue Apr 19, 2016 4:08 am
Contact:

Re: Release of Ethereal7.78

Post by AndrewGrant » Wed Sep 07, 2016 11:39 pm

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.

pkumar
Posts: 91
Joined: Tue Oct 15, 2013 3:45 pm

Re: Release of Ethereal7.78

Post by pkumar » Thu Sep 08, 2016 3:08 pm

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: Tue Oct 28, 2014 11:42 pm
Contact:

Re: Release of Ethereal7.78

Post by Gurcan Uckardes » Thu Sep 08, 2016 3:44 pm

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: 297
Joined: Tue Apr 19, 2016 4:08 am
Contact:

Re: Release of Ethereal7.78

Post by AndrewGrant » Fri Sep 09, 2016 2:06 am

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

Thanks for testing the android compiles for me.

Post Reply