ELO value of TTSE?

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.
Post Reply
User avatar
Posts: 311
Joined: Sat Mar 27, 2010 6:15 pm

ELO value of TTSE?

Post by silentshark » Sun Dec 29, 2019 9:09 am

Hello all,

Many strong engines seem to use the restricted version of singular extensions, just extending the move from the hash table in certain circumstances.

To engine authors - what ELO increase do you see when using this?

(Context - I'm going to look again, but experiments a few weeks ago showed that my engine gets nothing at all from these kinds of extensions. It might be sub-optimal coding, so I will revisit. Just wondering what a really good TTSe implementation gives. 20 ELO? 50 ELO?).

All the best,

Posts: 855
Joined: Sun May 23, 2010 11:32 am

Re: ELO value of TTSE?

Post by elcabesa » Sun Dec 29, 2019 1:46 pm

stockfish authors report directly in their code an elo gain of ~60 Elo

Posts: 94
Joined: Fri Jun 17, 2016 2:14 pm
Location: Colorado, USA
Full name: John Stanback

Re: ELO value of TTSE?

Post by jstanback » Sun Dec 29, 2019 4:07 pm

I've never been able to get any gain from singular extension so I don't use it in Wasp. I must not be implementing it correctly or it doesn't play nicely with my extensions and reductions.


Fabio Gobbato
Posts: 172
Joined: Fri Apr 11, 2014 8:45 am
Full name: Fabio Gobbato

Re: ELO value of TTSE?

Post by Fabio Gobbato » Sun Dec 29, 2019 4:16 pm

The elo increase given by singular extension is different from engine to engine. In my engine it gives about 10-20 elo after a lot of tries to find the best formula for the depth of the search to find if the move is singular. Stockfish uses depth/2 but in my engine was not optimal.

Posts: 114
Joined: Wed Nov 13, 2019 12:36 am
Full name: Jonathan Kreuzer

Re: ELO value of TTSE?

Post by jonkr » Tue Dec 31, 2019 10:17 pm

I ran a quick test (500 games at 2min + 1sec) and got +36 elo for singular extensions.

SlowChessBlitzClassic1.8 vs SlowChessBlitzClassic1.8 (no Singular Extensions)
111w - 59l - 330d (+36 Elo)

Not enough games to be that accurate, but I didn't want to use super quick time control since there is a min depth before using tt singular extensions (and my search depths are low compared to other modern engines.)

Also the way my extensions work is at >= kSingularDepth the search extends by 1 for singular extension, and < kSingularDepth it extends by 1 for the check extension, so for this test I fully enabled check extensions for the no singular Ext version. (Everything else like mate threats, or various hard-coded tactical moves, is no lmr or reduced lmr instead of extension.)

Posts: 20923
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: ELO value of TTSE?

Post by bob » Tue Dec 31, 2019 11:49 pm

A couple of thoughts.

(1) I tried 'em. I did the full-blown HSU SE approach. I found no Elo gain, although I must admit that the tests were in fairly fast games. But for me, nothing. When talking with Hsu and Murray Campbell, they both said that their original estimate of Elo gain was significantly off, and that it was much more modest than originally thought.

(2) There are two ways to "extend" moves. You can either (a) extend just that move or (b) reduce the depth of all the other moves. Both produce the same result once you think about. I'm convinced we have pushed so hard on all the pruning stuff from LMR to LMP to null move to whatever, that the gain from SE might not be what one would expect when applying it to a traditional basic alpha/beta searcher. Remember, Deep Thought / Deep Blue were pretty rudimentary even by the standards of chess programs when they were active. They were just VERY fast. And speed is always a good replacement for cleverness. Had they used null move, who knows how their SE would have faired. Had they used other things like LMR and such, again, how would that have changed their SE results? In reality we know little about what to expect. I saved my SE code to play with again, but it was so complicated I could not rationally leave it in the search for no significant gain and the potential for bugs as the code gets modified over the years...

YMMV of course. I never liked the idea of TTSE. Just seemed wrong to extend based on hash information that might disappear on a re-search or on the next iteration...

Post Reply