La función de evaluación, también conocida como función de evaluación heurística, es un algoritmo usado generalmente por programas que saben jugar juegos de estrategia como el Ajedrez (denominados motores de ajedrez), Go entre otros para estimar el valor numérico a las posiciones analizadas por el programa por medio de un algoritmo de búsqueda como la poda alfa-beta, que deberá tomar la decisión de por cual continuación seguir en el árbol de variantes del juego.[1]​ La función de evaluación generalmente solo da información muy básica sobre la instancia del juego para no usar mucho recurso de la CPU, de esta manera, la función de búsqueda puede explorar el árbol de variantes más velozmente (más nodos/por segundo) y por lo tanto mejorando el rendimiento del programa en el juego.
Una función de evaluación debe dar datos importantes de la instancia del juego, por ejemplo en el ajedrez es fundamental la suma del valor de las piezas y su movilidad. Otras implementaciones de funciones de evaluación pueden ser más complejas, por ejemplo dan información de la seguridad del rey.
[2]​