YBW engines past and present?

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Dann Corbit
Posts: 12034
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: YBW engines past and present?

Post by Dann Corbit » Sat Jan 02, 2021 12:29 am

Sesse wrote:
Sat Jan 02, 2021 12:20 am
Dann Corbit wrote:
Thu Dec 31, 2020 2:55 pm
Did you try LazySMP?
Easy as falling off of a log and seems to work really well.
It's insane that seemingly small tweaks to what was considered the worst-scaling algorithm (shared hash table) somehow produces the best one.
I agree. In fact, it is kind of disturbing.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.

syzygy
Posts: 4995
Joined: Tue Feb 28, 2012 10:56 pm

Re: YBW engines past and present?

Post by syzygy » Sun Jan 03, 2021 2:23 pm

Sesse wrote:
Sat Jan 02, 2021 12:20 am
Dann Corbit wrote:
Thu Dec 31, 2020 2:55 pm
Did you try LazySMP?
Easy as falling off of a log and seems to work really well.
It's insane that seemingly small tweaks to what was considered the worst-scaling algorithm (shared hash table) somehow produces the best one.
I don't think the small tweaks made the difference. In the old days testing an SMP implementation meant searching about 24 positions to a depth of about 8 and comparing total nodes, so I'm not sure there was any serious data to begin with. What may also have helped the shared hash table approach is the very low branching factor of modern engines.

Daniel Shawul
Posts: 4101
Joined: Tue Mar 14, 2006 10:34 am
Location: Ethiopia
Contact:

Re: YBW engines past and present?

Post by Daniel Shawul » Sun Jan 03, 2021 2:48 pm

ABDADA was comparable to YBW even in the old days too, just wasn't given as much attention.
From what I recall, the author was bad-mouthed when the paper came out claiming a YBW algorithm
done all through the hashtable. Lazy SMP is certainly lazier but it is not better than ABDADA which is
still the best algorithm for Scorpio.

Michel
Posts: 2209
Joined: Sun Sep 28, 2008 11:50 pm

Re: YBW engines past and present?

Post by Michel » Sun Jan 03, 2021 3:37 pm

It's insane that seemingly small tweaks to what was considered the worst-scaling algorithm (shared hash table) somehow produces the best one.
It was never "worst scaling". In fact the old Toga used an extremely simple implementation of shared hash and its scaling was comparable to YBW engines. One can check this at CCRL. I pointed this out a few times but it was ignored.

The "tweaks" make little difference. In fact I think Stockfish has dropped all of them by now.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.

Patrice Duhamel
Posts: 157
Joined: Sat May 25, 2013 9:17 am
Location: France
Full name: Patrice Duhamel
Contact:

Re: YBW engines past and present?

Post by Patrice Duhamel » Mon Jan 04, 2021 7:42 am

Cheese still use YBW, based on Stockfish implementation, but I will look at Lazy SMP and maybe ABDADA.
Anything that can go wrong will go wrong.

Volker Annuss
Posts: 174
Joined: Mon Sep 03, 2007 7:15 am

Re: YBW engines past and present?

Post by Volker Annuss » Sat Jan 09, 2021 12:38 pm

My engine Hermann was LazySMP. Although rating lists indicated, that Hermann with 4 cores was much stronger than with a single core, I was not satisfied with the speedup in time to depth with 4 ore more cores. So I started Arminius with a simple search and eval to have something clean to implement YBWC. Arminius has improved since then and is no longer that simple.

The latest public version of Arminius is a little more than 2 years old. It still uses YBWC. You can find it here:
http://www.nnuss.de/Hermann/Arminius2018-12-23.zip
http://www.nnuss.de/Hermann/Arminius201 ... nux.tar.gz
http://www.nnuss.de/Hermann/Arminius201 ... spi.tar,gz

Now I am on the way back to LazySMP. My latest development version has a UCI option to switch between LazySMP and YBWC, but it is not yet ready for release.

Post Reply