Next: Funciones de Evaluación "Buenas"
Up: Función de Evaluación
Previous: Evaluación Humana e Intuición
  Índice General
Al escribir una función de evaluación para un programa de ajedrez
es esencial emplear instrucciones de uso eficiente dado que este
componente del programa es utilizado en forma repetitiva (miles o
cientos de miles de veces durante cada selección de movimiento).
Por esta razón es preferible no incluir excesivos términos en la
función de evaluación dado que cada nuevo término significa un
pequeño incremento en el tiempo requerido para evaluar cada
posición terminal. Una buena función de evaluación es aquella que
evalúa los aspectos críticos de la posición en cuestión y lo
realiza de la manera más eficiente posible. Por cada nuevo término
incluido en la función de evaluación uno debe evaluar si es que la
información agregada compensa la cantidad de tiempo computacional
que dicha evaluación requerirá.
La estructura de la función de evaluación es dependiente del
tipo de procedimiento de búsqueda empleado. En un programa cuyo
énfasis está en el evaluar un pequeño número de nodos terminales
(por ejemplo, 500 nodos en el programa HITECH de Berliner) en
forma minuciosa se requerirá una función de evaluación de alta
complejidad y con evaluaciones lo más precisas posibles. En
programas con gran cantidad de nodos terminales la función de
evaluación debe ser rápida y simple. El programa TECH desarrollado
por Gillogly en Carnegie-Mellon examinaba sólo el equilibrio
material para cada posición terminal de entre las cerca de 500.000
examinadas en cada movimiento. En la década de los 70 no era claro
qué procedimiento fuese el mejor, si bien los humanos utilizan
claramente el primero.
Ahora bien, por lo que hemos descrito acerca del problema a
resolver por la función de evaluación y las características del
pensamiento humano, es muy factible el que las funciones de
evaluación de todos los programas de ajedrez tengan grandes
diferencias y sólo se asimilen en sus patrones más básicos (por
ejemplo, material). El problema de construir una función de
evaluación es el que, a diferencia de la búsqueda, no existe un
método estándar de construcción. Los patrones potenciales que
podría manejar una función de evaluación son cerca de 50.000, los
cuales toman distintos valores de acuerdo a la etapa del juego en
que nos encontremos y además el contexto de la posición (por
ejemplo, cerrada o abierta). Es claro que existen cierta base de
patrones básicos en las funciones de evaluación que todo programa
presenta : Equilibrio material, movilidad de piezas, casillas
atacadas, seguridad del rey, dominio central, actividad de piezas,
desarrollo, etc. Estos patrones fueron propuestos por Shannon en
[68] y son factibles de encontrar en distinta literatura
ajedrecística, pero si suponemos que nuestra función de evaluación
ya contiene en su código el reconocimiento adecuado de estos
patrones, ¿cómo podemos seguir mejorándola?. Este fue un problema
que ocurrió a varios programas los cuales en un momento debieron
decidir por recurrir a la consulta a expertos con tal de obtener
información relevante de cómo incrementar la cantidad de patrones
de reconocimiento de su función de evaluación.
Next: Funciones de Evaluación "Buenas"
Up: Función de Evaluación
Previous: Evaluación Humana e Intuición
  Índice General
Santiago de Chile, Julio 2003