For or against the transposition table probe in quiet search?

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.
AndrewGrant
Posts: 1391
Joined: Tue Apr 19, 2016 4:08 am
Location: U.S.A
Full name: Andrew Grant
Contact:

Re: For or against the transposition table probe in quiet search?

Post by AndrewGrant » Tue May 11, 2021 1:22 pm

I am for probing, not storing, but only after extensive testing at various time controls and degrees of hash pressure.

RubiChess
Posts: 349
Joined: Fri Mar 30, 2018 5:20 am
Full name: Andreas Matthies

Re: For or against the transposition table probe in quiet search?

Post by RubiChess » Tue May 11, 2021 1:52 pm

I'm doing both probing and storing. Probably not tested as much as you did.

Joost Buijs
Posts: 1357
Joined: Thu Jul 16, 2009 8:47 am
Location: Almere, The Netherlands

Re: For or against the transposition table probe in quiet search?

Post by Joost Buijs » Tue May 11, 2021 2:02 pm

It depends upon how fast your evaluation function is. If it's very fast and simple probing in quiescence is counter productive, with a slow evaluation function like NNUE it certainly helps. I always found probing (and storing) in quiescence to be better, even with my HCE.

I never tested it with more than 32 threads though.

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

Re: For or against the transposition table probe in quiet search?

Post by jstanback » Tue May 11, 2021 2:19 pm

I store and probe at depth == 0. I only store positions where a move gave a cutoff. This seemed a bit better, but I didn't do much testing with lots of threads or with limited HT size.

John

abulmo2
Posts: 348
Joined: Fri Dec 16, 2016 10:04 am
Contact:

Re: For or against the transposition table probe in quiet search?

Post by abulmo2 » Tue May 11, 2021 3:40 pm

My two related chess engines have a divergent opinion about this:
  • Amoeba: for
  • Dumb: against
The difference between Amoeba and Dumb is the speed of the evaluation function, fast for Dumb, and slow for Amoeba. So, for Amoeba, it is worth caching all these slow computations through a transposition table, but not for Dumb.
Richard Delorme

User avatar
Desperado
Posts: 828
Joined: Mon Dec 15, 2008 10:45 am

Re: For or against the transposition table probe in quiet search?

Post by Desperado » Tue May 11, 2021 5:16 pm

Kotlov wrote:
Tue May 11, 2021 8:05 am
For or against the transposition table probe in quiet search?
Well, there is not only black and white. Beside technical implementation details like HGM described you can check for some conditions
before probing the TT. Like with other techniques (e.g. quiet checks in qs) you can limit lookups depth dependent for example
or any other restriction which might be useful in your opinion. Using TT logic when entering qs (depth == 0) seems pretty normal today.

Beside the speed efford, the replacement scheme might be very important in this context.
From my point of view, more valuable nodes can be overwritten with entries from the quiescent search very often.

All in all, TT speed, TT information and the criteria when to use it make it work or not.

With information i mean for example:
Maybe it is important how much the effect of move ordering will have, so how important it is that there is a move in TT.
Many engines keep a bestmove that was best at some other point in the search, instead of overwriting it with an empty slot.

Today i use a mix of always replace / depth scheme. (basic,simple and requires aging).
I only use TT when entering the quiescence and i keep best moves before writing an empty slot (upperbound node).

On the other hand, i never got it to work in my old engine.

If you get it to work you might achieve 10 or 20 elo (i guess).

User avatar
MartinBryant
Posts: 33
Joined: Wed Nov 20, 2013 11:37 pm
Location: Manchester, UK
Full name: Martin Bryant
Contact:

Re: For or against the transposition table probe in quiet search?

Post by MartinBryant » Tue May 11, 2021 9:54 pm

Over the years the TT has been in and out of the QS in Colossus.
It's currently in.
The last time I tested taking it out (about 2 years ago) it was a noticeable ELO loss (but admittedly on a rather short test run).
On my test set of positions it saves about 9% of the node count.
About 23% of the QS nodes get succesfully returned by the TT value.
I've just started another test going... I'll report back tomorrow.

Also, FWIW, Stockfish appears to use TT in the QS.

User avatar
lucasart
Posts: 3224
Joined: Mon May 31, 2010 11:29 am
Full name: lucasart
Contact:

Re: For or against the transposition table probe in quiet search?

Post by lucasart » Wed May 12, 2021 4:14 am

Kotlov wrote:
Tue May 11, 2021 8:05 am
For or against the transposition table probe in quiet search?
For.

It's not even close. Testing shows a clear regression if you remove HT from QS.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.

User avatar
MartinBryant
Posts: 33
Joined: Wed Nov 20, 2013 11:37 pm
Location: Manchester, UK
Full name: Martin Bryant
Contact:

Re: For or against the transposition table probe in quiet search?

Post by MartinBryant » Wed May 12, 2021 8:04 am

Ok... so I played a match between Colossus with the TT in the QS vs without.
Result was +44 ELO after 1280 games (+/-19 ELO @ 99% confidence, LOS 100%)
So clearly a benefit to Colossus which is currently using a very simple PST eval during this new development phase.

Post Reply