* razoring
* eval pruning or futility pruning (for me it's the same, basically eval pruning is reversed futility pruning)
* move count pruning
I wonder if any research has been done to measure the scaling property of such techniques.
Let's take an example of feature X that does some speculative pruning when depth <= 5 (+other conditions). If b is the branching factor without X, then the time to depth goes from
Code: Select all
T(d) ~ b^dCode: Select all
T'(d) ~ b'^5 * (b-5)^nThis is of course a really sketchy and simplified equation, but it gives an idea. When n goes to infinity, we have
Code: Select all
T'(n)/T(n) ~ (b'/b)^5Now, like most things, it's a risk-reward: there is a cost in neglecting some tactics. If this cost is constant, increasing, or decreasing with depth, we are left with a different conclusion as to the asymptotical risk-reward of feature X.
Experiment: I am running a test in DiscoCheck of removing Razoring and Eval pruning, at different time controls:
* 5000 games in 2.5"+0.025"
* 5000 games in 5"+0.05"
* 5000 games in 10"+0.1"
(I don't have the computational ressources to go much further in a reasonable amount of time).
I really hope to see that these featurea are useless at long TC and I can remove them. I may never have the CPU ressources to reach a time control where that becomes apparent though, but curious to see how the scaling graph at least begins.
