Transposition Tables & Search instability

Discussion of chess software programming and technical issues.

Moderator: Ras

Edmund
Posts: 670
Joined: Mon Dec 03, 2007 3:01 pm
Location: Barcelona, Spain

Transposition Tables & Search instability

Post by Edmund »

As Transpositions Tables are a big topic recently I want to add another aspect, something I am currently working on.

First of all I am using PVS + Aspiration Windows + TT .. without any problems so far.

So far I only used the TT to cutoff if min_score >= beta or max_score <= alpha. So what I now tried was to use the values present in the TT to adjust alpha/beta bounds at PV nodes. The result was bad. Search instability seems to wreck the whole concept for me. Eg First a node fails low on a certain value, on a research it fails high on the very same value with different bounds etc.

Has anyone tried this before, are there any ways to stop this from happening? I for example thought of a second research with a flag set to not use TT values to adjust bounds. Any other ideas?

regards,
Edmund
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Transposition Tables & Search instability

Post by hgm »

You can suppress TT-based search instability by accepting only exact-depth hits.

But the question is if you should want that. Either re-search with open window in such a case, or do not adjust the bounds in PV nodes in the first place. Whichever is faster.
pijl

Re: Transposition Tables & Search instability

Post by pijl »

Codeman wrote: Has anyone tried this before, are there any ways to stop this from happening? I for example thought of a second research with a flag set to not use TT values to adjust bounds. Any other ideas?
The problems are caused by adjusting alpha based on a HT entry, but in the actual search you may not find a move that brings the score above the new alpha. The big question is now what score you should return. Anything above the unadjusted alpha may be wrong (and leeds to more instability), but by returning the unadjusted alpha you might be missing a better score.

I think you have two options here:
1. Research with the orginal window to find a correct score
2. Don't adjust bounds

I'd go for option 2 as the gain from adjusting the bounds is questionable at best.
Richard.