YBW engines past and present?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: YBW engines past and present?

Post by Dann Corbit »

Sesse wrote: Sat Jan 02, 2021 1:20 am
Dann Corbit wrote: Thu Dec 31, 2020 3: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: 5566
Joined: Tue Feb 28, 2012 11:56 pm

Re: YBW engines past and present?

Post by syzygy »

Sesse wrote: Sat Jan 02, 2021 1:20 am
Dann Corbit wrote: Thu Dec 31, 2020 3: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: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: YBW engines past and present?

Post by Daniel Shawul »

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: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: YBW engines past and present?

Post by Michel »

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: 193
Joined: Sat May 25, 2013 11:17 am
Location: France
Full name: Patrice Duhamel

Re: YBW engines past and present?

Post by Patrice Duhamel »

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: 180
Joined: Mon Sep 03, 2007 9:15 am

Re: YBW engines past and present?

Post by Volker Annuss »

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.