Lazy Evaluation

Home * Evaluation * Lazy Evaluation



In the chess programming sense of the phrase, Lazy Evaluation means dividing all the tasks performed by evaluation function in (usually two) stages. If after performing all the tasks for a given stage score exceeds beta by a certain margin or if it falls below alpha by the same margin, the score is returned and no more evaluation is conducted. The first stage usually consists of the evaluation terms that are relatively cheap, possibly incrementally updated, like material and piece-square tables. Lazy evaluation may be viewed as taking the alpha-beta principle one step further. If some parts of the evaluation function are omitted due to this heuristics, it means that one side is already winning "the evaluation game" by the margin unacceptable to the opponent, and therefore a cutoff occurs.

=See also=
 * CPW-Engine_eval
 * Evaluation in Rookie 2.0
 * Futility Pruning
 * Lazy SMP
 * Razoring

=Forum Posts=

1995 ...

 * approximate eval function by Joël Rivat, rgcc, September 20, 1995

2000 ...

 * Caution K v KBN and lazy eval or futility by Brian Richardson, CCC, May 14, 2000 » KBNK Endgame, Futility Pruning
 * Chess Programming: "lazy eval" by Matthias Gemuh, CCC, October 11, 2001

2010 ...

 * doing lazy exit in eval or better not ? by Engin Üstün, CCC, December 22, 2010
 * lazy eval discussion by Robert Hyatt, CCC, March 21, 2011
 * Lazy eval by Larry Kaufman, CCC, November 27, 2011
 * Razoring / Lazy eval question by Jerry Donald, CCC, November 24, 2012 » Razoring
 * Re: lazy eval by Jon Dart, CCC, June 19, 2014
 * Lazy evaluation by Robert Hyatt, CCC, August 07, 2014
 * Implications of Lazy eval on Don Beal effect in Fail Soft by Henk van den Belt, CCC, November 19, 2014 » Fail-Soft

2015 ...

 * Is expensive eval required for QS? by Alexandru Mosoi, CCC, July 21, 2017 » Quiescence Search
 * adaptive lazy eval by Ed Schroder, CCC, August 31, 2017

=External Links=
 * Not being lazy anymore by Thomas Petzke, mACE Chess, June 28, 2014 » iCE
 * Lazy evaluation from Wikipedia as general programming term
 * Deep Purple - Lazy (Sydney 1984),  YouTube Video

=References=

Up one Level