Difference between revisions of "Lazy Evaluation"
GerdIsenberg (talk | contribs) |
GerdIsenberg (talk | contribs) |
||
Line 1: | Line 1: | ||
'''[[Main Page|Home]] * [[Evaluation]] * Lazy Evaluation''' | '''[[Main Page|Home]] * [[Evaluation]] * Lazy Evaluation''' | ||
− | [[FILE: | + | [[FILE:Kley Kränzchen.jpg|border|right|thumb| |
+ | [[:Category:Heinrich Kley|Heinrich Kley]] - Das Kränzchen<ref>[[:Category:Heinrich Kley|Heinrich Kley]] - Das Kränzchen. Federzeichnung (aus: Skizzenbuch I, 1909)</ref> ]] | ||
+ | |||
In the chess programming sense of the phrase <ref>In general computer programming, [https://en.wikipedia.org/wiki/Lazy_evaluation Lazy evaluation] refers a technique of delaying a computation until the result is required.</ref>, '''Lazy Evaluation''' means dividing all the tasks performed by [[Evaluation Function|evaluation function]] in (usually two) stages. If after performing all the tasks for a given stage score exceeds [[Beta|beta]] by a certain margin or if it falls below [[Alpha|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 [[Incremental Updates|incrementally updated]], like [[Material|material]] and [[Piece-Square Tables|piece-square tables]]. Lazy evaluation may be viewed as taking the [[Alpha-Beta|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. | In the chess programming sense of the phrase <ref>In general computer programming, [https://en.wikipedia.org/wiki/Lazy_evaluation Lazy evaluation] refers a technique of delaying a computation until the result is required.</ref>, '''Lazy Evaluation''' means dividing all the tasks performed by [[Evaluation Function|evaluation function]] in (usually two) stages. If after performing all the tasks for a given stage score exceeds [[Beta|beta]] by a certain margin or if it falls below [[Alpha|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 [[Incremental Updates|incrementally updated]], like [[Material|material]] and [[Piece-Square Tables|piece-square tables]]. Lazy evaluation may be viewed as taking the [[Alpha-Beta|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. | ||
Line 41: | Line 43: | ||
'''[[Evaluation|Up one Level]]''' | '''[[Evaluation|Up one Level]]''' | ||
+ | [[Category:Heinrich Kley]] | ||
[[Category:Deep Purple]] | [[Category:Deep Purple]] |
Revision as of 15:01, 18 October 2018
Home * Evaluation * Lazy Evaluation
In the chess programming sense of the phrase [2], 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.
Contents
See also
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
- Search Techniques in REBEL (Lazy Eval) from How Rebel Plays Chess by Ed Schröder » Incremental Updates, Rebel
- 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
- ↑ Heinrich Kley - Das Kränzchen. Federzeichnung (aus: Skizzenbuch I, 1909)
- ↑ In general computer programming, Lazy evaluation refers a technique of delaying a computation until the result is required.