next up previous contents
Next: Generación de Llaves de Up: Otros avances desarrollados Previous: Otros avances desarrollados   Índice General

Tablas de Transposición

En ajedrez existe a menudo más de una forma de obtener una misma posición mediante diferentes secuencias de movimientos. Por ejemplo la posición resultante de la secuencia 1.e4 e5 2.f4 d6 es la misma que en la secuencia 1.f4 d6 2.e4 e5. Obtener posiciones idénticas con una secuencia distinta de movimientos se denomina transposición.

Ahora, si nuestro programa ha tomado considerable esfuerzo en buscar y evaluar la posición resultante de 1.e4 e5 2.f4 d6 sería muy útil si fuese capaz de recordar los resultados de esa posición con tal de que sea innecesario el evaluar la posición resultante de la secuencia 1.f4 d6 2.e4 e5. Desde que el programa de Richard Greenblat MacHack VI [46] desarrolló esta técnica prácticamente todos los programas la han incorporado.

Este método presenta varias ventajas, incluyendo : El único problema real relativo a las tablas de transposición es su "voracidad" en términos de memoria. Para ser realmente útil la tabla debe contener varios miles de registros, siendo un millón o más un buen número. Con 16 bytes por entrada esto puede ser un problema en sistemas carentes de memoria.

El programa CHESS 4.5 empleaba Tablas de Hash para mantener los resultados de computaciones de alto costo que raramente cambiaban en valor o alternancia entre un pequeño numero de posibilidades :

Indexando sólo la posición de los peones esta tabla requiere poco espacio y dado que hay pocos movimientos de peones esta cambia muy poco, con decir que el 99%de las posiciones resultan en una incluida en ella.

Esto puede que no sea muy útil en estos días en que gozamos de muchos ciclos de CPU, pero la lección es muy valiosa: medidas de preprocesamiento pueden salvar mucho cálculo computacional al costo de poca memoria.
next up previous contents
Next: Generación de Llaves de Up: Otros avances desarrollados Previous: Otros avances desarrollados   Índice General
Santiago de Chile, Julio 2003