I use a table for move ordering and reductions are based on the move number in the move list as well as other tactical criteria.jd1 wrote:Hi,
I have a question: should History Pruning use the same table as History for move ordering?
Toga has two history tables:
1. depth*depth increment on the best move which improves alpha. This governs the move ordering. Toga does not decrement failed moves.
I tried a depth*depth decrement but this was slightly worse (even after fixing bugs like: use signed integers, don't allow quiet moves with bad history to come after bad captures, 2048 limit for history to give aging - IIRC Stockfish is 2000, etc.). (Note: above test done without History Pruning).
2. Table recording the historical probability of a move to cause a fail high (value >= beta). Depth is not considered here.
I removed History Pruning from the current development version and tried:
- Use the History Probability (HistHit * 16384 / HistTot) table for move ordering also. This failed badly (around -30 elo or so).
- Use the depth*depth History table for History Pruning as well (i.e. pruning quiet moves based on quiet move count rather than by the history_prob table. I also tried using the played move count, but this was even worse). Of course a lot of tuning is necessary here in order to compare, but after _much_ tuning I haven't even got to within 20 elo of the old History Pruning.
- I also tried, for an experiment, to use Stockfish's algorithm (depth*depth bonus for good moves / penalty for bad moves, aging, move count based pruning with the current formula instead of history pruning). The result was -70 elo or so.
Intuitively I feel that history pruning and move ordering should use the same table, but I haven't been successful so far.
I wonder whether anyone has suggestions/comments. Does anyone else maintain two tables, one for ordering and one for pruning and/or reductions?
Thanks a lot!
Jerry
I do maintain a refutation table that is used to help make decisions. These are specific moves that have been seen to refute another specific move.