Evaluation function

From Wikipedia, the free encyclopedia

Programming
evaluation

Eager
Function
Lazy
Minimal
Partial
Remote
Strategy

An evaluation function, also known as heuristic evaluation function or static evaluation function 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, together with their reliance on tactics at the expense of strategy, characterizes the style of play of computers.

[edit] External links

In other languages