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.