A procedure that uses domain knowledge to determine a perceived value of a situation during a search process. It must be custom designed and implemented for each application. Evaluation functions have conflicting requirements as they must produce a relevant and accurate ‘figure of merit’ (which may be expensive to compute) but are used a great many times during a search (and so must be very fast and efficient). Frequently this conflict is handled by using heuristics in the evaluation process.