4.9 Funciones de Evaluación del Software


Función de Evaluación

Las primeras propuestas de función de evaluación estaban orientadas a tener una evaluación estática de la posición basada fundamentalmente en el concepto de material. Rápidamente se captó que esta evaluación no era suficiente, considerando que en el ajedrez existen factores estructurales los cuales afectarán a largo plazo el curso de la partida, por lo cual es muy probable que el programa no encuentre las consecuencias de esta situación en su búsqueda en profundidad. Estos aspectos, denominados “Posicionales” debieron incluirse en la función de evaluación.

Los primeros programas incluyeron algunos parámetros posicionales básicos, los cuales tenían un peso importante en la evaluación de la posición pero no igualable al peso que poseía el factor de material. El problema entonces de dar un adecuado “peso” a cada parámetro de la función de evaluación, y en qué momento de la partida darlo a uno u otro parámetro constituía un problema denominado carencia de “conocimiento ajedrecístico” cuya solución estaba en captar las impresiones de los jugadores humanos “expertos” y asimilarlas en el programa.

La inclusión de un mayor “conocimiento ajedrecístico” en los programas fue logrado mediante el trabajo conjunto entre programadores y maestros de ajedrez. Desafortunadamente, costó bastante el poder combinar de manera eficiente una idea de función de evaluación lo más completa posible con la mayor cantidad de parámetros de medición, pero a la vez muy rápida en su capacidad de cálculo.

Nuevamente acá los avances en hardware permitieron crear funciones de evaluación más poderosas y cuya utilización no significaba un alto costo de CPU. El problema entonces se redujo a cómo dar pesos adecuados a cada parámetro de la función con tal de que la combinación de éstos entregue una evaluación al menos similar a la que concluiría un maestro de ajedrez.

A este respecto resulta destacable el trabajo realizado por Hsu,Campbell y Anantharaman [31], quienes testearon su programa Deep Blue? con cerca de 900 posiciones particulares de partidas de Grandes Maestros. Durante el análisis por parte de la máquina de estas posiciones, los programadores iban ajustando manualmente los pesos de cada parámetro de la función de evaluación con tal de que el programa encontrara el movimiento seleccionado. Este ajuste de “pesos” resultó ser un notorio avance en la performance de la función de evaluación del programa. Respecto de esto una cita de Anantharaman en el ICCA Journal describiendo esta metodología :

“La función de evaluación del software de Deep Thought es ajustada contra una base de datos de partidas de maestros de ajedrez. La diferencia de evaluación entre el movimiento elegido por el programa y el maestro es minimizada. La performance del programa de ajedrez con la función de evaluación ajustada fue medida en forma experimental. El programa jugó varios matchs de 500 partidas con diferentes ajustes contra un programa fijo. Los resultados mostraron que un 98% de la performance de la función de evaluación puede ser mejorada en aproximadamente una semana ajustándola a partir de la información de partidas de la base de datos”.

No hay comentarios:

Publicar un comentario