# Evaluation function

﻿
Evaluation function

An evaluation function, also known as a heuristic evaluation function or static evaluation function, is a function used by game-playing programs to estimate the value or goodness of a position in the minimax and related algorithms. The evaluation function is typically designed to be fast and accuracy is not a concern (therefore heuristic); the function looks only at the current position and does not explore possible moves (therefore static).

One popular strategy for constructing evaluation functions is as a weighted sum of various factors that are thought to influence the value of a position. For instance, an evaluation function for chess might take the form c1 * material + c2 * mobility + c3 * king safety + c4 * center control + ...

Chess beginners, as well as the simplest of chess programs, evaluate the position taking only "material" into account, i.e they assign a numerical score for each piece (with pieces of opposite color having scores of opposite sign) and sum up the score over all the pieces on the board. On the whole, computer evaluation functions of even advanced programs tend to be more materialistic than human evaluations. This is compensated by the increased speed of evaluation, which allows more plies to be examined. As a result, some chess programs may rely too much on tactics at the expense of strategy.

* [http://web.archive.org/web/20041103012847/http://myweb.cableone.net/christienolan/coach/evaluating.htm Keys to Evaluating Positions]
* [http://www.gamedev.net/reference/articles/article1208.asp GameDev.net - Chess Programming Part VI: Evaluation Functions]
* [http://alumni.imsa.edu/~stendahl/comp/txt/gnuchess.txt http://alumni.imsa.edu/~stendahl/comp/txt/gnuchess.txt] - Heuristic function used by GNU Chess in 1987

Wikimedia Foundation. 2010.

### Look at other dictionaries:

• Evaluation (disambiguation) — Evaluation is the process of characterizing and appraising something of interest or of determining the value of an expression (mathematics). Computer science * determining the value of an expression (programming) * Eager evaluation or strict… …   Wikipedia

• Evaluation strategy — Evaluation strategies Strict evaluation Applicative order Call by value Call by reference Call by sharing Call by copy restore Non strict evaluation Normal order Call by name Call by need/Lazy evaluation …   Wikipedia

• Evaluation — is systematic determination of merit, worth, and significance of something or someone using criteria against a set of standards. Evaluation often is used to characterize and appraise subjects of interest in a wide range of human enterprises,… …   Wikipedia

• Function (mathematics) — f(x) redirects here. For the band, see f(x) (band). Graph of example function, In mathematics, a function associates one quantity, the a …   Wikipedia

• Évaluation du niveau des accidents nucléaires de Fukushima de mars 2011 — Article principal : Accident nucléaire de Fukushima. Sommaire 1 Évaluation instantanée 2 Historique des évaluations 2.1 Première évaluation au niveau 4 …   Wikipédia en Français

• evaluation — evaluate ► VERB 1) form an idea of the amount or value of; assess. 2) Mathematics find a numerical expression or equivalent for (a formula, function, etc.). DERIVATIVES evaluation noun evaluative adjective evaluator noun …   English terms dictionary

• function-evaluation routine — noun A program, module or subroutine etc that returns the value of a defined function …   Wiktionary

• Independent Evaluation Group — The World Bank s Independent Evaluation Group (IEG) is an independent unit within the World Bank Group. It evaluates the relevance and impact of the Bank Group s support to developing countries for reducing poverty. The goals of IEG evaluations… …   Wikipedia

• Short-circuit evaluation — Evaluation strategies Strict evaluation Applicative order Call by value Call by reference Call by sharing Call by copy restore Non strict evaluation Normal order Call by name Call by need/Lazy evaluation Call by …   Wikipedia

• Lazy evaluation — In computer programming, lazy evaluation (or delayed evaluation) is the technique of delaying a computation until such time as the result of the computation is known to be needed.The actions of lazy evaluation include: performance increases due… …   Wikipedia