La función de evaluación

< El efecto horizonte [Cheoss]   [índice]

La función de evaluación de un motor de ajedrez es la parte del programa que valora posiciones con arreglo a diversos criterios.

Esta valoración puede ser tan simple como contar el material de uno y otro bando. Incluso una evaluación tan sencilla como esta ya permite a un programa jugar con cierto sentido al ajedrez, pero la podemos complicar mucho más, con un ojo puesto siempre en la velocidad y en el rendimiento, claro está: cuanto más sofisticada sea nuestra función de evaluación mejor jugará el programa pero más tiempo consumirá evaluando.

En una función de evaluación típica se tienen en cuenta varios factores y es habitual establecer un sistema contrapesado que considera la importancia relativa de cada factor.

Por supuesto la variable que tiene más peso en este sistema es casi siempre el material, la cantidad y calidad de las piezas que quedan en el tablero. Otras variables que se suelen considerar: penalización por peones aislados, doblados o retrasados o en general por estructuras deficientes de peones, bonificación de peones pasados, seguridad del rey, ocupación de las torres de las columnas abiertas, etc.



Tablas pieza/casilla

Una variable de evaluación sencilla y de buenos resultados prácticos son los bonus pieza/casilla. La técnica consiste en utilizar unas tablas que nos indican lo bueno o malo que sería encontrar una pieza determinada en cada casilla.

La tabla superior es un ejemplo para el caballo. Según esta tabla de valores se contarían 10 puntos adicionales por cada caballo que se encuentre situado en el centro. En cambio la misma tabla nos indica que en caso de encontrar un caballo en la esquina restemos 10 puntos a la valoración total para castigar esa mala posición del caballo.



Conclusión

Se dice que la evaluación es la parte más personal de un programa de ajedrez, casi todo depende del gusto del programador. Para empezar debe encontrar un buen equilibrio entre sofisticación en las valoraciones y velocidad del programa. Luego otorgará más o menos peso a los factores ajedrecísticos (peones pasados, actividad de las piezas, seguridad del rey, etc) dependiendo de su experiencia, conocimientos o personalidad ajedrecística.

La función de evaluación determina el carácter de cada programa de ajedrez, su estilo de juego, más que ninguna otra cosa. Parafraseando a Philidor: La función de evaluación es el alma de un programa de ajedrez.



< El efecto horizonte [Cheoss]   [índice]

Miguel Ángel Embuena Molina                                  chessprogram.cheoss@gmail.com