next up previous contents
Next: Bases de Datos Up: Función de Evaluación Previous: Estilos de juego   Índice General

Algunas conclusiones

La dificultad en realizar una función de evaluación no está por lo general en su parte básica, sino que más bien en la parte que abarca aspectos más técnicos del juego los cuales son difíciles de percibir para jugadores aficionados pero que en jugadores expertos están asimilados. En todo caso, la sola percepción de estos patrones no es suficiente para garantizar una diferencia en nivel ajedrecístico, debe existir también una capacidad de asociar acciones a ejecutar posteriores al reconocimiento del patrón en cuestión y que serán distintas respecto de la fase del juego y también respecto al valor que toman otras características de la partida. Esta gran combinación de factores hace que la confección de funciones de evaluación de gran calidad sea una tarea bastante compleja. Otra observación importante es que la ventaja de tener una función de evaluación más sofisticada no es a priori tan "decisiva" como el hecho de tener un nivel de búsqueda en profundidad por sobre el rival dado que las diferencias en "percepción" se darán sólo si el patrón de diferencia se presenta durante el juego, e incluso si ocurre esto, puede que las diferencias de percepción sean mínimas y por esto no decisivas.

Estas últimas características hicieron que en un principio se diese una mayor importancia al desarrollo de técnicas de búsquedas por sobre la investigación en mejoras a la función de evaluación, si bien curiosamente a principios de los 90 cuando los programas ya poseían un nivel de búsqueda suficientemente bueno se volviera a investigar en cómo mejorar la función de evaluación. Esto resultó ser decisivo para mejorar el conocimiento ajedrecístico de las máquinas y evitar errores de largo plazo los cuales eran la principal causa de las derrotas de programas frente a rivales humanos. Con la colaboración de ajedrecistas profesionales las funciones de evaluación mejoraron notablemente durante esos años, logrando sorprender muchas veces la capacidad de los programas de realizar movimientos "que sólo un humano podría realizar" dadas las características posicionales y perceptivas de éstos (ver partida 34 del Anexo B, DeepBlue - Kasparov, movimiento 37).

Comparativamente hablando resulta difícil la labor de determinar si una función de evaluación de un programa es mejor que otra y más aún "cuánto" mejor puede ser, dada la complejidad que comúnmente presentan las funciones de evaluación de buena calidad. Comparar funciones de evaluación sería algo parecido a comparar la visión del juego de dos jugadores humanos, distintos en términos de percepción y emociones. Por ejemplo, las "funciones de evaluación" de un Mikhail Tahl 7.1 y un Tigran Petrosian 7.2 son tremendamente efectivas y complejas, pero absolutamente diferentes!. El primero valorizará en una posición aspectos muy dinámicos como chances de ataques y líneas abiertas mientras que el segundo tomará aspectos más posicionales como dominio de casillas, ventaja de espacio, etc. Ambos tipos de percepción del juego lograron un reconocido nivel mundial, pero resulta interesante el notar sus tremendas diferencias.

En máquinas de idénticas características de hardware y con motores de búsqueda similares habría que realizar un ejercicio en donde primero se identifiquen los patrones de diferencia entre las funciones de evaluación de todos los programas y luego realizar varias partidas entre ellos revisando jugada a jugada los scores dados por las funciones a la posición en curso y a las que surgen de la búsqueda en profundidad, observando los resultados y determinando si las evaluaciones de posición fueron decisivas en el resultado final de la partida. También podríamos aislar un patrón de la función de evaluación de un programa (por ejemplo, la asignación de puntaje de castigo a cierto tipo de estructura de peones) agregándolo en la función de evaluación de un programa y omitiéndolo en otro, haciendo jugar a los programas y visualizando los momentos en donde el factor determinó diferencias en las evaluaciones de los programas.

Estos ejercicios serían bastante interesantes de realizar, pero con seguridad la gran cantidad de patrones presentes en el juego y el hecho de que no es seguro que en una partida se presenten y sean decisivos puede hacer que la experiencia de comparación sea una tarea interminable y de resultados no tan exactos. Por esto prácticamente no se ha mencionado "cuanta" diferencia en rating tendría una función de evaluación respecto de otra que le sea "comparable" en parámetros y complejidad, pero si se hace referencia a la importancia de considerar la mayor cantidad de patrones posibles en la función (darle mayor conocimiento ajedrecístico) y darles la adecuada medida de importancia respecto de la forma de juego que se crea acomoda más al programa.

next up previous contents
Next: Bases de Datos Up: Función de Evaluación Previous: Estilos de juego   Índice General
Santiago de Chile, Julio 2003