Professional Documents
Culture Documents
La investigacin del problema de jugar ajedrez, esta pensado para desarrollar tcnicas
que se pueden utilizar para usos ms prcticos. La mquina de ajedrez es un ideal por varias
razones. El problema se define agudamente, en las operaciones permitidas (los movimientos
del ajedrez) y en la meta (jaque mate). Es ni tan simple como lo trivial, ni demasiado difcil para
una solucin satisfactoria. Y una maquina as podra confrontar un openente humano, dando
una medida clara de la capacidad de la mquina en este tipo de razonamiento.
Quizs la consecuencia prctica ms grande de la programacin del ajedrez, viene de
su demostracin de la eficacia del anlisis computarizado. La perfeccin de tcnicas
relacionadas promete avanzar en el diseo de redes, modelamiento qumico e incluso anlisis
lingstico.
La idea de una mquina de ajedrez data desde 1760, cuando el Barn Wolfgang von
Kempelen exhibi el Maezal Chess Automaton en Europa. La mquina, apodada el Turco
porque jugaba usando una marioneta con turbante y bigote, funcionaba al parecer por un
complicado mecanismo en un gabinete inferior. Jug generalmente bien y puso furioso una vez
a Napolen Bonaparte al vencerlo en 19 movimientos. Edgar Allan Poe, entre otros,
conjeturaba ms adelante que el secreto del Turco era un diminuto maestro de ajedrez que
hacia las movidas desde un compartimiento secreto pero Poe cit una razn incorrecta: l
argumentaba que las prdidas ocasionales del Turco eran inconsistentes con la perfeccin de
una mquina verdadera.
Alan M. Turing, el matemtico britnico, informtico y criptgrafo, fue el primero en
considerar el problema de una computadora de ajedrez. l encontr esto fcil, sin embargo,
para realizar su programa de generador de movimientos y de evaluacin de posiciones lo hizo
a mano y no por computadora. Konrad Zuse en Alemania y otros trabajadores hicieron
esfuerzos similares, pero el trabajo fundamental fue hecho por Shannon. l construy sobre
los descubrimientos de John von Neumann y Oskar Morgenstern, quienes, en su teora general
de juegos, haban ideado un algoritmo llamado del MINIMAX, por el cual puede ser calculado
el mejor movimiento. El proceso representa bsicamente un nmero arbitrariamente grande de
posiciones que pudieron resultar de cada serie posible de movimientos, les asigna una cuenta
numrica y trabaja al revs esta informacin para derivar el mejor primer movimiento. Esto
comienza cuando un generador de movimiento calcula todos los movimientos que la
computadora pudo jugar desde la posicin actual, despus de todas las respuestas posibles
del oponente y as sucesivamente. Cada paso a lo largo de la cadena de eventos se llama un
medio movimiento en la jerga del ajedrez o una capa en la terminologa de la informtica.
Cada capa nueva en el rbol de ramificacin del anlisis abarca aproximadamente 38
de anchura (el nmero de movimientos en una tpica posicin de ajedrez) al igual que el
anterior, o 6 de anchura si se esta usando la poda-alfa-beta. La mayora de las posiciones por
lo tanto residen en los brotes exteriores del rbol, de los cuales el rbol crece hasta el fin del
juego o el tiempo asignado por la computadora se agota. Una funcin de evaluacin entonces
anota cada posicin final, asignando quizs un "1" a un jaque mate al oponente, un 1" a un
jaque mate por el oponente y un "0" a un empate. Ventajas ms matizadas se pueden tambin
colocar y balancear contra uno y otro. La computadora puede, por ejemplo, contar los valores
materiales (los peones o piezas) y calcular valores posicinales de acuerdo a los parmetros
que representan la posicin de la pieza, estructura de peones, la ocupacin de una lnea
vertical sin obstculo de los cuadrados, el control del centroetc.
Uno puede consolidar el juego de una computadora mejorando su capacidad en la
bsqueda o refinando su juicio posicional. El juego sin defectos resultara si una computadora
pudiera generar todos los juegos posibles y clasificar las posiciones finales como dar jaque
mate a o darse jaque mate, o ni unos ni otros. Tal computadora podra sorprender a su
oponente en el primer movimiento anunciando, el "blancas juegan y jaque mate en 137
movimientos," o, alternativamente renunciando la posicin sin esperanza. Tal anlisis
exhaustivo es fcil en los juegos tan simples como el tic-tac-toe pero impracticable en el
ajedrez, en el cual 10.120 juegos discretos son posibles. El juego igualmente perfecto podra
ser obtenido de una reexaminacin de una sola capa, con tal que la evaluacin posicional fuera
tan buena como sa obtenida de una reexaminacin de solamente una capa, con tal que la
evaluacin posicional fuera tan buena como esa graciosa declaracin de Richard Reti cuando
dijo que l vio solo un movimiento antes que el mejor.
Muchas pretensiones estaban lejos de las mentes de los primeros programadores de
ajedrez, que eran incluso incapaces de programar las mquinas para observar las reglas del
ajedrez hasta 1958. Otros ocho aos pasaron antes de MacHack-6, un programa escrito por
Richard D. Greenblatt del Instituto de Tecnologa de Massachusetts, se convirti en la primera
computadora capaz de alcanzar el estndar de los jugadores medios de los torneos.
Como el nmero de personas desarrollando programas de ajedrez se incrementaba,
ellos se dividieron en dos campos filosficos. Llammoslos el campo de la emulacin y el
campo de la ingeniera. El primero afirmaba que las computadoras del ajedrez deben jugar
como lo hacen los seres humanos, quizs por medio de razonamiento explcito sobre
decisiones de movimiento. El ltimo tom una visin menos restrictiva, discutiendo qu lo que
funcionaba bien para los seres humanos pudiera no ser aplicable a las computadoras. El
campo de la emulacin tena mas que decir en los primeros das, cuando la computadora de
ajedrez era ms una cuestin de teora que de prctica.
En los aos 70 el campo de la ingeniera lleg a la etapa central cuando la profundidad
de la bsqueda encontr correlacionarse casi linealmente con la clasificacin del programa.
Cada capa adicional agreg cerca de 200 puntos de clasificacin a la fuerza de la
computadora. Los programadores por lo tanto han apuntado al acceso de computadoras ms
rpidas y buscado trucos de ingeniera para exprimir bsquedas ms profundas usando el
poder de proceso disponible.
El manejo de la bsqueda es la mitad de la batalla. Muy en el inicio de la programacin
del ajedrez, las rutinas de bsqueda generaron posiciones con prcticamente ningn
discernimiento. Trataron variaciones de transposicin que conducen a las mismas posiciones
como si ellas fueran distintas. Tal innecesaria cuenta doble ahora es evitada no perdiendo de
vista las posiciones en arreglos de memoria conocidos como tablas de hashing. Las tablas de
hashing proporcionaron una ventaja incluso mayor ayudando al algoritmo alfa-beta a podar
muchas lneas irrelevantes del juego.
El problema ms grande de una bsqueda es saber dnde terminan estas
innumerables ramas. Uno no puede examinar todas las lneas indefinidamente, sino que uno
quisiera por lo menos evitar cortar anlisis en posiciones inestables. Tales posiciones resultan
cuando hay anlisis en el medio de un intercambio de piezas. Suponga, por ejemplo, la
computadora busca exactamente ocho capas adelante en todas las lineas y descubre una
posicion en la cual puede ganar un caballo a cambio de un pen. Incluso si el movimiento ms
prximo permite al oponente recuperar al caballo, la computadora se dirigir tenazmente hacia
la ventaja material ilusoria.
Esto llamado tambin efecto horizonte puede hacer a las computadoras confiar en una
forma ajedrez suicida no visto incluso en los jugadores humanos ms dbiles. Como cado del
cielo y por ninguna razn al observador ingenuo, la mquina empezar a tirar sus peones y
piezas, saliendo de su posicin en arapos. Para reducir la ocasin de tales errores,
virtualmente todos los programas ahora agregan una etapa de la bsqueda de la quiescence a
la bsqueda bsica. Tales bsquedas examinan tpicamente solamente secuencias de
capturas de peones y piezas hasta hasta lograr encontrar una estable, o quiescence, posicin
que es conveniente para la evaluacin esttica.
Hsu tom acciones drsticas para tener este componente listo a tiempo: l decidi que
el motor ignorara algunos aspectos bsicos del ajedrez: enrocado del rey, estafar (rook) y la
repeticin de posiciones. (Cualquier jugador puede exigir un empate demostrando que una
posicin se ha repetido tres veces, con el mismo jugador que mueve en cada caso.) Para
compensar las omisiones, se adopt una hbrida estrategia de bsqueda en donde las primeras
capas eran buscadas en un servidor que consideraba el enroque y la repeticin de posiciones.
Las ultimas capas, qu claro correspondieron a la mayora de las posiciones, eran analizadas
en el motor.
No tenamos ningn presupuesto y creamos nuestra primera mquina, ChipTest,
usando partes de otros proyectos. El valor de todos los componentes no excedi $500 o
$1,000, el costo estimado del chip DARPA-funded esta tomado en cuenta. Pero ni el motor ni el
software del servidor fueron completamente debugueados a tiempo para el campeonato, y la
maquina defectuosa simplemente logro obtener un resultado parejo. Aun as no era un mal
resultado para 7 semanas de trabajo. Nosotros aprendimos mucho de este debut. Hsu observ,
por ejemplo, que dos otros programas haban jugado en lneas en que cada movimiento podra
forzarse y donde ninguno de los dos lados saba el resultado por adelantado. En otras
palabras, el programa que surgi con la posicin buena cedi su ventaja a la suerte. Hsu
propuso remediar el defecto con lo que l llam el algoritmo de extensin singular. El algoritmo
parece ms profundo, es decir, extiende la bsqueda a mayores profundidades, en lneas
dnde la computadora ve slo una sola jugada buena. La meta es asegurar esas posiciones
crticas y tener una atencin particularmente cuidadosa.
Cuando un lado est a punto de ganar, digamos, alfil entrampado, el defensor
normalmente tiene menos y menos jugadas buenas, son ms procedimientos de bsqueda en
profundidad. Hacia el final hay slo una jugada buena, despus de que el alfil est finalmente
perdido. En ese caso volvemos a extensin singular. En un juego, permiti a la computadora
asustar a un maestro anunciando mate en 19 movimientos. Anantharaman, la nica persona
que entendi el cdigo que l haba escrito para el computador servidor de ChipTest, program
el algoritmo de la extensin singular slo. Entretanto Hsu complet el microcode, las
instrucciones que controlan el hardware en su nivel ms elemental. Investigando entre 400,000
y 500,000 posiciones por segundo, ChipTest gan el North American Computer Chess
Championship de 1987 en un barrido limpio, derrotando, entre otros, a la mquina campeona
mundial, Cray Blitz. As acabado el reino de pura fuerza bruta. Actualmente, casi todos los
programas superiores incorporan por lo menos algunos elementos de la bsqueda selectiva.
Nuestro trabajo deja en claro que el hardware de ChipTest podra acelerarse y que la
bsqueda pudiera manejarse ms inteligentemente. Con el consejo de Hsu, H. T. Kung dio casi
$5,000 para este nuevo tentativo proyecto llamado Deep Thought.
La versin bsica del motor de ajedrez de Deep Thought contiene 250 chips,
incluyendo 2 procesadores, que estn enchufados a una placa de circuito simple que mide
cerca de la mitad del largo de esta revista. El motor es manejado por un programa tambin
llamado el software del servidor, que corre en una estacin de trabajo (workstation). Los
procesadores de la mquina tienen la velocidad escasamente ms alta que ChipTest, pero el
control mejorado del algoritmo de la bsqueda les permite buscar 30 por ciento ms
eficientemente.
El hardware de evaluacin tiene cuatro componentes. Una evaluacin de posicin de
una pieza (la nica herencia de ChipTest) asigna puntajes a las piezas segn su posicin
central, su movilidad y otras consideraciones. Una evaluacin de estructura de pen, asigna
puntajes a los peones segn parmetros como su apoyo mutuo, su control del centro del
tablero y la proteccin del rey. Una evaluacin del pasar-pen considera peones que no son
bloqueados por los peones del enemigo y pueden adelantarse por consiguiente a la octava
lnea y promoverse a reinas. Una evaluacin de estructura de archivo asigna los valores a las
configuraciones ms complicadas de peones y estafar (rook) en un archivo particular.
Las visiones inhumanas de la mquina eran quizs la razn detrs de la decisin del
gran maestro Kevin Spraggett para tomar a la mquina como un ayudante para prepararse
para el partido de cuartos de final del World Championship con el gran maestro Artur Yusupov.
La participacin de la mquina no tena efecto discernible en el partido, pero estableci un
precedente interesante. En octubre de 1989 una versin experimental de Deep Thought de seis
procesadores jugo un partido de exhibicin de 2 juegos contra Kasparov en New York City.
Aunque la nueva versin era capaz de investigar ms de dos millones de posiciones por
segundo, Kasparov se deshizo bastante fcil de l. El resultado no fue tan no esperado, pero el
juego de Deep Thought era algo decepcionante.
Este pasado febrero, el Deep Thought jug un juego de exhibicin contra Anatoly
Karpov, el campen del mundo anterior y el desafiador de Kasparov en el partido por el titulo
de 1990 (qu empieza en New York City en octubre y concluye en Lyons, Francia). Defectos
que aparecieron en el software experimental en las versiones de seis y cuatro procesadores,
nos llevaron a revertirnos a la versin de dos procesadores. El Deep Thought, beneficiado de
varias mejoras en su funcin de evaluacin, jug uno de sus mejores juegos en los primeros 50
movimientos, entonces se equivoc una clara posicin de empate. Una versin estable de los
seis procesadores habra tenido bastante velocidad para evitar la equivocacin.
La velocidad es la llave para trabajar bajo la manera de IBM Thomas J. Watson
Research Center, donde la mquina de la prxima generacin est disendose ahora.
Debera sobrepasar a sus antecesores por un factor de al menos 1,000. La mquina que
nosotros tenemos en la mente examinar por consiguiente ms de mil millones de posiciones
por segundo, bastante para investigar 14 o 15 capas profundamente en la mayora de los
casos y de 30 a 60 capas en lneas forzadas. Si la relacin observada entre procesar la
velocidad y fuertes jugadas de ocupacion, la mquina de la prxima generacin jugar a un
nivel de 3400, aproximadamente 800 puntos superior al actual Deep Thought y 500 puntos
sobre Kasparov.
Para lograr esta velocidad, Hsu est diseando un especfico chip procesador de
ajedrez que se proyecta para investigar 3 millones de movimientos por segundo, ms de tres
veces ms rpido que el Deep Thought actual. l tambin est diseando un sistema
altamente paralelizable que combinar el poder de 1,000 de tales chips, para una ganancia
extensa de por lo menos 300 capas. Anantharaman y Campbell estn mejorando varios
aspectos de la versin actual de Deep Thought, para que estas mejoras tambin puedan
incorporarse en la prxima mquina. Nowatzyk est siguiendo otros intereses.
Nosotros creemos que el sistema ser bastante potente, en virtud solo de su velocidad,
para montar un desafo serio al campen mundial. Nosotros creemos que la suma de una larga
lista de otras mejoras planeadas permitir a la mquina prevalecer, quizs tan pronto como
1992.
Kasparov difiere, y nosotros respetamos su opinin. En una comunicacin privada, l a
reconocido que una mquina que investiga un 1000 millones de posiciones por segundo podra
derrotar la carrera de gran maestro, entonces agreg, "Pero no Karpov y yo! Kasparov
contendi que los mejores jugadores deben poder prepararse para aprovechar las debilidades
especiales presentadas por las mquinas. l sostuvo que esa creatividad del humano e
imaginacin, en particular su creatividad e imaginacin, deben triunfar ciertamente encima del
silicio y el alambre.
Cuando las dos opiniones chocan sobre el tablero, la ingeniosidad de un individuo
sumamente talentoso se destrozar contra el trabajo de generaciones de matemticos, de
informticos y de ingenieros. Nosotros creemos que el resultado no revelar si las maquinas
puede pensar sino si el esfuerzo humano colectivo puede eclipsar los mejores logros de los
seres humanos ms capaces.
Lectura Adicional
BELLE. J. H. Condon and Ken Thompson in Chess Skill in Man and Machine. Second
Edition. Edited by P. W. Frey. Springer-Verlag, 1984.
Los Autores
FENG-HSIUNG HSU, THOMAS ANANTHARAMAN, MURRAY CAMPBELL y ANDREAS NOWATZYK Construyeron Deep Thought, la principal maquina de ajedrez del mundo,
mientras completaban doctorados en varios campos de ciencias de la computacin en la
Universidad de Carnegie-Mellon. Hsu, Anantharaman y Campbell se han unido a IBM Thomas
J. Watson Research Center; Nowatzyk est con Sun Microsystems. Hsu empez el proyecto,
trabaj en l a jornada completa y actu como el arquitecto del sistema. l recibi un B.S. en
ingeniera elctrica de la Universidad Nacional de Taiwn. Anantharaman escribi la mayora
del software del servidor y varios algoritmos. l recibi un B.S. en ingeniera elctrica en la
Banaras Hindu University en India. Campbell mantuvo el ajedrez de libro abierto y escribi el
software de precomputation para la funcin de evaluacin. l recibi B.S. y M.S. los grados en
ciencias de la computacin de la Universidad de Alberta. Nowatzyk dise y llev a cabo la
afinacin automtica de la funcin de evaluacin. l recibi diplomas en fsicas y ciencias de la
computacin en la Universidad de Hamburgo en Alemania Oriental.