Difference between revisions of "Lazy Evaluation"
GerdIsenberg (talk | contribs) (Created page with "'''Home * Evaluation * Lazy Evaluation''' FILE:Naturgeschichte und Abbildungen der Reptilien (6059239621).jpg|border|right|thumb|[https://en.wikipedia.org...") |
GerdIsenberg (talk | contribs) m |
||
Line 3: | Line 3: | ||
[[FILE:Naturgeschichte und Abbildungen der Reptilien (6059239621).jpg|border|right|thumb|[https://en.wikipedia.org/wiki/Chameleon Chameleons] <ref> [https://en.wikipedia.org/wiki/Chameleon Chameleons], [https://commons.wikimedia.org/wiki/File:Naturgeschichte_und_Abbildungen_der_Reptilien_(6059239621).jpg Plate 99] from [https://en.wikipedia.org/wiki/Heinrich_Rudolf_Schinz Heinrich Rudolf Schinz] ('''1833'''). ''Naturgeschichte und Abbildungen der Reptilien''. lithograph by [https://en.wikipedia.org/wiki/Karl_Joseph_Brodtmann Karl Joseph Brodtmann], [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</ref> ]] | [[FILE:Naturgeschichte und Abbildungen der Reptilien (6059239621).jpg|border|right|thumb|[https://en.wikipedia.org/wiki/Chameleon Chameleons] <ref> [https://en.wikipedia.org/wiki/Chameleon Chameleons], [https://commons.wikimedia.org/wiki/File:Naturgeschichte_und_Abbildungen_der_Reptilien_(6059239621).jpg Plate 99] from [https://en.wikipedia.org/wiki/Heinrich_Rudolf_Schinz Heinrich Rudolf Schinz] ('''1833'''). ''Naturgeschichte und Abbildungen der Reptilien''. lithograph by [https://en.wikipedia.org/wiki/Karl_Joseph_Brodtmann Karl Joseph Brodtmann], [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</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 | + | 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. |
=See also= | =See also= |
Revision as of 19:09, 16 May 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
- ↑ Chameleons, Plate 99 from Heinrich Rudolf Schinz (1833). Naturgeschichte und Abbildungen der Reptilien. lithograph by Karl Joseph Brodtmann, Wikimedia Commons
- ↑ In general computer programming, Lazy evaluation refers a technique of delaying a computation until the result is required.