With an (average or constant) branching factor of b, and a search depth of d plies, the maximum number of leaf node
positions evaluated (when the move ordering is pessimal) is O(b*b*...*b) = O(b
d
) – the same as a simple minimax
search. If the move ordering for the search is optimal (meaning the best moves are always searched first), the number
of leaf node positions evaluated is about O(b*1*b*1*...*b) for odd depth and O(b*1*b*1*...*1) for even depth, or
. In the latter case, where the ply of a search is even, the effective branching factor is reduced
to its square root, or, equivalently, the search can go twice as deep with the same amount of computation.[8] The
explanation of b*1*b*1*... is that all the first player's moves must be studied to find the best one, but for each, only
the best second player's move is needed to refute all but the first (and best) first player move – alpha-beta ensures no
other second player moves need be considered. If b=40 (as in chess), and the search depth is 12 plies, the ratio
between optimal and pessimal sorting is a factor of nearly 406 or about 4 billion times.
Normally during alpha-beta, the subtrees are temporarily dominated by either a first player advantage (when many
first player moves are good, and at each search depth the first move checked by the first player is adequate, but all
second player responses are required to try and find a refutation), or vice versa. This advantage can switch sides