Advertisement

Iterative Deepening and Transposition Tables

Started by October 08, 2008 11:31 AM
1 comment, last by Rockoon1 16 years, 1 month ago
Hello everyone, I am having some problems understanding why my IDDFS is not working properly. I suspect it is because I am not properly sorting my movelist between each iteration. In my TransTable I am storing these pieces of information: the zobrist key, the depth, the score, and an indicator if the score is the true Minimax, or the alpha or beta cutoff. So after each iteration of the IDDFS I sort the movelist based on the scores found in the TransTable. One of my questions is, if the score in the TT is not the true minimax but an alpha or beta cutoff how does this effect the movelist sort (or does it)? Do I not sort moves that don't have a true minimax value? Thanks everyone
What do you mean by "not working properly"? The order should only matter as a heuristic. I mean, the search should still return the correct result even if you use the wrong order; it's just that it will take a long time.

Advertisement

With worst-case move ordering alphabeta() devolves into minimax().

With completely arbitrary/random move ordering, the search ends up somewhere between that worst case and the best case. Lets call this the median case.

The purpose of ID is to collect statistics which allows you to improve your move ordering to something better than the median case, and hopfully to approximate the best case.

The best case is that the first move you try causes a cutoff, so moves should be sorted according to how likely they are to cause one.



This topic is closed to new replies.

Advertisement