No hay secretos

08/12/2003 – Con mucha frecuencia recibimos mensajes pidiéndonos la fórmula mágica de las tablas de transposición. Hay una fórmula, pero no sólo no es mágica sino que no fue desarrollada pensando en la forma de comportarse de los programas actuales, funcionando en los ordenadores actuales. Pero existe un método. Y si lo pone en práctica, con un poco de dedicación, logrará afinar su equipo. Eso es algo que no podemos hacer por usted. Tras las huellas de...Las tablas de transposición

ChessBase 14 Download ChessBase 14  Download

Programa de gestión de bases de datos de ajedrez que es referencia mundial. Todos usan ChessBase, desde el campeón del mundo al aficionado. Inicie su historia de éxito personal con ChessBase.

Más información...

Tablas de transposición

Ha habido un poco de controversia durante los últimos tiempos en relación con el tamaño adecuado de las tablas hash en los programas de juego de la familia Fritz. El problema arranca de la difusión de una fórmula, desarrollada en los tiempos de  Fritz 5, que permite determinar el tamaño adecuado de las tablas de transposición. Luego se ha matizado en diversas ocasiones, a lo largo de las pistas facilitadas para Fritz 6, Fritz 7 y Fritz 8.

Las tablas de transposición o tablas hash son un sistema de almacenamiento temporal que usan los módulos de ajedrez (si así se lo permitimos) para aumentar su rendimiento de cálculo, ya que en ellas guardan la referencia de posiciones que van encontrando durante los análisis, de forma que si una posición ya considerada vuelve a darse no tiene que recalcularla sino que usa los datos obtenidos previamente, produciéndose un ahorro de tiempo que se invierte en aumentar la profundidad de los análisis en curso.

Las tablas de transposición no tienen efecto mientras el programa use el libro de aperturas (que ya cuenta con un sistema propio para detectar transposiciones) ni tampoco cuando se alcanza una posición incluida en las tablebases o tablas de finales, también llamadas tablas de Nalimov. Por supuesto, la influencia concreta de las tablas en el juego depende de las posiciones concretas que se alcancen: en variantes lineales, con secuencias forzadas, la influencia de las tablas es menor o incluso nula, mientras que en posiciones complejas, con muchas posibles secuencias de movimientos, las tablas de transposición son más importantes. 

Pero la creación, mantenimiento y consulta de las tablas de transposición también son operaciones que consumen su tiempo y debe tratarse de que ese tiempo invertido sea menor que el que se hubiese gastado sin usarlas, para que se produzca un ahorro real en la gestión del tiempo del procesador y que, de esta forma, se pueda emplear en aumentar la "visión" del programa. Por este motivo las tablas hash se crean y gestionan en lo que se llama memoria RAM del ordenador, que es muy rápida y con la que se obtiene un rendimiento muy alto en la gestión y consulta de los datos, y no, por ejemplo, en una zona libre del disco duro, pues el acceso a los datos en ese medio es muchísimo más lento

El problema del tamaño radica entonces en el comportamiento del sistema operativo Windows. En él se pueden tener abiertos varios procesos a la vez y sus desarrolladores optaron porque cuando se ocupase todo el espacio disponible en la RAM, se emplease para el mismo fin el espacio libre disponible en el disco duro. Por eso a veces, cuando abrimos muchos programas, podemos ver (por medio del LED o lucecita que nos indica la actividad en el disco duro) y oír (por el traqueteo que producen los discos duros) que nuestro ordenador parece dejar todas las actividades y se dedica a escribir en el disco duro durante un buen rato. Lo mismo ocurre si fijamos unas tablas de transposición muy grandes.

En los días en que tener 32 Mb o 64 Mb de RAM era el no va más, se desarrolló una fórmula aproximada con la que calcular el tamaño óptimo de las tablas de transposición en función del ritmo de juego y de la velocidad del procesador. Hoy en día, la velocidad de los procesadores, la cantidad de memoria RAM disponible en los ordenadores y la velocidad de acceso a ésta sobrepasan con mucho los márgenes de aplicación de la citada formula y la norma a aplicar es:

Establezca unas tablas de transposición tan grandes como pueda, sin que su sistema empiece a usar el disco duro para sustituir a la RAM.

A la hora de fijar el tamaño, pulsando F3, el programa le indica la cantidad de RAM disponible:

En la imagen, se han seleccionado 128 Mb, pero se podrían alcanzar los 384 Mb. Claro está, siempre que no nos pongamos luego a arrancar otros programas, pues nos condenaremos a usar el disco duro y a ralentizar todas las operaciones. Conviene también dejar un margen para que el sistema pueda realizar determinadas operaciones de rutina con holgura.

No obstante, hay que hacer algunas matizaciones, pues no sólo han cambiado los equipos sino que también ha variado la forma en la que los programas manejan las tablas de transposición:

1) Puede que algunos módulos antiguos no estén programados para usar tablas de transposición muy grandes y que no puedan manejar tablas mayores de 128 Mb o 256 Mb. Por eso, se empecinan una y otra vez en usar su valor máximo programado, en vez del superior que tratamos de asignarles.

2) Algunos módulos borran las tablas de transposición tras calcular cada jugada. Y eso es una operación que consume un tiempo significativo en partidas con controles de tiempo bala o relámpago. Por eso es importante, en esos casos, no establecer un tamaño de las tablas muy grande, pues la diferencia entre llenar y borrar 128 Mb o 256 Mb es apreciable. En la actualidad, no obstante, todos los módulos de primera fila mantienen las tablas de transposición entre jugadas, de forma que no las tienen que borrar, con lo que no se logra ninguna ventaja apreciable ajustando a la baja las tablas hash, digamos entre 256 Mb y 128 Mb, en las partidas con controles de tiempo rápidos.

3) En la actualidad, dada la gran cantidad de memoria RAM que se puede tener,  también hay que tener en cuenta que con tablas de transposición muy grandes, el tiempo que emplea en módulo en consultar las mismas, se hace apreciable. Por supuesto, dependerá de la velocidad del procesador y de la velocidad de la RAM, pero puede darse la paradoja de que se tarde más en consultar la valoración de una posición en la tabla que en calcularla, lo que implicaría una pérdida de rendimiento. Para medir el rendimiento del módulo tenemos la Fritzmark, en el menú Herramientas. Bueno, la interfaz del cada módulo la denomina con arreglo al mismo: Juniormark, Tigermark, Shreddermark, Hiarcsmark... 

Con esa función como vara de medir, los usuarios pueden ir aumentando poco a poco el tamaño de las tablas de transposición, realizando pruebas del rendimiento cada vez, hasta comprobar cual es el valor a partir del cual el rendimiento empieza a caer. Habrá alcanzado entonces el límite máximo para sus sistema. Cada módulo tiene una forma distinta de gestionar las tablas hash, así que si tiene varios módulos deberá hacer pruebas para conocer el valor máximo para cada uno. Las interfaces para cada módulo se cambian por medio del menú Herramientas > Opciones. En la ventana que se abre, vaya a la pestaña Versión.

En la zona Versión GUI, pulse sobre la flecha que apunta hacia la parte inferior de la pantalla y en la lista que se despliega, elija cual es la versión GUI que quiere usar (Fritz 8, Shredder 7, Tiger 15, Junior 8, Deep Junior 8, Hiarcs 9). Luego haga clic en Aplicar y OK sucesivamente. Cuando cierre el programa y vuelva a arrancarlo, entrará con la GUI seleccionada, personalizada para cada programa.


Discussion and Feedback Join the public discussion or submit your feedback to the editors


Comentar

Normas sobre los comentarios

 
 

¿Aún no eres usuario? Registro