I extended the multiple plies filtering to include filtering based on equity difference as well as number of positions.
It now uses the coarse strategy to trim down the number of moves to calculate full strength, and then filters out any move whose equity (using the coarse calculation) is less than the equity cutoff worse than the equity of the best position (again using the coarse calculation).
The table below shows timings and performance in 100 single-game matches against PubEval. The top row shows the timing and results with no filtering at all. The next six rows show the results filtering by number of moves but not equity. The subsequent groups of rows show the results for different move number and equity thresholds.
It looks like a number threshold of 8 and an equity cutoff of 0.2 gives the best results: a significant calculation time reduction while still giving results close to the unfiltered performance. That's what I will use going forward. That gives a speedup of roughly 45% vs the unfiltered case.
It now uses the coarse strategy to trim down the number of moves to calculate full strength, and then filters out any move whose equity (using the coarse calculation) is less than the equity cutoff worse than the equity of the best position (again using the coarse calculation).
The table below shows timings and performance in 100 single-game matches against PubEval. The top row shows the timing and results with no filtering at all. The next six rows show the results filtering by number of moves but not equity. The subsequent groups of rows show the results for different move number and equity thresholds.
It looks like a number threshold of 8 and an equity cutoff of 0.2 gives the best results: a significant calculation time reduction while still giving results close to the unfiltered performance. That's what I will use going forward. That gives a speedup of roughly 45% vs the unfiltered case.
No comments:
Post a Comment