An evaluation function is used to heuristically determine the relative value of a position, i.e. the chances of winning. If we could see to the end of the game in every line, the evaluation would only have values of -1 (loss), 0 (draw), and 1 (win). In practice, however, we do not know the exact value of a position, so we must make an approximation. Beginning chess players learn to do this starting with the value of the pieces themselves. Computer evaluation functions also use the value of the material as the most significant aspect and then add other considerations.

The first thing to consider when writing an evaluation function is how to score a move in Minimax or the more common NegaMax framework. While Minimax usually associates the white side with the max-player and black with the min-player and always evaluates from the white point of view, NegaMax requires a symmetric evaluation in relation to the side to move. We can see that one must not score the move per se – but the result of the move (i.e. a positional evaluation of the board as a result of the move). Such a symmetric evaluation function was first formulated by Claude Shannon in 1949 ^{[2]} :

f(p) = 200(K-K')
+ 9(Q-Q')
+ 5(R-R')
+ 3(B-B' + N-N')
+ 1(P-P')
- 0.5(D-D' + S-S' + I-I')
+ 0.1(M-M') + ...
KQRBNP = number of kings, queens, rooks, bishops, knights and pawns
D,S,I = doubled, blocked and isolated pawns
M = Mobility (the number of legal moves)

Here, we can see that the score is returned as a result of subtracting the current side's score from the equivalent evaluation of the opponent's board scores (indicated by the prime letters K' Q' and R'.. ).

Side to move relative

In order for NegaMax to work, it is important to return the score relative to the side being evaluated. For example, consider a simple evaluation, which considers only material and mobility:

and second if the function is homogeneous of degree 1:

It depends on the definition and independence of features and the acceptance of the axiom of choice (Ernst Zermelo 1904), whether additive real number functions are linear or not ^{[3]} . Features are either related to single pieces (material), their location (piece-square tables), or more sophisticated, considering interactions of multiple pawns and pieces, based on certain patterns or chunks. Often several phases to first process simple features and after building appropriate data structures, in consecutive phases more complex features based on patterns and chunks are used.

Based on that, to distinguish first-order, second-order, etc. terms, makes more sense than using the arbitrary terms linear vs. nonlinear evaluation ^{[4]} . With respect to tuning, one has to take care that features are independent, which is not always that simple. Hidden dependencies may otherwise make the evaluation function hard to maintain with undesirable nonlinear effects.

Eliot Slater (1950). Statistics for the Chess Computer and the Factor of Mobility, Proceedings of the Symposium on Information Theory, London. Reprinted 1988 in Computer Chess Compendium, pp. 113-117. Including the transcript of a discussion with Alan Turing and Jack Good

Jens Christensen, Richard Korf (1986). A Unified Theory of Heuristic Evaluation functions and Its Applications to Learning. Proceedings of the AAAI-86, pp. 148-152, pdf

Dap Hartmann (1987). How to Extract Relevant Knowledge from Grandmaster Games. Part 1: Grandmasters have Insights - the Problem is what to Incorporate into Practical Problems.ICCA Journal, Vol. 10, No. 1

Bruce Abramson (1989). On Learning and Testing Evaluation Functions. Proceedings of the Sixth Israeli Conference on Artificial Intelligence, 1989, 7-16.

Omid David, Moshe Koppel, Nathan S. Netanyahu (2008). Genetic Algorithms for Mentor-Assisted Evaluation Function Optimization, ACM Genetic and Evolutionary Computation Conference (GECCO '08), pp. 1469-1475, Atlanta, GA, July 2008.

Home * Evaluationevaluationfunction is used to heuristically determine the relative value of a position, i.e. the chances of winning. If we could see to the end of the game in every line, the evaluation would only have values of -1 (loss), 0 (draw), and 1 (win). In practice, however, we do not know the exact value of a position, so we must make an approximation. Beginning chess players learn to do this starting with the value of the pieces themselves. Computer evaluation functions also use the value of the material as the most significant aspect and then add other considerations.^{[1]}## Table of Contents

## Where to Start

The first thing to consider when writing an evaluation function is how to score a move in Minimax or the more common NegaMax framework. While Minimax usually associates the white side with the max-player and black with the min-player and always evaluates from the white point of view, NegaMax requires a symmetric evaluation in relation to the side to move. We can see that one must not score the move per se – but the result of the move (i.e. a positional evaluation of the board as a result of the move). Such a symmetric evaluation function was first formulated by Claude Shannon in 1949^{[2]}:Here, we can see that the score is returned as a result of subtracting the current side's score from the equivalent evaluation of the opponent's board scores (indicated by the prime letters K' Q' and R'.. ).

## Side to move relative

In order for NegaMax to work, it is important to return the score relative to the side being evaluated. For example, consider a simple evaluation, which considers only material and mobility:return the score relative to the side to move (who2Move = +1 for white, -1 for black):## Linear vs. Nonlinear

Most evaluations terms are a linear combination of independent features and associated weights in the form ofA function

fis linear if the function is additive:and second if the function is homogeneous of degree 1:

It depends on the definition and independence of features and the acceptance of the axiom of choice (Ernst Zermelo 1904), whether additive real number functions are linear or not

^{[3]}. Features are either related to single pieces (material), their location (piece-square tables), or more sophisticated, considering interactions of multiple pawns and pieces, based on certain patterns or chunks. Often several phases to first process simple features and after building appropriate data structures, in consecutive phases more complex features based on patterns and chunks are used.Based on that, to distinguish first-order, second-order, etc. terms, makes more sense than using the arbitrary terms linear vs. nonlinear evaluation

^{[4]}. With respect to tuning, one has to take care that features are independent, which is not always that simple. Hidden dependencies may otherwise make the evaluation function hard to maintain with undesirable nonlinear effects.## General Aspects

## Basic Evaluation Features

## Considering Game Phase

Opening

Middlegame

Endgame

## Miscellaneous

## See also

Search versus Evaluation

## Publications

## 1949

1949).Programming a Computer for Playing Chess. pdf from The Computer History Museum## 1950 ...

1950).Statistics for the Chess Computer and the Factor of Mobility,Proceedings of the Symposium on Information Theory, London. Reprinted 1988 in Computer Chess Compendium, pp. 113-117. Including the transcript of a discussion with Alan Turing and Jack Good1953).. part of the collectionChessDigital Computers Applied to Games, in Bertram Vivian Bowden (editor), Faster Than Thought, a symposium on digital computing machines, reprinted 1988 in Computer Chess Compendium, reprinted 2004 inThe Essential Turing, google books## 1960 ...

1960,1970,2012).Point Count Chess. Samuel Reshevsky (Introduction), Sam Sloan (2012 Introduction), Amazon^{[5]}1968).A Five-Year Plan for Automatic Chess.Machine Intelligence II pp. 110-115## 1970 ...

1972).Multi-Dimensional Structure in the Game of Chess. In International Journal of Man-Machine Studies, Vol. 41975).A Multi-Dimensional Approach to Positional Chess. International Journal of Man-Machine Studies, Vol. 7, No. 61976).Simple Evaluation Function. Kybernetes, Vol. 5, No. 31977).Positional Play in Chess by Computer. Advances in Computer Chess 11977).CHESS 4.5 - The Northwestern University Chess Program.Chess Skill in Man and Machine (ed. Peter W. Frey), pp. 82-118. Springer-Verlag, New York, N.Y. 2nd ed. 1983. ISBN 0-387-90815-3. Reprinted (1988) in Computer Chess Compendium1979).On the Construction of Evaluation Functions for Large Domains. IJCAI 1979 Tokyo, Vol. 1, pp. 53-55.## 1980 ...

1984).Some Conceptual Defects of Evaluation Functions. ECAI-84, Pisa, Elsevier1985).An Empirical Technique for Developing Evaluation Functions. ICCA Journal, Vol. 8, No. 11985).Evaluation-Function Factors. ICCA Journal, Vol. 8, No. 2, pdf1986).A Unified Theory of Heuristic Evaluation functions and Its Applications to Learning.Proceedings of the AAAI-86, pp. 148-152, pdf1987).How to Extract Relevant Knowledge from Grandmaster Games. Part 1: Grandmasters have Insights - the Problem is what to Incorporate into Practical Problems.ICCA Journal, Vol. 10, No. 11987).How to Extract Relevant Knowledge from Grandmaster Games. Part 2: the Notion of Mobility, and the Work of De Groot and Slater. ICCA Journal, Vol. 10, No. 21987).A Model of Two-Player Evaluation Functions.AAAI-87. pdf1988).A Pattern Classification Approach to Evaluation Function Learning. Artificial Intelligence, Vol. 36, No. 11989).Notions of Evaluation Functions Tested against Grandmaster Games. Advances in Computer Chess 51989).Weight Assessment in Evaluation Functions. Advances in Computer Chess 51989).On Learning and Testing Evaluation Functions.Proceedings of the Sixth Israeli Conference on Artificial Intelligence, 1989, 7-16.1989).The Role of Connectivity in Chess. Workshop on New Directions in Game-Tree Search, pdf## 1990 ...

1990).On Learning and Testing Evaluation Functions.Journal of Experimental and Theoretical Artificial Intelligence 2: 241-251.1990).A Positional Assembly Model. ICCA Journal, Vol. 13, No. 31991).Two Kinds of Training Information for Evaluation Function Learning. University of Massachusetts, Amherst, Proceedings of the AAAI 19911991).An Additive Evaluation Function in Chess.ICCA Journal, Vol. 14, No. 31993).On Telescoping Linear Evaluation Functions.ICCA Journal, Vol. 16, No. 2^{[6]}1993).Bootstrap learning of α-β-evaluation functions. ICCI 1993, pdf1994).Efficient Neural Net α-β-Evaluators. pdf^{[7]}1994).Konstruktion und Optimierung von Bewertungsfunktionen beim Schach.Ph.D. Thesis (German)1994).Random Evaluations in Chess. ICCA Journal, Vol. 17, No. 11994).Case-Based Evaluation in Computer Chess. EWCBR 19941995).Statistical Feature Combination for the Evaluation of Game Positions. JAIR, Vol. 31997).A Metric for Evaluation Functions. Advances in Computer Chess 81998).From Simple Features to Sophisticated Evaluation Functions. CG 1998, pdf## 2000 ...

2003).Evaluation Criteria, pdf from ChessCafe.com2005).Evaluation by Hill-climbing: Getting the right move by solving micro-problems. AI Factory, Autumn 2005 » Automated Tuning2007).Visualization and Adjustment of Evaluation Functions Based on Evaluation Values and Win Probability. AAAI 20072008).Genetic Algorithms for Mentor-Assisted Evaluation Function Optimization, ACM Genetic and Evolutionary Computation Conference (GECCO '08), pp. 1469-1475, Atlanta, GA, July 2008.2009).Simulating Human Grandmasters: Evolution and Coevolution of Evaluation Functions. ACM Genetic and Evolutionary Computation Conference (GECCO '09), pp. 1483 - 1489, Montreal, Canada, July 2009.2009).Genetic Algorithms Based Learning for Evolving Intelligent Organisms. Ph.D. Thesis.## 2010 ...

2010).Little Chess Evaluation Compendium. 2010 pdf2011).Expert-Driven Genetic Algorithms for Simulating Evaluation Functions. Genetic Programming and Evolvable Machines, Vol. 12, No. 1, pp. 5--22, March 2011. » Genetic Programming2011).Mixing MCTS with Conventional Static Evaluation. AI Factory, Winter 2011 » Monte-Carlo Tree Search2012).Evaluation options - Overview of methods. AI Factory, Summer 20122012).An Addendum to a Little Chess Evaluation Compendium. Addendum June 2012 pdf, Addendum 2 September 2012 pdf, Addendum 3 September 2012 pdf, Addendum 4 November 2012 pdf, Addendum 5 November 27, 2012 pdf, Addendum 6 December 03, 2012 pdf2012).Little Chess Evaluation Compendium. July 2012 pdf^{[8]}, December 03, 2012 pdf2013).Analysis of Networks in Chess. Team 23, Stanford University, pdf## 2015 ...

2016).Heuristic Function Evaluation Framework. CG 2016## Forum Posts

## 1997 ...

## 2000 ...

## 2005 ...

Re: Search or Evaluation? by Mark Uniacke, Hiarcs Forum, October 14, 2007

## 2010 ...

201120122013^{[9]}^{[10]}2014## 2015 ...

^{[11]}20162017## External Links

## Mathematical Foundations

## Chess Evaluation

^{[12]}^{[13]}## References

1949).Programming a Computer for Playing Chess. pdfUp one level