Integrated Bounds and Values
Home * Search * Score * Integrated Bounds and Values
Integrated Bounds and Values (IBV) were proposed 1995 by Don Beal [1]. It treats values and bound flags, typically stored as distinct items inside a transposition table, inside one scalar value as a single numeric scale, providing a convenient notion for coding and processing backed-up values, and might slightly simplify control structure for storing and retrieving TT scores.
Representation
- Exact numbers (n) are represented as 4n
- Upper bounds (<= n) are represented as 4n-1
- Lower bounds (>= n) are represented as 4n+1
with following properties:
- negating a bound yields in the corresponding bound from opponent's point of view (Negamax)
- a lower bound at n (>= n) is greater than an exact n
- an exact value (n) is greater than an upper bound
IBV in Alpha-Beta
Inside an alpha-beta search, for a beta-cutoff one has to compare with forceExact(beta), to return forceLB in that case.
int ibvSearch(int alpha, int beta, ...) { ... int cut = forceExact(beta); for (all moves) { ... score = -ibvSearch(-beta, -alpha, ...); ... if ( score >= cut ) return forceLB(score); ... } ... }
with
int forceExact(int x) {return (x+1) &~ 3;} int forceLB (int x) {return forceExact(x) + 1;}
Publications
- Don Beal (1995). An Integrated-Bounds-and-Values (IBV) Numeric Scale for Minimax Searches. ICCA Journal, Vol. 18, No. 2
Forum Posts
- Re: Quiescence search problems by David Blackman, rgcc, August 3, 1995 » Quiescence Search
References
- ↑ Don Beal (1995). An Integrated-Bounds-and-Values (IBV) Numeric Scale for Minimax Searches. ICCA Journal, Vol. 18, No. 2