Вы находитесь на странице: 1из 14

Ajedrez por computadora

En el siglo XVIII empez a difundirse la idea de crear una computadora capaz de jugar al ajedrez. En el ao 1769,
un jugador de ajedrez autmata llamado El Turco1 se hizo famoso antes de que se descubriera que era un
engao. El espaol Leonardo Torres y Quevedo construy, en 1912, un autmata capaz de jugar al ajedrez,
llamado El Ajedrecista. Despus de aquellos sucesos, el tema del ajedrez mecnico no se volvi a mencionar y
cay en el olvido, hasta la aparicin de la computadora en la dcada de los 50. Desde entonces, los aficionados
del ajedrez y de la ingeniera informtica han construido mquinas y programas que juegan al ajedrez.
Actualmente, las computadoras de ajedrez estn disponibles por un precio insignificante, y hay numerosos
programas (muchos de software libre, como GNU Chess, Amy, o Crafty) que pueden jugar al ajedrez en
cualquierordenador personal y derrotar a jugadores profesionales bajo condiciones de torneo, mientras que
algunos de entre los mejores programas comerciales de ajedrez, como Shredder, Fritz, Rybka o Fruit, han
vencido a muchos jugadores de calibre y varios campeones del mundo en tiempos de control muy cortos
y partidas relmpago.

Origen
Existen varias causas que motivaron la existencia del ajedrez computarizado, como el entretenimiento propio
(pudiendo permitir que los jugadores practiquen y se diviertan cuando no hay ningn oponente disponible),
tambin como herramienta o soporte de anlisis, para competiciones entre computadoras de ajedrez, y como
investigacin o abastecimiento del conocimiento humano.
Sin embargo, y a pesar de la sorpresa de muchos, el ajedrez nos ha enseado muy poco en lo referente a la
construccin de mquinas que proporcionen inteligencia humana, o hacer cualquier otra cosa que no sea jugar
prodigiosamente al ajedrez. Por esta razn, el ajedrez computarizado, as como tambin otros muchos juegos,
como el Scrabble, no tienen un gran inters acadmico para los expertos de la inteligencia artificial, siendo ste
reemplazado por juegos ms intuitivos, como el Go. El funcionamiento de los programas de ajedrez consiste,
esencialmente, en explorar un nmero muy elevado de posibles futuros movimientos y aplicarles una funcin de
evaluacin al resultado, mientras que las computadoras de Go desafan a los programadores a idear nuevos
enfoques y estrategias de juego.
Las tcticas basadas en la fuerza bruta son prcticamente intiles para la mayora de problemas que han
afrontado los investigadores de la IA. El estilo de juego de un programa de ajedrez se diferencia en gran medida
del estilo de juego humano, ya que la eleccin del movimiento a jugar es totalmente distinta. En algunos juegos
de estrategia, las computadoras suelen vencer fcilmente la gran mayora de partidas, mientras que en otros, los
principiantes vencen a las mquinas sin mayor esfuerzo. En el ajedrez, el resultado de la fusin de las habilidades
de los expertos, con los programas de ajedrez, es mayor que el de cualquiera de los dos a solas.

Estrategia contra fuerza bruta


El primer artculo sobre el tema fue escrito por Claude Shannon,2 y publicado en 1950, antes de la existencia de
una computadora que jugara al ajedrez, y predijo acertadamente las dos posibles principales formas de bsqueda
de cualquier programa, a las que nombr de 'Tipo A', y de 'Tipo B'.
Los programas 'Tipo A', ms rudimentarios, utilizaran una bsqueda basada en la "fuerza bruta", los cuales
examinaran todas posibles posiciones de cada rama del rbol de movimientos usando el algoritmo minimax.
Shannon crey que esto sera muy poco prctico por dos razones:

Primero, con aproximadamente 30 movimientos posibles en una posicin tpica de medio juego, Shannon
predijo que buscando las 306 (ms de 700.000.000) posiciones contenidas en los primeros tres movimientos
(de ambos bandos, lo que son 6 plies), tardara aproximadamente 16 minutos, incluso en el caso "muy
optimista" que el programa evaluara un milln de posiciones por segundo. Despus de esta conjetura, se
tard alrededor de 40 aos para conseguir esa velocidad.

Segundo, se ignoraba el problema de la latencia, ya que el programa trata de evaluar la posicin resultante
despus de todo el intercambio de piezas ocurrido durante todos esos movimientos al final de cada rama del
rbol. Los programas de 'Tipo A' funcionan as, pero el inconveniente es que se incrementa enormemente el
nmero de posiciones necesarias para el anlisis, y de este modo el programa se ralentizaba todava ms.

En vez de este gastar la potencia de proceso examinando movimientos malos o triviales, Shannon sugiri que a
los programas tipo B utilizaran una especie de "inteligencia artificial estratgica" para solucionar estos problemas
en los que nicamente se analizaran solo las mejores jugadas de cada posicin, algo parecido a lo que hacen los
jugadores humanos. Esto permitira al programa analizar las lneas significantes de manera ms profunda en un
tiempo razonable.
Adriaan de Groot entrevist a varios jugadores de ajedrez de varios niveles y su conclusin fue que tanto los
grandes maestros como los principiantes calculan aproximadamente cuarenta o cincuenta posiciones antes de
decidir que jugada mover. Lo que realmente diferencia a jugadores expertos de jugadores mediocres es la
habilidad del reconocimiento de patrones, que se va adquiriendo con la experiencia. Esto permite analizar ms
profundamente las mejores lneas y no perder el tiempo con otras peores. Una prueba de ello es que los
jugadores de ajedrez recuerdan muchas de las posiciones jugadas en anteriores partidas y aprenden de la
experiencia, sin embargo, las computadoras no lo tienen tan fcil.
El problema de los programas 'Tipo B' es que se confa demasiado en que el programa puede decidir qu
movimientos son suficientemente buenos para ser dignos de consideracin en cualquier posicin, siendo un
problema mucho ms grave que en programas 'Tipo A' con un hardware de gran velocidad.
Uno de los grandes defensores de las computadoras de ajedrez entre los grandes maestros fue el Campen del
mundo de ajedrez Mijal Botvnnik, que escribi varios trabajos en la materia. Tambin posea un doctorado en
Ingeniera Elctrica. Aunque trabaj con hardware relativamente primitivo en la URSS a principios de los aos
1960, Botvinnik no tuvo la oportunidad de investigar las tcnicas de software de seleccin de movimientos, en ese

momento los ordenadores ms potentes podan conseguir tres plies por bsqueda y Botvinnik no tena tales
mquinas. En 1965Botvinnik fue consejero en el quipo ITEP en el match de computadoras EEUU-URSS.
En 1973, la Universidad de Northwestern, encargada de la creacin de programas de Tipo B, dej de
programarlos, pasando al bando de los programas de Tipo A. Fue la creadora de una varios de programas de
ajedrez que ganaron los primeros tres torneos ACM Computer Chess Championships (1970-1972). El programa
de Tipo A resultante fue "Chess 4.0", ganador del torneo ACM durante 5 aos seguidos, adems de inaugurar
uno de los campeonatos ms importantes, el World Computer Chess Championship (WCCC).
Una de las razones por las que realizaron el cambio fue porque encontraban a los programas de Tipo B poco
estimulantes durante los torneos, ya que es muy difcil predecir lo que van a mover, y mucho menos el por qu.
Otra razn fue que en los programas de Tipo A era mucho ms fcil detectar los fallos del programa y depurarlos,
y lograron hacer de l un programa lo suficientemente rpido: en el tiempo que solan tomar para decidir los
movimientos que eran dignos de ser buscados, era posible nicamente buscar todos ellos.
De hecho, Chess 4.0 estableci un paradigma que era y contina utilizndose en todos los programas de ajedrez
actuales. Los programas tipo Chess 4.0 ganaban por la simple razn que sus programas simplemente jugaban un
mejor ajedrez. Tales programas no intentaban imitar los procesos de pensamiento humanos, pero confiaban
completamente en bsquedas alfa-beta y Negascout. Muchos de tales programas (incluyendo todos los
programas actuales) tambin incluyen una parte selectiva bastante limitada de la bsqueda basada en bsquedas
latentes y normalmente extensiones y podado (particularmente podado de movimientos nulos desde los aos
1990) que eran lanzadas basadas en ciertas condiciones en un intento de eliminar o reducir los movimientos
malos obvios (histricos de movimientos) o investigar nodos interesantes (p.ej. comprobacin de
extensiones, peones pasados en la sptima fila, etc). Sin embargo, los lanzamiento de extensin y poda tienen
que utilizarse con mucho cuidado. Si se sobrextiende el programa gastan demasiado tiempo analizando
posiciones sin inters. Si se poda demasiado, hay riesgos de cortar nodos interesantes. Los programas de
ajedrez difieren en trminos de cmo y qu tipos de reglas de poda y extensin se utilizan as como de la funcin
de evaluacin. Se cree que algunos programas son ms selectivos que otros (por ejemplo Deep Blue se sabe que
es menos selectivo que muchos programas comerciales porque poda permitirse hacer ms bsquedas
completas), pero todos tienen una base de bsquedas como fundamento y todos tienen componente selectivos
(bsqueda-Q, poda/extensiones).
Aunque tales adiciones significa que el programa realmente no examinara cada nodo dentro de la profundidad de
bsqueda (de tal manera que no sera realmente fuerza bruta en ese sentido), los extraos errores debidos a
estas bsquedas selectivas se encuentra que consumen en tiempo extra que es ahorrado debido a que se podra
aumentar la profundidad. De esa manera los programas de ajedrez pueden obtener lo mejor de ambos mundos.
Adems, el desarrollo y los avances tecnolgicos hicieron que el sistema de fuerza bruta continuara en alza y se
intensificara mucho ms en los aos 90. El resultado ha sido la creacin de programas mucho ms slidos, con
una IA tctica realmente asombrosa, programas mucho ms exactos sin apenas errores, y conducidos hacia el
lmite de su profundidad de bsqueda. Esto ha producido resultados extraordinarios, por lo menos en lo referente
al ajedrez, dejando que las computadoras hagan lo que mejor saben hacer, calcular, en vez de intentar emular la
inteligencia y conocimiento humanos. En 1997, Deep Blue, una computadora de Tipo A, derrot al Campen del

Mundo Garry Kasparov, siendo la primera vez que una computadora derrotara al campen del mundo en tiempos
de control de torneo.
Sin embargo, a finales de los aos 1990, los programadores empezaron a preferir los programas de Tipo B, y
empezaron a sustituir a los de Tipo A. En 1998 se publica Rebel 10, un programa comercial de Tipo B, quien
derrot a Viswanathan Anand por 5-3, y se proclam el segundo motor de ajedrez ms fuerte del mundo aquel
ao. Cabe decir que de las cuatro partidas de ajedrez rpido (tiempo de control: 5 min + 5 s por jugada) que se
jugaron, Rebel gan 3 de ellas, en las dos partidas semirrpidas, quedaron 1.5-0.5 a favor de Rebel, y en la
partida con tiempo de control ms largo (40/2:00, 1 hora), fue Anand quien venci. De esto se puede deducir que
las computadoras juegan mejor que los humanos en tiempos de control ms rpidos, pero que la fuerza de los
jugadores se mide con tiempos de control ms largos, donde Anand demostr que los humanos siguen siendo
mejores.3
A principios del Siglo XXI surgieron nuevos programas de ajedrez comerciales, como Deep Junior, o Fritz,
quienes lograron empatar a los campeones del mundo Garry Kasparov y Vladmir Krmnik. En el 2005, Hydra,
una computadora de ajedrez del Tipo B, derrot al mejor jugadorbritnico y sptimo mejor clasificado del
mundo, Michael Adams, en un encuentro de seis partidas con un contundente resultado: 5.5 - 0.5 a favor de
Hydra.4

Computadoras contra humanos


En 1968, el MI David Levy realiz una famosa apuesta, en la cual afirmaba que ninguna computadora de ajedrez
sera capaz de derrotarle en diez aos, bajo condiciones de torneo. Gan la apuesta en 1978, venciendo por 3'51'5 en un match de cinco partidas a la computadora ms fuerte por aquel entonces, Chess 4.7, y llevndose 1250
libras, aunque reconociendo que dentro de poco tiempo le superaran. En 1989, Levy no pudo superar a Deep
Thought, derrotndole en una partida de exhibicin. Sin embargo, durante un largo perodo en los aos 1970 y
los aos 1980permaneca la pregunta abierta de si un programa de ajedrez podra derrotar al ms experto de los
humanos.
Sin embargo, Deep Thought no estaba todava a la altura de los mejores ajedrecistas del mundo, y en 1989 as lo
demostr Garry Kasparov en dos ocasiones, hasta que por fin, en 1996, la computadora Deep Blue de IBM logr
que Kasparov perdiera su primera partida contra una computadora en tiempos de control de torneo, es ms, era
la primera vez que una computadora derrotaba a un campen del mundo con ritmo de juego lento. Sin embargo,
despus Kasparov consigui vencer tres y empatar dos de las cinco ltimas partidas, logrando la victoria sobre la
computadora por 4-2.5
En mayo de 1997, una versin mejorada de Deep Blue derrot a Kasparov en un encuentro de 6 partidas por 3'52'5,6 originando un gran debate sobre si el jugador ms fuerte por aquel entonces era una mquina.
Posteriormente se deca que IBM haba hecho trampas utilizando un jugador humano durante la partida para
incrementar la fuerza estratgica de la computadora. En 2003 se realiz un documental centrado en la
confrontacin, titulado Game Over: Kasparov and the Machine. IBM contina teniendo una pgina web del evento.
Aunque no fue un campeonato del mundo oficial, el resultado del match frecuentemente se considera que el

jugador ms fuerte del mundo es una computadora. Tal reivindicacin es un gran debate abierto, ya que es difcil
de organizar un verdadero match limpio hombre-mquina. Se ve como injusto que los jugadores humanos tengan
que ganar su ttulo en torneos que les enfrentan a un variado conjunto de estilo de oponente, mientras que las
computadoras son ocasionalmente optimizadas para el oponente actual. Tambin, al contrario que el contrincante
humano, las computadoras tienen acceso a grandes bases de datos de aperturas y finales.

Posicin Final de la Partida 1, Deep Blue vs. Kasparov, 1996

IBM desmantel a Deep Blue despus del match y no ha vuelto a jugar desde entonces. Sin embargo, se han
seguido jugando matches entre humanos y computadoras. Con el incremento de la potencia de procesado, los
programas de ajedrez ejecutndose en ordenadores normales empiezan a ser rivales para los jugadores ms
fuertes del mundo. En 1998, Rebel 10 derrot a Viswanathan Anand que en ese momento estaba clasificado en el
segundo lugar del mundo, con un marcador de 5-3. Sin embargo, algunas de estas partidas no se jugaron con
controles de tiempo habituales. De las ocho partidas, cuatro fueron partidas rpidas (cinco minutos ms cinco
segundos de retraso Fischer para cada movimiento) que gan Rebel por 3-1. Hubo dos partidas semi-rpidas
(quince minutos para cada bando) que Rebel gan tambin (1.5-0.5). Finalmente se disputaron dos partidas
lentas (cuarenta jugadas para dos horas y una hora ms a finish) que gan Anand por 0.5-1.5.7 Al menos en las
partidas rpidas las computadoras juegan mejor que los humanos pero en controles de tiempo clsicos, en los
que se determina la clasificacin de un jugador, la ventaja no est tan clara.
A principios de los aos 2000, los programas comercialmente disponibles como Junior y Fritz eran capaces de
entablar matches contra el campeon del mundo Garry Kasparov y el campen del mundo de ajedrez
clsico Vladmir Krmnik:

En octubre de 2002, Vladmir Krmnik se enfrent a Deep Fritz, en un encuentro de ocho partidas
en Bahrain, el cual finaliz con empate. Kramnik gan las partidas 2 y 3 con tcticas anti-computadora
convencionales (jugando conservadoramente para tener una ventaja a largo plazo que la computadora no es
capaz de ver en su rbol de bsqueda). Fritz, sin embargo, hizo lo propio en la 5 despus de un severo error
de Kramnik. La sexta partida fue calificada por los comentaristas del torneo como "espectacular". Kramnik,
que tena ventaja al iniciarse el medio juego, sacrific una pieza para lograr una buena posicin tctica, este
tipo de sacrificios son muy arriesgados contra computadoras que son muy fuertes defendindose contra tales
ataques. En efecto, Fritz encontr una slida defensa al ataque de Kramnik, dejndole en una mala posicin.

Kramnik se rindi, creyendo que la partida estaba perdida. Sin embargo, el anlisispost-mortem demostr
que Fritz tena pocas posibilidades de forzar una victoria y que Kramnik efectivamente desperdici una
posicin de tablas. Las dos ltimas partidas acabaron en tablas. Dadas las circunstancias, muchos
comentaristas siguen dando a Kramnik como el jugador ms fuerte del match.

En enero de 2003, Garry Kasparov jug contra Junior, otro programa de ajedrez, en Nueva York. El match
termin 3-3. En noviembre de 2003, Garry Kasparov jug contra X3D Fritz. El match termin 2-2.

En 2005, Hydra, una computadora de ajedrez dedicada con hardware personalizado y sesenta y cuatro
procesadores, que es capaz de calcular 40 millones de posiciones por segundo, ganadora del 14 IPCCC
en 2005, gan a Michael Adams (sptimo en las listas mundiales) con un contundente 5.5-0.5. Aunque la
preparacin de Adams estaba lejos de la de Kramnik en 2002. Algunos comentaristas8 crean que Hydra ser
definitivamente claramente superior a los mejores jugadores humanos o si no lo ser su directo sucesor. El
encuentro tuvo lugar en el centro de conferencias de Wembley (Londres).
En Noviembre-Diciembre de 2006, el Campen del Mundo Vladmir Krmnik jug contra Deep Fritz. Esta vez
gan la computadora por 2-4.
En marzo de 2007, Nueva Jersey, el GM Jaan Ehlvest (2610) se enfrent al mdulo Rybka (3020 elo aprox.),
finalizando 2.5 - 5.5 a favor de Rybka.9

Tablas de finales
Las computadoras, desde sus inicios, analizaban completamente las posiciones de los finales. Las bases de
datos de finales10 estn generadas por adelantado usando el anlisis retrospectivo, empezando con posiciones
donde el resultado final es conocido (por ejemplo en posiciones donde un bando ha ganado por jaque mate), y
analizar qu movimientos han conducido a la combinacin final de piezas. Ken Thompson, ms conocido por ser
uno de los creadores del sistema operativo UNIX, fue uno de los pioneros en este tema.
Durante mucho tiempo, los programas de ajedrez tuvieron graves problemas al jugar los finales, y eran muy
dbiles en dicho tramo de la partida, debido a la necesidad de una alta profundidad de bsqueda. Con distintos
programas de alto nivel fueron incapaces de vencer en posiciones que cualquier humano de nivel intermedio sera
capaz de ganar.
A veces, los resultados de los anlisis de las computadoras sorprenden a las personas. En 1977, Belle, la
mquina de ajedrez de Ken Thompson, usando la tabla de finales KQKR, logr empatar una posicin, en teora
perdida, de Rey y Torre contra Rey y Dama, contra varios jugadores norteamericanos profesionales.
Muchos Grandes Maestros rehusaron jugar contra la computadora en los finales de dama contra torre,
pero Walter Browne acept el desafo. En la partida se produjo un final de dama contra torre, donde la dama
poda ganar en treinta movimientos, con un juego perfecto. Browne dispona de dos horas y media para jugar
cincuenta movimientos. Despus de cuarenta y cinco movimientos, Browne acept las tablas, siendo incapaz de
forzar el mate o ganar la torre en los siguientes cinco movimientos. En la posicin final, Browne estaba todava a

diecisiete movimientos de conseguir el jaque mate, pero no muy lejos de capturar la torre. Browne analiz el final,
y jug contra la computadora una semana ms tarde. Esta vez, captur la torre en el movimiento cincuenta,
finalizando con una posicin ganadora.
Los avances en las tablas de finales de Ken Thompson, produjeron que a principios de los aos 80, se cambiara
la regla de los cincuenta movimientos, al demostrar que ciertos finales necesitaban ms de cincuenta
movimientos para poder vencer, como el final de rey, torre y alfil, contra rey y torre.
Con el paso del tiempo se han ido publicando otros formatos de bases de datos de finales, incluyendo la base de
datos Edward, la base de datos De Koning (publicada en 2002) y las Bases de Datos Nalimov, que es el formato
ms utilizado en la actualidad, soportado por la mayora de los programas de ajedrez como Shredder y Fritz. Casi
todos los finales de seis o menos de seis piezas, y varios de siete piezas, han sido analizados por completo.
Las bases de datos se crean almacenando en la memoria valores de las posiciones, y usando estos resultados
para podar los finales de los rboles de bsqueda si surgieran de nuevo. Aunque el nmero de posibles partidas
despus de que un nmero de movimientos aumente exponencialmente con el nmero de jugadas, el nmero de
las posibles posiciones con unas pocas piezas es exponencial solamente en el nmero de piezas - y eficazmente
limitado, sin embargo algunas jugadas de los finales son analizadas. El tener que recordar el valor de todas las
posiciones obtenidas con anterioridad significa que el factor limitante para resolver finales se reduce simplemente
a la cantidad de memoria disponible en el ordenador. Es por ello que mientras los tamaos de las memorias de
los ordenadores continen aumentando, no hay razn para creer que los finales de elevada complejidad no
continen resolvindose.
Una computadora que usa estas bases de datos va, al alcanzar la posicin en ellas, a poder jugar perfectamente,
e inmediatamente determinar si la posicin acaba en victoria, derrota, o tablas. El conocimiento de si la posicin
acaba en victoria, derrota, o tablas, tambin es til de antemano, puesto que puede ayudar a la computadora a
evadir o encaminarse hacia dichas posiciones dependiendo de la situacin.
Las tablas de finales tomaron gran importancia en 1999, cuando Kasparov jug una partida de exhibicin
en Internet contra el Resto del Mundo, en la cual hubo cierta polmica.11 En dicha partida llegaron a un final de
siete piezas, Reina y Pen, cuando el Resto del Mundo intentaba conseguir unas tablas. Eugene
Nalimov colabor generando el final de seis piezas cuando ambos bandos tenan dos Reinas, lo cual ayud en
gran medida al anlisis.

Cuestiones de implementacin de computadoras de ajedrez


Los desarrolladores de sistemas de computadoras de ajedrez tienen que decidir varias cuestiones de
implementacin fundamentales. Estas son:

Representacin del tablero: cmo se representa una posicin simple en estructuras de datos.

Tcnicas de bsqueda: cmo identificar los posibles movimientos y seleccionar los ms prometedores para
examinarlos posteriormente.

Evaluacin de hojas: cmo evaluar el valor de una posicin del tablero, si no se hace una bsqueda
posterior.

Los programadores tambin necesitan decidir si utilizarn bases de datos de finales u otras optimizaciones y a
menudo implementar estndares de ajedrez comunes de facto.

Representacin del tablero


Artculo principal: Representacin del tablero (Ajedrez).

La estructura de datos utilizada para representar cada posicin de ajedrez es clave para el rendimiento de la
generacin de movimientos y la evaluacin de posiciones. Los mtodos incluyen el almacenamiento de las piezas
en un array, las posiciones de las piezas en una lista ("lista de piezas"), colecciones de conjuntos de bits para la
localizacin de piezas y posiciones codificadas con codificacin Huffman para compactar el almacenamiento a
largo plazo.

Tcnicas de bsqueda
Los programas de ordenador de ajedrez consideran los movimientos como un rbol de juego. En teora, examinan
todos los movimientos y entonces todos los contramovimientos a stos y despus todos sus respectivos
contramovimientos, y as sucesivamente, donde cada movimiento individual se llama "hebra" o "ply". Esta
evaluacin contina hasta que llega a una "hoja" final que es evaluada.
Sin embargo, una implementacin simplista de esta tcnica nunca se terminara en una cantidad de tiempo
prctica, como consecuencia de esto se han ideado varios mtodos para aumentar la velocidad de bsqueda
para buenos movimientos.
Para ms informacin, ver:

Algoritmo minimax

Podado alfa-beta

Heurstica asesina

IDDFS

Heurstica de movimiento nulo

Reducciones de movimiento tardo

Evaluacin de hojas
Para muchas posiciones de ajedrez, los ordenadores no pueden considerar todas las posibles posiciones. En vez
de ello, tienen que seguir unas cuantas hebras y entonces evaluar la posicin final en el tablero. El algoritmo que
evala las posiciones finales se denomina funcin de evaluacin y estos algoritmos frecuentemente son
enormemente diferentes entre los distintos programas de ajedrez.
Las funciones de evaluacin tpicamente evalan posiciones en centsimas de pen y consideran el valor del
material junto con otros factores que afectan la fuerza de cada bando. Cuando se cuenta el material de ambos

bandos, los valores tpicos para piezas son 1 punto para un pen, 3 puntos para los caballos y los alfiles, 5 puntos
para las torres y 9 puntos para una dama. Por convencin, una evaluacin positiva favorece a las blancas y una
negativa a las negras.
Al rey algunas veces se le da un valor arbitrario alto como 200 puntos (artculo de Claude Shannon) o 1.000.000
de puntos (programa de la URSS de 1961) para asegurar que un mate sobrepasa al resto de factores. Las
funciones de evaluacin tienen en cuenta muchos factores, como laestructura de peones, la pareja de alfiles, la
centralizacin de las piezas, etc. Tambin se suele considerar la proteccin del rey, as como la fase en la que se
encuentra la partida (apertura, medio juego o final).

Utilizando bases de datos de finales


Algunos operadores de computadoras de ajedrez han apuntado que las bases de datos de finales tienen el
potencial de debilitar el rendimiento en computadoras de ajedrez si se utilizan incorrectamente. Como algunas
posiciones son analizadas como victorias forzadas por un bando, el programa evitar las posiciones del bando
perdedor a toda costa. Sin embargo, muchos finales slo son forzados con un juego muy preciso, donde incluso
un ligero error producira un resultado diferente. Consecuentemente, muchas mquinas modernas jugarn
muchos finales suficientemente bien para sus propios intereses. Un sntoma de este problema es que los
ordenadores pueden abandonar demasiado pronto porque ven que estn siendo forzados en una posicin que
est perdida tericamente (aunque pueden estar a treinta o ms movimientos del final de la partida y a muchos
oponentes humanos les costara mucho ganar en ese tiempo). Esta observacin slo es relevante cuando un
programa de ordenador est en una situacin donde tiene que elegir entre dos movimientos perdedores, uno de
los cuales de hecho es ms difcil para el oponente, pero condice a una posicin en la base de datos con un valor
conocido y es incluso de mucha menor importancia.
Las bases de datos de Nalimov no consideran la regla de los cincuenta movimientos, en la que una partida donde
pase cincuenta movimientos sin una captura o sin mover un pen pueda ser reclamada como tablas por un
jugador. Esto da como resultado una base de datos que devuelve resultados como "Mate forzado en 66
movimientos" en algunas posiciones que seran tablas debido a la regla de los cincuenta movimientos. Sin
embargo, una mquina correctamente programada conoce la regla de los cincuenta movimientos y en ningn
caso utilizando una base de datos de finales elegira el movimiento que conducira a la victoria ms rpida
(incluso si sobrepasara la regla de los cincuenta movimientos con un juego perfecto). Si jugando con un oponente
no se utiliza una base de datos de finales, tales elecciones daran buenas oportunidades de victoria dentro de la
regla de los cincuenta movimientos.
Una razn para esto es que si las reglas del ajedrez cambiara otra vez, dando ms tiempo para ganar tales
posiciones, no sera necesario regenerar todas las bases de datos. Tambin sera muy fcil para el programa
utilizar las bases de datos para notar y tener en cuenta esta 'caracterstica'.
Las bases de datos de Nalimov, que utilizan el estado del arte de las tcnicas de compresin, necesitan
7.05 GB de espacio en disco duro para todos los finales de cinco piezas. Para cubrir todos los finales de seis
piezas necesita aproximadamente 1.2 terabyte. Se estima que las bases de datos de siete piezas necesitarn
ms capacidad de almacenamiento de la que estar disponible en el futuro previsible.

Es sorprendente, pero fcilmente comprobable, que sin una base de datos de finales incluso computadoras de
ajedrez ms fuertes puedan fallar a la hora de encontrar un plan ganador incluso en finales con seis o menos
piezas, cuando necesitan ms movimientos que el horizonte de clculo para conseguir un jaque mate, una
ganancia de material o el avance de un pen. Muchos finales necesitan ms movimientos que su horizonte de
clculo.

Otras optimizaciones
Muchas otras optimizaciones se pueden utilizar para realizar programas de ajedrez ms fuertes. Por ejemplo, las
tablas de transposiciones se utilizan para grabar posiciones que ya han sido evaluadas, para evitar recalcularlas.
Las tablas de refutacin almacenan movimientos clave que "refutan" lo que parece ser un buen movimiento, stas
se utilizaron por primera vez en las variantes (ya que un movimiento que refuta una posicin es probable que
refute otra). Los libros de aperturas ayudan a los programas de computadoras dando las aperturas comunes que
son consideradas buenas (y buenos caminos contra las aperturas ms pobres).
Por supuesto, con hardware de ms velocidad y procesadores adicionales se puede mejorar la capacidad de los
programas de ajedrez y algunos sistemas (como Deep Blue) utilizan hardware especializado en ajedrez en vez de
nicamente implementaciones software.

Estndares
Los programas de ajedrez para computadoras normalmente soportan varios estndares comunes de facto. Casi
todos los programas actuales pueden leer y escribir movimientos de ajedrez en el formato PGN y puede leer y
escribir posiciones individuales en formato FEN. Los antiguos programas de ajedrez frecuentemente slo
comprenden la notacin algebraica larga, pero los usuarios actuales esperan que los programas de ajedrez
comprenda la notacin algebraica convencional.
Muchos programas de computadora de ajedrez se dividen en un motor (que calcula el mejor movimiento de la
posicin actual) y una interfaz de usuario. Muchos motores estn separados del interfaz de usuario y las dos
partes se comunican entre s utilizando un protocolo de comunicacin pblico. El protocolo ms popular es el
protocolo Xboard/Winboard Communication. Otro protocolo abierto de comunicacin de ajedrez alternativo es
el Universal Chess Interface. Dividiendo los programas de ajedrez en estas dos piezas, los desarrolladores slo
tienen que programar el interfaz de usuario o el motor, sin la necesidad de escribir ambas partes del programa.

Fuerza de juego contra velocidad de proceso


Se ha estimado que al doblar la velocidad de computacin se gana aproximadamente entre cincuenta y setenta
puntos de Elo en fuerza de juego.
Sin embargo, esto se aplica principalmente a matches entre computadoras y no a matches entre computadoras y
humanos, donde este incremento sera bastante menor.

Otros software de ajedrez


Hay numerosos software relacionados con ajedrez:

Visores de partidas de ajedrez: permiten a los jugadores visualizar una partida transcrita en un ordenador.
Muchos programas que juegan al ajedrez tambin pueden ser utilizados para estre propsito, pero existen
programas especializados.

Software para enseanza de ajedrez: son diseados especialmente para la enseanza del ajedrez.

Bases de datos de ajedrez: sistemas que permiten la bsqueda de una gran biblioteca de partidas
histricas. La Shane's Chess Information Database (Scid) es un buen ejemplo de una base de datos de
ajedrez. Scid puede utilizarse con Microsoft Windows, UNIX, Linux y Mac OS X. Tambin hay bases de datos
comerciales, como ChessBase y Chess Assistant para Windows y ExaChess[2] para Mac OSX.

Software para gestionar problemas de ajedrez

Ajedrez avanzado
El ajedrez avanzado es una forma de ajedrez desarrollada en 1998 por Kasparov donde un humano juega contra
otro humano y ambos tienen acceso a ordenadores para aumentar su fuerza. El jugador "avanzado" resultante
argumentaba Kasparov que sera ms fuerte que un humano o una computadora en solitario, aunque esto no ha
sido probado.

Tericos de computacin en ajedrez


Los tericos en computacin de ajedrez ms conocidos son:

D. F. Beal

David Levy

Robert Hyatt [3] (autor del programa de cdigo abierto Crafty)

Hans Berliner

Claude Elwood Shannon

El futuro del ajedrez por computadora


Un campo de investigacin potencialmente fructfero es la computacin distribuida, en la que muchos
ordenadores estn trabajando conjuntamente a travs de Internet y cada uno tiene la tarea de una pequea
seccin del rbol de bsqueda al completo para analizar. El proyecto principal es el proyecto ChessBrain, que
consigui un record del mundo en 2004 con el mayor nmero de ordenadores jugando una partida de ajedrez
simultneamente (2.070).

Resolucin del ajedrez


La perspectiva de resolver completamente el ajedrez es considerada de manera remota. Existe una conjetura
ampliamente aceptada de que no hay un mtodo computacionalmente permisible para resolver el ajedrez en
sentido dbil y as, la idea de resolver el ajedrez en sentido fuerte de obtener una descripcin prcticamente
utilizable de una estrategia para un juego perfecto para ambos bandos no parece ser realista hoy en da. Sin
embargo, debera considerarse que no se ha probado que haya un camino computacionalmente asequible de
determinar el mejor movimiento en una posicin de ajedrez, ni se ha probado matemticamente que un algoritmo
tradicional alfa-beta con el hardware actual pueda resolver la posicin inicial en una cantidad de tiempo aceptable.
La dificultad de probar esto radica en el hecho de que, mientras el nmero de posiciones en el tablero que pueden
ocurrir en el curso de una partida de ajedrez es alto (del orden de 1040),12 es difcil de establecer las reglas con
rigurosidad matemtica para decir que la posicin inicial permita a un bando forzar un mate o una triple repeticin
despus de unos cuantos movimientos, el rbol de bsqueda slo podr incluir un pequeo subconjunto dentro
de todo el conjunto de posiciones posibles. De hecho, se puede decir certeramente que no hay nada que indique
una posibilidad prctica de resolucin del ajedrez en el presente en cualquier sentido de la palabra.

Cronologa de las computadoras de ajedrez


Ao

Acontecimiento

1769 Wolfgang von Kempelen construye El Turco, que se convierte en uno de los mayores engaos de este periodo

1868 Charles Hooper present el autmata Ajeeb, que tambin tena un jugador humano escondido en su interior.

1912 Leonardo Torres Quevedo construye una mquina que jugaba finales de Rey y torre contra Rey

1948

El libro de Norbert Wiener Cybernetics describe cmo se podra desarrollar un programa de ajedrez utilizando
una bsqueda de profundidad limitada minimax con una funcin de funcin de evaluacin.

1950

Claude Shannon publica "Programacin de una Computadora para Jugar al Ajedrez", uno de los primeros
artculos sobre el problema de la computadora de ajedrez.

1951 Alan Turing desarrolla en papel el primer programa capaz de jugar una partida completa de ajedrez.13 14

1952 Dietrich Prinz desarrolla un programa que resolva problemas de ajedrez.

1956

Ajedrez Los lamos es el primer programa en jugar algo parecido al ajedrez, desarrollado por Paul Stein y
Mark Wells para la computadora MANIAC I.

1956 John McCarthy inventa el algoritmo de bsqueda alfa-beta.

1958 NSS se convierte en el primer programa de ajedrez en usar el algoritmo de bsqueda alfa-beta.

1958

Se desarrollaron los primeros programas que podan jugar una partida completa de ajedrez, uno por parte de
Alex Bernstein y otro por parte de programadores rusos utilizando un BESM.

1962 Aparece el primer programa en jugar aceptablemente, el Kotok-McCarthy publicado en el MIT.

Se juega el primer match entre programas de computadoras. El [nsitudo de Fsica Terica y Experimental]]
1966(ITEP) de Mosc derrot al Kotok-McCarthy en la Universidad de Stanford por telgrafo despus de nueve
1967
meses de juego.

1967

El programa MacHack de Richard Greenblatt y otros introduce tablas de transposicin y se convierte en el


primer programa en derrotar a una persona en torneo.

1970 Primera edicin del Campeonato de Computadoras de Ajedrez de Norteamrica (ACM).

1974 Kaissa gana el primer Campeonato del Mundo de Computadoras de Ajedrez.

Se crea la primera mquina microcomputadora que juega al ajedrez: CHESS CHALLENGER.

Fidelity Chess Challenger.

1977 "Se cree que 1.000 unidades compusieron esta primera serie cuya caracterstica ms destable es que la
numeracin de filas y columnas estaba situada permutada, es decir, las columnas estaban denominadas con
nmeros del 1 al 8 y las filas con letras de la A a la H. Las jugadas se introducen mediante teclado, insertando
la casilla origen y luego la de destino. La computadora indica sus jugadas en el display mediante el sistema de
coordenadas. El sistema resultaba muy lioso para los ajedrecistas ya que al estar invertido el sistema de
coordenadas resultaba difcil adaptarse. La computadora dispona de un nico nivel de juego. En el mismo ao
1977 y debido al xito de ventas que supuso se lanz la Chess Challenger 3, con tres niveles de juego y con el
sistema de coordenadas corregido al convencional. Con estas primeras computadoras era posible realizar
jugadas ilegales y capturar el rey dado que el programador no contempl estas circunstancias. El fabricante
fue Fidelity Elecronics y el programador Ron Nelson"

1977 Creacin de la Asociacin Internacional de Computadoras de Ajedrez.


1977 Chess 4.6 se convierte en la primera computadora de ajedrez en conseguir un xito en un gran torneo de ajedrez.
1980 Primera edicin del Campeonato del Mundo de Microcomputadoras de Ajedrez
1980 Creacin del Premio Fredkin.
Cray Blitz gana el Campeonato Estatal de Mississippi con un marcador perfecto de 5-0 y una actuacin de 2258
1981 puntos de ELO. En la ronda 4 derrot a Joe Sentef (2262) convirtindose en la primera computadora en ganar a
un maestro en un torneo y en la primera computadora en conseguir la calificacin de maestro.
1982 El hardware de ajedrez de Ken Thompson, Belle, consigui el ttulo de Maestro de EEUU.
1988

HiTech desarrollada por Hans Berliner y Carl Ebeling gana un match contra el Gran Maestro Arnold
Denker por 3.5 - 0.5.

Deep Thought comparte en primer puesto con Tony Miles en el Campeonato de herramientas Software, por
delante del campen del mundo de ajedrez Mikhail Tal y varios grandes maestros como Samuel
1988 Reshevsky, Walter Browne, Ernst Gruenfeld y Mijal Naumvich Gurvich. Tambin derrot al gran
maestro Bent Larsen, siendo la primera computadora en ganar a un GM en un torneo. Su actuacin de ELO en
este torneo fue de 2745, la ms alta obtenida hasta ese momento por una computadora.
1989

Deep Thought pierde dos partidas de exhibicin contra Gari Kasprov, el campen del mundo reinante en ese
momento.

1992

Primera vez que una microcomputadora, la mquina Gideon 3.1 de Ed Schroeder, gana el 7 Campeonato del
Mundo de Computadoras de Ajedrez contra mainframes, supercomputadoras y hardware especial.

1997 Deep Blue gana un match a seis partidas contra Gari Kasprov +2-1=3 (ver [4]).
2002 Vladmir Krmnik entabla un match a ocho partidas contra Deep Fritz.
2003 Kasprov entabla un match a seis partidas contra Deep Junior.
2003 Kasprov entabla un match a cuatro partidas contra X3D Fritz.
2005 Hydra derrota a Michael Adams por un contundente 5.5-0.5.
2005

Un equipo de computadoras (Hydra, Deep Junior y Fritz), gana 8.5-3.5 contra un fuerte equipo de humanos
formado por Veselin Topalov, Rusln Ponomariov y Sergi Kariakin, que tena una media de ELO de 2681.

2006 En el campeonato del mundo oficioso, Vladmir Krmnik es derrotado por Deep Fritz 4-2.

http://es.wikipedia.org/wiki/Ajedrez_por_computadora

Вам также может понравиться