Talk:Evaluation function

Eval
Shouldn't this page also mention something about an evaluation function as in a function that takes a datastructure representing code, evaluates the code, and returns its result? Like the  function in standard PHP. Wouter Lievens 14:34, 19 May 2006 (UTC)


 * Reasonable point. Many languages have such an eval function.  Python, Java, etc.  That concept is very common in the functional programming paradigm, going back decades to the earliest Lisp dialect, or earlier.  In such languages, a program is not really "executed" per se &mdash; the programmer codes up a big nested structure of functions and data and then evaluates it, which returns a result.
 * This is a different concept than what the current article is about, so if you want to start another article, there's no harm in trying. You could add a disambig line at the start of this article.  But I'm not really sure if the concept you're talking about warrants an entire article, or even what you'd call it.  --Ds13 19:22, 19 May 2006 (UTC)


 * There's the eval article. I now added the following to the top of the article.




 * --Amit 07:45, 12 October 2007 (UTC)

References?
The only academic paper on an evaluation function I can find is Shannon's from 1950. It's woefully out of date, woefully inadequate, and the formula given just plain poor. Shannon's weights are known today to be way too high, maybe a factor of 5, except for isolated pawns. A severe drawback is that Shannon didn't actually test his scheme in a running program, and I don't know any program that did, subsequently. The main problem is that we know today that there are many more significant and subtle factors that even a rudimentary chess program needs to take into account, than those enumerated by Shannon. There is a kind of descriptive paper on the Northwestern University Chess program from the 1970's, Chess 4.5 in "Chess 4.5: The Northwestern University Chess Program" published in Chess Skill in Man and Machine, 1977. It's hardly a research paper, more like a narrative account you'd find in a popular chess magazine. The evaluation function there wasn't a formalistic or structured approach such as described in the text here, rather a hodge-podge of bonuses and penalties drawn from their experience over the board. The limited computer resources available in those days made anything computationally expensive prohibitive, so only the most rudimentary positional facets were evaluated.

Evaluation functions are available in public domain source code for programs like GNU Chess, Fruit and Stockfish, but I'd hardly be able to derive general principles upon which those functions were constructed from inspection. I'm pretty sure they got to be what they are by purely empirical means, tuning and retuning to the nth degree.

So while I'm aware of the paucity of citations, what, really, can be done? Sbalfour (talk) 17:06, 10 September 2019 (UTC)