Best node search
Best node search (BNS), originally known as fuzzified game tree search, is a minimax search algorithm developed in 2011 that optimizes decision-making in game trees. BNS differentiates itself from traditional algorithms by identifying which moves (subtrees) are relatively better than others before calculating their exact minimax values, allowing for more efficient pruning of the search space.
First an initial guess at the minimax value must be made—often derived from statistical heuristics. Then BNS conducts searches that determine whether the minimax of the subtree is smaller or bigger than the guess. It changes the guessed value until either the bounds (alpha and beta) are close enough, or only one subtree remains that can potentially contain the optimal value. These two outcomes mirror the established "prove best" and "disprove rest" strategies in heuristic search theory, respectively. The former establishes tight bounds around the best move's value, while the latter eliminates all suboptimal alternatives.
Notably, BNS yields the optimal node (move) and bounds on its minimax value, but not necessarily the exact minimax value itself.[1] This characteristic makes it particularly suitable for applications where identifying the optimal move is more important than knowing its precise value. Empirical evaluations using random trees suggest that BNS achieves superior efficiency compared to other minimax algorithms.[citation needed]
Pseudocode
function nextGuess(α, β, subtreeCount) is return α + (β − α) × (subtreeCount − 1) / subtreeCount function bns(node, α, β) is subtreeCount := number of children of node do test := nextGuess(α, β, subtreeCount) betterCount := 0 for each child of node do bestVal := −alphabeta(child, −test, −(test − 1)) if bestVal ≥ test then betterCount := betterCount + 1 bestNode := child (update number of sub-trees that exceeds separation test value) (update alpha-beta range) while not (β − α < 2 or betterCount = 1) return bestNode
The default nextGuess function above may be replaced with one which uses statistical information for improved performance.
Generalization
Tree searching with Murphy Sampling[2] is an extension of Best Node Search to non-deterministic setting.
External links
References
- ^ Rutko, Dmitrijs (2011). "Fuzzified Algorithm for Game Tree Search with Statistical and Analytical Evaluation" (PDF). Scientific Papers, University of Latvia. 770: 90–111. Retrieved 5 November 2022.
- ^ Kaufmann, Emilie; Koolen, Wouter; Garivier, Aurelien (2018). "Sequential Test for the Lowest Mean: From Thompson to Murphy Sampling". arXiv:1806.00973 [stat.ML].