Transposition Tables

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
cms271828
Posts: 316
Joined: Wed Apr 12, 2006 10:47 pm

Re: Transposition Tables

Post by cms271828 »

Thanks, I tried the code I wrote in the previous post, and it didn't work.
I gave engine a mate in 4(7 ply) miniature to solve, and it came out with 1032467 or something like that, and sequence of moves was totally wrong.

I could take a closer look at it, and try to fix it,
but I still don't know whats wrong with using -1000000-D thing.
Colin
Alessandro Scotti

Re: Transposition Tables

Post by Alessandro Scotti »

cms271828 wrote:I could take a closer look at it, and try to fix it,
but I still don't know whats wrong with using -1000000-D thing.
Hi Colin,
there is nothing wrong with the MATE/ply approach, many engines use it successfully.
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Transposition Tables

Post by hgm »

I did not say that there was anything wrong with the -1000000-D thing, except that I never used it, and don't know off-hand how it works. It seems to me that having score inconsistencies between search and hash tables is an error-prone way to go, as you would have to test for mate scores and correct for depth in many places. Of course even cumbersome schemes can work satisfactory once they are debugged. Even simple schemes might have to be debugged.

The main reason I prefer my scheme is that it does not only work for mates, but makes the engine more decisive in cashing any gain, rather than allow it to evaporate by indecision (if I replace MATES by CurrentEval in the pseudo-code), and thereby improves engine strength. There is no way I know to make the -100000-D scheme do that.
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Transposition Tables

Post by Zach Wegner »

cms271828 wrote:I could take a closer look at it, and try to fix it,
but I still don't know whats wrong with using -1000000-D thing.
For one, the signs are reversed. It should be -1000000+D or 1000000-D. And by D I hope you mean ply rather than depth, something that increases as you get deeper in the tree. Depth is meaningless in this situtation.
The main reason I prefer my scheme is that it does not only work for mates, but makes the engine more decisive in cashing any gain, rather than allow it to evaporate by indecision (if I replace MATES by CurrentEval in the pseudo-code), and thereby improves engine strength. There is no way I know to make the -100000-D scheme do that.
Have you measured this gain? It doesn't seem to me that it would make much difference at all.