next up previous contents
Next: Algunas conclusiones al respecto Up: Representación del Juego - Previous: De vuelta a los   Índice General

Generando Movimientos a nivel de Hardware

El avance a nivel de software que significó la utilización de bitboards tuvo su complemento con la creación de hardware dedicado para esta función específica.

El primer hardware de propósito especial para ajedrez fue desarrollado en 1976. Dado que la mayor parte del tiempo consumido en los programas de ajedrez era la generación de movimientos era inevitable el hecho de que este proceso pasaría a nivel de hardware. La idea era dar a un generador de movimientos a nivel de hardware una posición y obtener una lista de movimientos (en la misma forma en que un hardware de multiplicación recibe dos números y entrega un producto). Luego de la generación de movimientos el programa podía concentrarse en la búsqueda y evaluación de posiciones.

En 1976 Joe Condon y Ken Thompson desarrollaron un prototipo de hardware generador de movimientos para la computadora BELLE [7]. Los resultados a nivel de velocidad de evaluación de posiciones por segundo fueron impresionantemente mejores lo cual hizo que a partir de entonces las mejores computadoras de ajedrez incorporaran a nivel de hardware este proceso.

Programa Año Posiciones/segundo
BELLE    
1er prototipo 1976 200
2do prototipo 1978 5.000
3er prototipo 1980 120.000
CHEOPS 1977 150.000
BEBE 1980 40.000
HITECH 1985 200.000
DEEP THOUGHT 1986 700.000
DEEPBLUE 1996 2.000.000
Tabla: Evolución de la cantidad de posiciones analizadas por segundo en programas de ajedrez


El proceso se mejoró incorporando ordenamiento de los movimientos (lo cual tiene incidencia directa en la búsqueda en profundidad). Este ordenamiento era factible de realizarse por consideraciones cómo capturas, jaques, movidas decisivas, etc.

Ya en 1980 el tercer prototipo de BELLE contenía un generador de movimientos provisto de 64 circuitos transmisores y 64 circuitos receptores correspondientes a las 64 casillas del tablero siendo capaz de generar un ordenamiento basado en la captura de la pieza rival de mayor valor.

En 1985 un grupo de estudiantes de la universidad de Carniege Mellon bajo la supervisión de Hans Berliner desarrollaron un generador de movimientos a nivel de hardware basado en 64 chips con la idea de mejorar aun más la velocidad de evaluación de posiciones de la máquina. Su resultado llegó a la sorprendente cifra de 200.000 posiciones por segundo.

Al año siguiente otro grupo de la misma universidad siguiendo las ideas de BELLE y de HITECH desarrollaron el más fuerte programa de esa década. Inicialmente llamado CHIPTEST en 1988 tomó el conocido nombre de DEEP THOUGHT. Funcionó en una máquina SUN 3 con un generador de movimientos a nivel de hardware basado en tecnología VLSI (Very Large Scale Integration).

El programa alcanzó la espectacular cifra de 700.000 evaluaciones por segundo. De acuerdo a Feng Hsu [8], uno de sus creadores, la ventaja inicial de este programa estuvo en la optimización del diseño a nivel de hardware en la máquina, minimizando la cantidad de chips y transistores, lo cual aumentó considerablemente la velocidad de procesamiento del generador de movimientos. El generador de movimientos de Hsu se basó en un arreglo combinatorial de 8x8 - un elemento por cada casilla del tablero de ajedrez. Operaciones lógicas entre estos elementos describen los movimientos legales para cada pieza, permitiendo al arreglo generar el conjunto entero de movimientos posibles a partir de una posición dada.

Los avances finales en este tema vinieron ligados a la utilización de procesamiento en paralelo. Varios procesadores eran coordinados por un procesador central donde cada uno generaba movimientos correspondientes a una línea de análisis en particular. Las versiones posteriores de DEEP THOUGHT utilizaron esta técnica con mejoras notorias en la capacidad de análisis de posiciones en las máquinas, logrando cifras que superaban el millón de posiciones por segundo.


next up previous contents
Next: Algunas conclusiones al respecto Up: Representación del Juego - Previous: De vuelta a los   Índice General
Santiago de Chile, Julio 2003