Final Release of Ethereal, V12.75

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

Moderators: hgm, Rebel, chrisw

User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Final Release of Ethereal, V12.75

Post by mvanthoor »

Tony P. wrote: Fri Oct 09, 2020 8:09 pm
Hrvoje Horvatic wrote: Fri Oct 09, 2020 11:16 am Ethereal has one of the most readable, cleanest codebases out there... I enjoyed reading it... :) plenty of comments in code, too...

it is not only one of the strongest engines, it's code is just beautiful... If I were to recommend to someone to clone/steal an engine codebase, it would be Ethereal... :P
Andrew's clarity ethic is rubbing off on the open source community :) Terje's and Fabi's cleanup of the FabChess code is a WIP, and so is its wiki.

Also, Arasan has traditionally been generously commented and has a detailed programmer guide. Jon Dart is the sensei of computer chess.
Do you mean Terje has cleaned up Weiss, and Fabian cleaned up FabChess, or is Terje now also working on FabChess?

I've been seeing lots of mentions of Ethereal's beautiful and well-commented code. I'll have to take a look at it sometime. I think I am able to write quite clean and well-commented code myself, but maybe I can still learn a thing or two :)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
Tony P.
Posts: 216
Joined: Sun Jan 22, 2017 8:30 pm
Location: Russia

Re: Final Release of Ethereal, V12.75

Post by Tony P. »

mvanthoor wrote: Sat Oct 10, 2020 1:35 am Do you mean Terje has cleaned up Weiss, and Fabian cleaned up FabChess, or is Terje now also working on FabChess?
The commit history of FabChess shows a few cleanups by Terje. However, when I asked him in the Twitch chat, he said he'd go back to working on Weiss after the finish of the FabChess cleanup.

Actually, the Weiss Github is showing that he's already back.
DrCliche
Posts: 65
Joined: Sun Aug 19, 2018 10:57 pm
Full name: Nickolas Reynolds

Re: Final Release of Ethereal, V12.75

Post by DrCliche »

There's still lots of interesting research to be done in chess engine programming, and there will be for years and years. But as a result of LC0 and NNUE it's now a step or two more removed from our human concept of "Chess", and more to do with just dreaming up interesting variations to network architectures and training procedures, identifying novel training signals, etc., and then testing them.

There would also no doubt be significant career benefits to becoming expert in these technologies, though if you really hate the thought that much, pursuing something you're actually passionate about will likely lead to more happiness and fulfillment in the long run.
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Final Release of Ethereal, V12.75

Post by mvanthoor »

Tony P. wrote: Sat Oct 10, 2020 1:49 am
mvanthoor wrote: Sat Oct 10, 2020 1:35 am Do you mean Terje has cleaned up Weiss, and Fabian cleaned up FabChess, or is Terje now also working on FabChess?
The commit history of FabChess shows a few cleanups by Terje. However, when I asked him in the Twitch chat, he said he'd go back to working on Weiss after the finish of the FabChess cleanup.

Actually, the Weiss Github is showing that he's already back.
Understandable; VICE (where Weiss is derived from) is a legendary tutorial engine, but it's code is not clean. I've scrolled through/glanced at Weiss' code at some point, and it's MUCH cleaner than VICE, so Terje has a lot of experience in cleaning up code :)

edit @Terje: I'm seeing a few refactors here and there that suspiciously seem to match the coding style I use in Rustic :shock: But it could just be that we have very similar coding styles :lol:

If you look through my commit history, probably 50% or thereabouts says either "cleanup", "refactor", or "consistency change." That's why the development of my engine is so slow :oops: , but I shall have clean code, or no code :| I've encountered too much software with "will clean this up later and add some comments", but it almost never happens, at at some point, even the author forgets how it works.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Final Release of Ethereal, V12.75

Post by syzygy »

Dann Corbit wrote: Fri Oct 09, 2020 10:13 am
xr_a_y wrote: Fri Oct 09, 2020 10:09 am "Congrats to Stockfish for the incredible achievement. My middle finger to everyone else using it."

I think I tried hard to explain in many places why NNUE is not Minic official evaluation, how it is a copy/paste of code and technology, and how it is just an experiment for me do dig into the NN world. Maybe the good thing to do was to not try it at all. I feel very sorry for the trouble. "alea jacta est".
Stockfish has nothing to do with the achievement.
Nothing whatsoever.
Not only did they not invent it, they blindly attached the code,
Depends how you define "they". I would say the persons developing the NNUE code and porting it to SF are contributors to SF and thus part of "they". (And as far as I understand the original code was created for a Shogi engine based on SF's search.)
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Final Release of Ethereal, V12.75

Post by syzygy »

Hrvoje Horvatic wrote: Fri Oct 09, 2020 11:16 am first we lost Gull and Fizbo... after that, Andscacs... it seems Xiphos is not coming back either... and now Ethereal...

people get scared too easily from this neural monsters like leela and SF NNUE... This shows that more effort needs to be put in eval functions, and not only in perfecting search...
Don't you think it was SF rather than SF+NNUE that most got scared off? How can anyone compete with the whole SF team plus fishtest and its huge computational resources?
BrendanJNorman
Posts: 2526
Joined: Mon Feb 08, 2016 12:43 am
Full name: Brendan J Norman

Re: Final Release of Ethereal, V12.75

Post by BrendanJNorman »

syzygy wrote: Sat Oct 10, 2020 3:10 am
Hrvoje Horvatic wrote: Fri Oct 09, 2020 11:16 am first we lost Gull and Fizbo... after that, Andscacs... it seems Xiphos is not coming back either... and now Ethereal...

people get scared too easily from this neural monsters like leela and SF NNUE... This shows that more effort needs to be put in eval functions, and not only in perfecting search...
Don't you think it was SF rather than SF+NNUE that most got scared off? How can anyone compete with the whole SF team plus fishtest and its huge computational resources?
By changing their paradigm. Program for playability/style, not strength.

Have a competition based on who can "fool" a human playing in a blind test as follows:

Strongish (even my "low" 2200ish strength) player plays 3 blitz or rapid games, barely wins all 3 (maybe even loses one), and doesn't know which ONE game was against the engine.

I think this would be a worthwhile goal. And with strength ranges going from 2200 all the way up to GM, all passing this "Turing Test" of sorts.

I play against engines a lot, and I can say that no engine has managed this yet, although some are close.

I believe this is the type of thing Thorsten always laments about.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Final Release of Ethereal, V12.75

Post by syzygy »

Alayan wrote: Fri Oct 09, 2020 11:47 am
Gabor Szots wrote: Fri Oct 09, 2020 11:35 am I don't understand this gloom about NNUE. It's just a new evaluation term. Search is still there. Even if all engines implement SF NNUE's the rankings will remain, you only have to add 300 to the current one.
It's not "a new evaluation term". A new evalution term doesn't discard the rest of the eval, it doesn't kill eval originality. It's a drop-in eval replacement.
The same as what NNUE is causing now has happened many times before. At some point it took great skill to create a multithreaded search. Now everybody does the "lazy" thing, as it turned that the most braindead way of doing SMP simply works best (for modern low-branching-factor engines and on current PC architectures, ignoring GPUs). The lazy SMP development really did take all the skill out of creating a multithreaded engine. One can be disappointed about that, but one could also just face reality and accept that what works best, works best.

Same happened with tuning by running thousands of games. Took all the skill out of picking values based on experience and intution.

Same happened with search extensions/reductions after Rybka got reverse engineered and of course now with Stockfish showing how it is should be done. Nobody is inventing the search themselves anymore.

(OK, Lc0 is an exception to all of this. And the NN idea has only just been introduced to computer chess, I"m sure there are discoveries waiting to be made and new unique engines to be created, even if only as a fork of SF.)
Albert Silver
Posts: 3019
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: Final Release of Ethereal, V12.75

Post by Albert Silver »

Dann Corbit wrote: Fri Oct 09, 2020 10:13 am
xr_a_y wrote: Fri Oct 09, 2020 10:09 am "Congrats to Stockfish for the incredible achievement. My middle finger to everyone else using it."

I think I tried hard to explain in many places why NNUE is not Minic official evaluation, how it is a copy/paste of code and technology, and how it is just an experiment for me do dig into the NN world. Maybe the good thing to do was to not try it at all. I feel very sorry for the trouble. "alea jacta est".
Stockfish has nothing to do with the achievement.
Nothing whatsoever.
Not only did they not invent it, they blindly attached the code, not even understanding that they were also pasting in a term for evaluation of drops from Shogi pieces in hand which has no place in standard chess.
Not.
Even.
That.

The shogi programmers are the ones who invented it and attached the code in a branch to the Stockfish Github they made and gifted to the computer chess community.
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Final Release of Ethereal, V12.75

Post by syzygy »

Dann Corbit wrote: Fri Oct 09, 2020 10:00 pm I think Robert Hyatt deserves mention for Crafty. For some time, it was the strongest open source program.
I remember well the excitment of the Jakarta WCCC event.
I think a lot of programs gained valuable insights from Crafty as well.
He certainly does deserve a mention. I very much enjoyed reading (over and over) the comments on what was changed or added from version to version.