move ordering statistic
Posted: 03 Mar 2006, 16:36
There is a move ordering metric that I call "beta efficiency". It might be interesting to hear what people measure for it in their programs.
Beta efficiency can be computed as follows. Whenever a beta cutoff occurs, compute the number 1 / s, where s is the position in the sort order of the move that caused the beta cutoff. (The first move has s=1.) Beta efficiency is the average of the quantity 1/s, averaged over all beta cutoffs that occur.
For example, if, every time a cutoff occurs, the move that causes the cutoff is the first move in the sorted move list, s will always be 1, and the beta efficiency will be 1. On the other hand, if the cutoffs that occurred were always found at the last move in the sorted move list, beta efficiency would be around 3%, if there are about 33 legal moves per position.
Beta efficiency might be a good measure of the effectiveness of move ordering when move ordering really matters.
What does Crafty get?
(I measure beta efficiency in my own program, but cannot report any data right now because I was measuring it wrong, and am in the middle of a bunch of changes so I can't gather correct statistics.)
Beta efficiency can be computed as follows. Whenever a beta cutoff occurs, compute the number 1 / s, where s is the position in the sort order of the move that caused the beta cutoff. (The first move has s=1.) Beta efficiency is the average of the quantity 1/s, averaged over all beta cutoffs that occur.
For example, if, every time a cutoff occurs, the move that causes the cutoff is the first move in the sorted move list, s will always be 1, and the beta efficiency will be 1. On the other hand, if the cutoffs that occurred were always found at the last move in the sorted move list, beta efficiency would be around 3%, if there are about 33 legal moves per position.
Beta efficiency might be a good measure of the effectiveness of move ordering when move ordering really matters.
What does Crafty get?
(I measure beta efficiency in my own program, but cannot report any data right now because I was measuring it wrong, and am in the middle of a bunch of changes so I can't gather correct statistics.)