Maughan wrote:A couple of months back I had a look at Fruit 2.0's code. One of the changes was the adoption of a different type of hash table from the norm. Fabian is storing both an upper and lower bound / depth for each position.
Does anyone have any idea of the logic / benefits of such an approach? What are the key advantages / disadvantages? Also what happens if you get a contradiction i.e. upper bound is lower then the lower bound - you certainly don't get a cutoff!
All thoughts appreciated,
Steve
As far as I know, this idea was also proposed by programmers who use MTD(f). It is very important to use such a scheme with MTD(f), since the same position is often searched at the same depth, with varying values of alpha and beta.
The reason for the benefit is easy to understand: if you store only one bound, and it is, say, a lower bound, then this information will be erased from the hash table if you get an upper bound later. This information that you erased might have been valuable later in the search.
R?mi