You are on page 1of 13

Ajedrez por computadora

En el siglo XVIII empezó a difundirse la idea de crear una máquina


capaz de jugar al ajedrez. En el año 1768, un jugador de ajedrez
autómata llamado El Turco1 se hizo famoso antes de que se
descubriera que era un engaño. El español Leonardo Torres Quevedo
construyó, en 1912, un autómata capaz de jugar al ajedrez, llamado
El Ajedrecista. Después de aquellos sucesos, el tema del ajedrez
mecánico no se volvió a mencionar y cayó en el olvido, hasta la
aparición de la computadora en la década de los 50. Desde entonces,
los aficionados del ajedrez y de la informática han construido
máquinas y programas que juegan al ajedrez.

En las últimas décadas del siglo XX y en siglo XXI, las


computadoras de ajedrez están 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 cualquier ordenador 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 GNU Chess 5.07 en interfaz WinBoard 4.2.7.
campeones del mundo en tiempos de control muy cortos y partidas
relámpago.

Índice
Origen
Estrategia contra fuerza bruta
Computadoras contra humanos
Tablas de finales
Cuestiones de implementación de computadoras de ajedrez
Representación del tablero
Técnicas de búsqueda
Evaluación de hojas
Utilizando bases de datos de finales
Otras optimizaciones
Estándares
Fuerza de juego contra velocidad de proceso
Otros software de ajedrez
Ajedrez avanzado
Torneos de ajedrez avanzado
Teóricos de computación en ajedrez
El futuro del ajedrez por computadora
Resolución del ajedrez
Cronología de las computadoras de ajedrez
Véase también
Notas
Referencias
Enlaces externos

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 ningún oponente disponible), también como herramienta o soporte de análisis,
para competiciones entre computadoras de ajedrez, y como investigación o abastecimiento del conocimiento humano.

Sin embargo, y a pesar de la sorpresa de muchos, el ajedrez nos ha enseñado muy poco en lo referente a la construcción de máquinas
que proporcionen inteligencia humana, o hacer cualquier otra cosa que no sea jugar prodigiosamente al ajedrez. Por esta razón, el
ajedrez computarizado, así como también otros muchos juegos, como el Scrabble, no tienen un gran interés académico para los
expertos de la inteligencia artificial, siendo éste reemplazado por juegos más intuitivos, como el Go. El funcionamiento de los
programas de ajedrez consiste, esencialmente, en explorar un número muy elevado de posibles futuros movimientos y aplicarles una
función de evaluación al resultado, mientras que las computadoras de Go desafían a los programadores a idear nuevos enfoques y
estrategias de juego.

Las tácticas basadas en la fuerza bruta son prácticamente inútiles para la mayoría 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 elección del
movimiento a jugar es totalmente distinta. En algunos juegos de estrategia, las computadoras suelen vencer fácilmente la gran
mayoría de partidas, mientras que en otros, los principiantes vencen a las máquinas sin mayor esfuerzo. En el ajedrez, el resultado de
la fusión 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 artículo 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 búsqueda de cualquier programa, a las que
nombró de 'Tipo A', y de 'Tipo B'.

Los programas 'Tipo A', más rudimentarios, utilizarían una búsqueda basada en la "fuerza bruta", los cuales examinarían todas
posibles posiciones de cada rama del árbol de movimientos usando el algoritmo minimax. Shannon creyó que esto sería muy poco
práctico por dos razones:

Primero, con aproximadamente 30 movimientos posibles en una posición típica de medio juego, Shannon predijo
que buscando las 306 (más de 700.000.000) posiciones contenidas en los primeros tres movimientos (de ambos
bandos, lo que son 6 plies), tardaría aproximadamente 16 minutos, incluso en el caso "muy optimista" que el
programa evaluara un millón de posiciones por segundo. Después de esta conjetura, se tardó alrededor de 40 años
para conseguir esa velocidad.

Segundo, se ignoraba el problema de la latencia, ya que el programa trata de evaluar la posición resultante después
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 número de
posiciones necesarias para el análisis, y de este modo el programa se relentizaba todavía más.
En vez de este gastar la potencia de proceso examinando movimientos malos o triviales, Shannon sugirió que a los programas tipo B
utilizarían una especie de "inteligencia artificial estratégica" para solucionar estos problemas en los que únicamente se analizarían
solo las mejores jugadas de cada posición, algo parecido a lo que hacen los jugadores humanos. Esto permitiría al programa analizar
las líneas significantes de manera más profunda en un tiempo razonable.

Adriaan de Groot entrevistó a varios jugadores de ajedrez de varios niveles y su conclusión 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 más profundamente las mejores líneas 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 fácil.

El problema de los programas 'Tipo B' es que se confía demasiado en que el programa puede decidir qué movimientos son
suficientemente buenos para ser dignos de consideración en cualquier posición, siendo un problema mucho más 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 Campeón del mundo de ajedrez
Mijaíl Botvínnik, que escribió varios trabajos en la materia. T
ambién poseía un doctorado en Ingeniería Eléctrica. A
unque trabajó con
hardware relativamente primitivo en la URSS a principios de los años 1960, Botvinnik no tuvo la oportunidad de investigar las
técnicas de software de selección de movimientos, en ese momento los ordenadores más potentes podían conseguir tres plies por
búsqueda y Botvinnik no tenía tales máquinas. En 1965 Botvinnik fue consejero en el quipo ITEP en el match de computadoras
EEUU-URSS.

En 1973, la Universidad de Northwestern, encargada de la creación 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
años seguidos, además de inaugurar uno de los campeonatos más importantes, el W
orld 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 difícil predecir lo que van a mover, y mucho menos el por qué. Otra razón fue que en los programas de Tipo
A era mucho más fácil detectar losfallos del programa y depurarlos, y lograron hacer de él un programa lo suficientemente rápido: en
el tiempo que solían 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 continúa utilizándose en todos los programas de ajedrez actuales. Los
programas tipo Chess 4.0 ganaban por la simple razón que sus programas simplemente jugaban un mejor ajedrez. Tales programas no
intentaban imitar los procesos de pensamiento humanos, pero confiaban completamente en búsquedas alfa-beta y Negascout. Muchos
de tales programas (incluyendo todos los programas actuales) también incluyen una parte selectiva bastante limitada de la búsqueda
basada en búsquedas latentes y normalmente extensiones y podado (particularmente podado de movimientos nulos desde los años
1990) que eran lanzadas basadas en ciertas condiciones en un intento de eliminar o reducir los movimientos malos obvios (históricos
de movimientos) o investigar nodos interesantes (p.ej. comprobación de extensiones, peones pasados en la séptima fila, etc). Sin
embargo, los lanzamiento de extensión y poda tienen que utilizarse con mucho cuidado. Si se sobrextiende el programa gastan
demasiado tiempo analizando posiciones sin interés. Si se poda demasiado, hay riesgos de cortar nodos interesantes. Los programas
de ajedrez difieren en términos de cómo y qué tipos de reglas de poda y extensión se utilizan así como de la función de evaluación.
Se cree que algunos programas son más selectivos que otros (por ejemplo Deep Blue se sabe que es menos selectivo que muchos
programas comerciales porque podía permitirse hacer más búsquedas completas), pero todos tienen una base de búsquedas como
fundamento y todos tienen componente selectivos (búsqueda-Q, poda/extensiones).

Aunque tales adiciones significa que el programa realmente no examinaría cada nodo dentro de la profundidad de búsqueda (de tal
manera que no sería realmente fuerza bruta en ese sentido), los extraños errores debidos a estas búsquedas selectivas se encuentra que
consumen en tiempo extra que es ahorrado debido a que se podría aumentar la profundidad. De esa manera los programas de ajedrez
pueden obtener lo mejor de ambos mundos.

Además, el desarrollo y los avances tecnológicos hicieron que el sistema de fuerza bruta continuara en alza y se intensificara mucho
más en los años 90. El resultado ha sido la creación de programas mucho más sólidos, con una IA táctica realmente asombrosa,
programas mucho más exactos sin apenas errores, y conducidos hacia el límite de su profundidad de búsqueda. 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 Campeón del Mundo Garry Kasparov, siendo la primera vez que una computadora derrotara al campeón del mundo en tiempos de
control de torneo.
Sin embargo, a finales de los años 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 más fuerte del mundo aquel año. Cabe decir que de las cuatro partidas de ajedrez rápido
(tiempo de control: 5 min + 5 s por jugada) que se jugaron, Rebel ganó 3 de ellas, en las dos partidas semirrápidas, quedaron 1.5-0.5 a
favor de Rebel, y en la partida con tiempo de control más 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 más rápidos, pero que la fuerza de los jugadores se mide
con tiempos de control más 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 mundoGarry Kasparov y Vladímir Krámnik. En el 2005, Hydra, una computadora de ajedrez del Tipo B, derrotó
al mejor jugador británico y séptimo 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 sería capaz de
derrotarle en diez años, bajo condiciones de torneo. Ganó la apuesta en1978, venciendo por 3'5-1'5 en un combate de cinco partidas a
la computadora más fuerte por aquel entonces, Chess 4.7, y llevándose 1250 libras, aunque reconociendo que dentro de poco tiempo
le superarían. En 1989, Levy no pudo superar a Deep Thought, derrotándole en una partida de exhibición. Sin embargo, durante un
largo período en los años 1970 y los años 1980 permanecía la pregunta abierta de si un programa de ajedrez podría derrotar al más
experto de los humanos.

Sin embargo, Deep Thought no estaba todavía 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 más, era la primera vez que una computadora derrotaba a un
campeón del mundo con ritmo de juego lento. Sin embargo, después Kasparov consiguió vencer tres y empatar dos de las cinco
5
últimas partidas, logrando la victoria sobre la computadora por 4-2.

En mayo de 1997, una versión mejorada de Deep Blue derrotó a Kasparov en un encuentro de 6 partidas por 3'5-2'5,6 originando un
gran debate sobre si el jugador más fuerte por aquel entonces era una máquina.

Posteriormente se decía que IBM había hecho trampas utilizando un jugador humano durante la partida para incrementar la fuerza
estratégica de la computadora. En 2003 se realizó un documental centrado en la confrontación, titulado Game Over: Kasparov and
the Machine. IBM continúa teniendo una página web del evento. Aunque no fue un campeonato del mundo oficial, el resultado del
match frecuentemente se considera que el jugador más fuerte del mundo es una computadora. Tal reivindicación es un gran debate
abierto, ya que es difícil de organizar un verdadero match limpio hombre-máquina. Se ve como injusto que los jugadores humanos
tengan que ganar su título en torneos que les enfrentan a un variado conjunto de estilo de oponente, mientras que las computadoras
son ocasionalmente optimizadas para el oponente actual. También, al contrario que el contrincante humano, las computadoras tienen
acceso a grandes bases de datos deaperturas y finales.

IBM desmanteló a Deep Blue después 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 ejecutándose en ordenadores normales empiezan a ser rivales para
los jugadores más 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
rápidas (cinco minutos más cinco segundos de retraso Fischer para cada
movimiento) que ganó Rebel por 3-1. Hubo dos partidas semi-rápidas (quince
minutos para cada bando) que Rebel ganó también (1.5-0.5). Finalmente se
disputaron dos partidas lentas (cuarenta jugadas para dos horas y una hora más
a finish) que ganó Anand por 0.5-1.5.7 Al menos en las partidas rápidas las Posición Final de la Partida 1, Deep
computadoras juegan mejor que los humanos pero en controles de tiempo Blue vs. Kasparov, 1996
clásicos, en los que se determina la clasificación de un jugador, la ventaja no
está tan clara.

A principios de los años 2000, los programas comercialmente disponibles como Junior y Fritz eran capaces de entablar matches
contra el campeón del mundoGarry Kasparov y el campeón del mundo de ajedrez clásicoVladímir Krámnik:

En octubre de 2002, Vladímir Krámnik 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 tácticas anti-computadora convencionales (jugando
conservadoramente para tener una ventaja a largo plazo que la computadora no es capaz de ver en su árbol de
búsqueda). Fritz, sin embargo, hizo lo propio en la 5 después de un severo error de Kramnik. La sexta partida fue
calificada por los comentaristas del torneo como "espectacular". Kramnik, que tenía ventaja al iniciarse el medio
juego, sacrificó una pieza para lograr una buena posición táctica, este tipo de sacrificios son muy arriesgados contra
computadoras que son muy fuertes defendiéndose contra tales ataques. En efecto, Fritz encontró una sólida
defensa al ataque de Kramnik, dejándole en una mala posición. Kramnik se rindió, creyendo que la partida estaba
perdida. Sin embargo, el análisis post-mortem demostró que Fritz tenía pocas posibilidades de forzar una victoria y
que Kramnik efectivamente desperdició una posición de tablas. Las dos últimas partidas acabaron en tablas. Dadas
las circunstancias, muchos comentaristas siguen dando a Kramnik como el jugador más 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 (séptimo en las listas
mundiales) con un contundente 5.5-0.5. Aunque la preparación de Adams estaba lejos de la de Kramnik en 2002. Algunos
comentaristas8 creían 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 Campeón del Mundo Vladímir Krámnik 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 módulo 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 están
generadas por adelantado usando el análisis 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 combinación final
de piezas. Ken Thompson, más 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 débiles en dicho tramo
de la partida, debido a la necesidad de una alta profundidad de búsqueda. Con distintos programas de alto nivel fueron incapaces de
vencer en posiciones que cualquier humano de nivel intermedio sería capaz de ganar
.

A veces, los resultados de los análisis de las computadoras sorprenden a las personas. En 1977, Belle, la máquina de ajedrez de Ken
Thompson, usando la tabla de finales KQKR, logró empatar una posición, en teoría 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
desafío. En la partida se produjo un final de dama contra torre, donde la dama podía ganar en treinta movimientos, con un juego
perfecto. Browne disponía de dos horas y media para jugar cincuenta movimientos. Después 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 posición final,
Browne estaba todavía 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 más tarde. Esta vez, capturó la torre en el movimiento cincuenta, finalizando con una
posición ganadora.

Los avances en las tablas de finales de Ken Thompson, produjeron que a principios de los años 80, se cambiara la regla de los
cincuenta movimientos, al demostrar que ciertos finales necesitaban más 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 más utilizado en la actualidad,
soportado por la mayoría 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 búsqueda si surgieran de nuevo. Aunque el número de posibles partidas después de que un número de movimientos
aumente exponencialmente con el número de jugadas, el número de las posibles posiciones con unas pocas piezas es exponencial
solamente en el número 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 tamaños de las memorias de los
ordenadores continúen aumentando, no hay razón para creer que los finales de elevada complejidad no continúen resolviéndose.

Una computadora que usa estas bases de datos va, al alcanzar la posición en ellas, a poder jugar perfectamente, e inmediatamente
determinar si la posición acaba en victoria, derrota, o tablas. El conocimiento de si la posición acaba en victoria, derrota, o tablas,
también es útil de antemano, puesto que puede ayudar a la computadora a evadir o encaminarse hacia dichas posiciones dependiendo
de la situación.

Las tablas de finales tomaron gran importancia en 1999, cuando Kasparov jugó una partida de exhibición en Internet contra el Resto
del Mundo, en la cual hubo cierta polémica.11 En dicha partida llegaron a un final de siete piezas, Reina y Peón, cuando el Resto del
Mundo intentaba conseguir unas tablas. Eugene Nalimov colaboró generando el final de seis piezas cuando ambos bandos tenían dos
Reinas, lo cual ayudó en gran medida al análisis.

Cuestiones de implementación de computadoras de ajedrez


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

Representación del tablero: cómo se representa una posición simple en estructuras de datos.
Técnicas de búsqueda: cómo identificar los posibles movimientos y seleccionar los más prometedores para
examinarlos posteriormente.
Evaluación de hojas: cómo evaluar el valor de una posición del tablero, si no se hace una búsqueda posterior
.
Los programadores también necesitan decidir si utilizarán bases de datos de finales u otras optimizaciones y a menudo implementar
estándares de ajedrez comunesde facto.

Representación del tablero


La estructura de datos utilizada para representar cada posición de ajedrez es clave para el rendimiento de la generación de
movimientos y la evaluación de posiciones. Los métodos 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 localización de piezas y posiciones codificadas con
codificación Huffman para compactar el almacenamiento a largo plazo.

Técnicas de búsqueda
Los programas de ordenador de ajedrez consideran los movimientos como un árbol de juego. En teoría, examinan todos los
movimientos y entonces todos los contramovimientos a éstos y después todos sus respectivos contramovimientos, y así
sucesivamente, donde cada movimiento individual se llama "hebra" o "ply". Esta evaluación continúa hasta que llega a una "hoja"
final que es evaluada.

Sin embargo, una implementación simplista de esta técnica nunca se terminaría en una cantidad de tiempo práctica, como
consecuencia de esto se han ideado varios métodos para aumentar la velocidad de búsqueda para buenos movimientos.

Para más información, ver:

Algoritmo minimax
Podado alfa-beta
Heurística asesina
IDDFS
Heurística de movimiento nulo
Reducciones de movimiento tardío

Evaluación 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 posición final en el tablero. El algoritmo que evalúa las posiciones finales se
denomina función de evaluación y estos algoritmos frecuentemente son enormemente diferentes entre los distintos programas de
ajedrez.

Las funciones de evaluación típicamente evalúan posiciones en centésimas de peón 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 típicos para piezas son 1
punto para un peón, 3 puntos para los caballos y los alfiles, 5 puntos para las torres y 9 puntos para una dama. Por convención, una
evaluación 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 (artículo 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 evaluación tienen en cuenta muchos
factores, como la estructura de peones, la pareja de alfiles, la centralización de las piezas, etc. También se suele considerar la
protección 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 sólo son
forzados con un juego muy preciso, donde incluso un ligero error produciría un resultado diferente. Consecuentemente, muchas
máquinas modernas jugarán muchos finales suficientemente bien para sus propios intereses. Un síntoma de este problema es que los
ordenadores pueden abandonar demasiado pronto porque ven que están siendo forzados en una posición que está perdida
teóricamente (aunque pueden estar a treinta o más movimientos del final de la partida y a muchos oponentes humanos les costaría
mucho ganar en ese tiempo). Esta observación sólo es relevante cuando un programa de ordenador está en una situación donde tiene
que elegir entre dos movimientos perdedores, uno de los cuales de hecho es más difícil para el oponente, pero conduce a una posición
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 peón 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 serían tablas debido a la regla
de los cincuenta movimientos. Sin embargo, una máquina correctamente programada conoce la regla de los cincuenta movimientos y
en ningún caso utilizando una base de datos de finales elegiría el movimiento que conduciría a la victoria más rápida (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 darían buenas oportunidades de victoria dentro de la regla de los cincuenta movimientos.

Una razón para esto es que si las reglas del ajedrez cambiara otra vez, dando más tiempo para ganar tales posiciones, no sería
necesario regenerar todas las bases de datos. T
ambién sería muy fácil para el programa utilizar las abses de datos para notar y tener en
cuenta esta 'característica'.

Las bases de datos de Nalimov, que utilizan el estado del arte de las técnicas de compresión, 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 necesitarán más capacidad de almacenamiento de la que estará disponible en el futuro
previsible.

Es sorprendente, pero fácilmente comprobable, que sin una base de datos de finales incluso computadoras de ajedrez más fuertes
puedan fallar a la hora de encontrar un plan ganador incluso en finales con seis o menos piezas, cuando necesitan más movimientos
que el horizonte de cálculo para conseguir un jaque mate, una ganancia de material o el avance de un peón. Muchos finales necesitan
más movimientos que su horizonte de cálculo.

Otras optimizaciones
Muchas otras optimizaciones se pueden utilizar para realizar programas de ajedrez más fuertes. Por ejemplo, las tablas de
transposiciones se utilizan para grabar posiciones que ya han sido evaluadas, para evitar recalcularlas. Las tablas de refutación
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 posición 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 más pobres).

Por supuesto, con hardware de más velocidad y procesadores adicionales se puede mejorar la capacidad de los programas de ajedrez
y algunos sistemas (comoDeep Blue) utilizan hardware especializado en ajedrez en vez de únicamente implementaciones software.

Estándares
Los programas de ajedrez para computadoras normalmente soportan varios estándares 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 sólo comprenden la notación algebraica larga, pero los usuarios actuales
esperan que los programas de ajedrez comprenda lanotación algebraica convencional.

Muchos programas de computadora de ajedrez se dividen en un motor (que calcula el mejor movimiento de la posición actual) y una
interfaz de usuario. Muchos motores están separados de la interfaz de usuario y las dos partes se comunican entre sí utilizando un
protocolo de comunicación público. El protocolo más popular es el protocolo Xboard/Winboard Communication. Otro protocolo
abierto de comunicación de ajedrez alternativo es el Universal Chess Interface. Dividiendo los programas de ajedrez en estas dos
piezas, los desarrolladores sólo tienen que programar la 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 computación 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 sería 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 también pueden ser utilizados para estre propósito, pero existen programas
especializados.
Software para enseñanza de ajedrez: son diseñados especialmente para la enseñanza del ajedrez.
Bases de datos de ajedrez: sistemas que permiten la búsqueda de una gran biblioteca de partidas históricas. 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. También 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 en1998 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 sería más fuerte
que un humano o una computadora en solitario, aunque esto no ha sido probado. El jugador de ajedrez avanzado se llama Centauro
(hombre + ordenador).

Torneos de ajedrez avanzado


En los últimos años se han producido numerosos torneos en todo el mundo de ajedrez avanzado. Los más importantes fueron, sin
duda, el PAL/CSS Freestyle-Tournament, patrocinado por el Grupo PAL en Abu Dhabi (Emiratos Árabes Unidos). Estos torneos
mundiales se celebraron en el Playchess servidor web (ChessBase) y han tenido un muy alto nivel de juego, tal vez el más alto jamás
visto en un juego de ajedrez con el control de tiempo. Estos son los ganadores en orden cronológico: Zacks (Steven Cramton y
Zackary Stephen, EE.UU.), Zorchamp (Hydra, Emiratos Árabes Unidos), Rajlich (Vasik Rajlich, Hungría), Xakru (Jiri Dufek,
República Checa), Flying Saucers (Daniel Nielsen, Dinamarca), Rajlich (Vasik Rajlich, Hungría), Ibermax (Anson Williams,
Inglaterra), Ultima (Eros Riccio, Italia). Torneos similares también fueron organizadas por FICGS y Infinity Chess.

Con base en los resultados obtenidos en los torneos de ajedrez avanzado, fue desarrollado por Infinity Chess una especial
clasificación Elo para los centauros,12 que ve el primer lugar Sephiroth (Eros Riccio) con 2755 puntos Elo.

Teóricos de computación en ajedrez


Los teóricos en computación de ajedrez más conocidos son:

D. F. Beal
David Levy
Robert Hyatt [3] (autor del programa de código abiertoCrafty)
Hans Berliner
Claude Elwood Shannon

El futuro del ajedrez por computadora


Un campo de investigación potencialmente fructífero es la computación distribuida, en la que muchos ordenadores están trabajando
conjuntamente a través de Internet y cada uno tiene la tarea de una pequeña sección del árbol de búsqueda al completo para analizar.
El proyecto principal es el proyecto ChessBrain, que consiguió un récord del mundo en 2004 con el mayor número de ordenadores
jugando una partida de ajedrez simultáneamente (2.070).

Resolución del ajedrez


La perspectiva de resolver completamente el ajedrez es considerada de manera remota. Existe una conjetura ampliamente aceptada de
que no hay un método computacionalmente permisible para resolver el ajedrez en sentido débil y así, la idea de resolver el ajedrez en
sentido fuerte de obtener una descripción prácticamente utilizable de una estrategia para un juego perfecto para ambos bandos no
parece ser realista hoy en día. Sin embargo, debería considerarse que no se ha probado que haya un camino computacionalmente
asequible de determinar el mejor movimiento en una posición de ajedrez, ni se ha probado matemáticamente que un algoritmo
tradicional alfa-beta con el hardware actual pueda resolver la posición inicial en una cantidad de tiempo aceptable. La dificultad de
probar esto radica en el hecho de que, mientras el número de posiciones en el tablero que pueden ocurrir en el curso de una partida de
ajedrez es alto (del orden de 1040),13 es difícil de establecer las reglas con rigurosidad matemática para decir que la posición inicial
permita a un bando forzar un mate o una triple repetición después de unos cuantos movimientos, el árbol de búsqueda sólo podrá
incluir un pequeño subconjunto dentro de todo el conjunto de posiciones posibles. De hecho, se puede decir certeramente que no hay
nada que indique una posibilidad práctica de resolución del ajedrez en el presente en cualquier sentido de la palabra.

Cronología de las computadoras de ajedrez


Año Acontecimiento
Wolfgang von Kempelen construye El Turco, que se convierte en uno de los mayores engaños de este
1769
periodo
Charles Hooper presentó el autómata Ajeeb, que también tenía un jugador humano escondido en su
1868
interior.
1912 Leonardo Torres Quevedo construye una máquina que jugaba finales de Rey y torre contra Rey
El libro de Norbert Wiener Cybernetics describe cómo se podría desarrollar un programa de ajedrez
1948
utilizando una búsqueda de profundidad limitada minimax con una función defunción de evaluación.
Claude Shannon publica "Programación de una Computadora para Jugar al Ajedrez", uno de los
1950
primeros artículos sobre el problema de la computadora de ajedrez.
Alan Turing desarrolla en papel el primer programa capaz de jugar una partida completa de
1951
ajedrez.14 15
1952 Dietrich Prinz desarrolla un programa que resolvía problemas de ajedrez.
Ajedrez Los Álamos es el primer programa en jugar algo parecido al ajedrez, desarrollado por Paul
1956
Stein y Mark Wells para la computadoraMANIAC I.
1956 John McCarthy inventa el algoritmo de búsqueda alfa-beta.
1958 NSS se convierte en el primer programa de ajedrez en usar el algoritmo de búsqueda alfa-beta.
Se desarrollaron los primeros programas que podían jugar una partida completa de ajedrez, uno por
1958
parte de Alex Bernstein y otro por parte de programadoresrusos utilizando un BESM.
1962 Aparece el primer programa en jugar aceptablemente, elKotok-McCarthy publicado en el MIT.
Se juega el primer match entre programas de computadoras. El Ìnsitudo de Física Teórica y
1966-1967 Experimental (ITEP) de Moscú derrotó al Kotok-McCarthy en la Universidad de Stanford por telégrafo
después de nueve meses de juego.
El programa MacHack deRichard Greenblatt y otros introduce tablas de transposición y se convierte en
1967
el primer programa en derrotar a una persona en torneo.
1970 Primera edición del Campeonato de Computadoras de Ajedrez de Norteamérica (ACM).
1974 Kaissa gana el primer Campeonato del Mundo de Computadoras de Ajedrez
.
Se crea la primera máquina microcomputadora que juega al ajedrez: CHESS CHALLENGER.
"Se cree que 1.000 unidades compusieron esta primera serie cuya característica
más destable es que la numeración de filas y columnas estaba situada
permutada, es decir, las columnas estaban denominadas con números 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 Fidelity Chess
jugadas en el display mediante el sistema de coordenadas. El sistema resultaba Challenger.
1977
muy lioso para los ajedrecistas ya que al estar invertido el sistema de
coordenadas resultaba difícil adaptarse. La computadora disponía de un único nivel de juego. En el
mismo año 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 Creación de la Asociación Internacional de Computadoras de Ajedrez


.
Chess 4.6 se convierte en la primera computadora de ajedrez en conseguir un éxito en un gran torneo
1977
de ajedrez.
1980 Primera edición del Campeonato del Mundo de Microcomputadoras de Ajedrez
1980 Creación del Premio Fredkin.
1981 Cray Blitz gana el Campeonato Estatal de Mississippi con un marcador perfecto de 5-0 y una actuación
de 2258 puntos de ELO. En la ronda 4 derrotó a Joe Sentef (2262) convirtiéndose en la primera
computadora en ganar a un maestro en un torneo y en la primera computadora en conseguir la
calificación de maestro.
1982 El hardware de ajedrez deKen Thompson, Belle, consiguió el título de Maestro de EEUU.
HiTech desarrollada por Hans Berliner y Carl Ebeling gana un match contra el Gran Maestro Arnold
1988
Denker por 3.5 - 0.5.
Deep Thought comparte en primer puesto con Tony Miles en el Campeonato de herramientas Software,
por delante del campeón del mundo de ajedrez Mikhail Tal y varios grandes maestros como Samuel
1988 Reshevsky, Walter Browne, Ernst Gruenfeld y Mijaíl Naumóvich Gurévich. También derrotó al gran
maestro Bent Larsen, siendo la primera computadora en ganar a un GM en un torneo. Su actuación de
ELO en este torneo fue de 2745, la más alta obtenida hasta ese momento por una computadora.
Deep Thought pierde dos partidas de exhibición contra Gari Kaspárov, el campeón del mundo reinante
1989
en ese momento.
Primera vez que una microcomputadora, la máquina Gideon 3.1 de Ed Schroeder, gana el 7º
1992 Campeonato del Mundo de Computadoras de Ajedrez contra mainframes, supercomputadoras y
hardware especial.
1997 Deep Blue gana un match a seis partidas contraGari Kaspárov +2-1=3 (ver [4]).
2002 Vladímir Krámnik entabla un match a ocho partidas contraDeep Fritz.
2003 Kaspárov entabla un match a seis partidas contraDeep Junior.
2003 Kaspárov entabla un match a cuatro partidas contraX3D Fritz.
2005 Hydra derrota a Michael Adams por un contundente 5.5-0.5.
Un equipo de computadoras (Hydra, Deep Junior y Fritz), gana 8.5-3.5 contra un fuerte equipo de
2005 humanos formado porVeselin Topalov, Ruslán Ponomariov y Serguéi Kariakin, que tenía una media de
ELO de 2681.
2006 En el campeonato del mundo oficioso,Vladímir Krámnik es derrotado por Deep Fritz 4-2.

Véase también
Ajedrez
Ajedrez aleatorio de Fischer

Notas
1. Breve reseña sobre la máquina de ajedrez autómata El Turco (https://web.archive.org/web/20070701084709/http://w
ww.portalajedrez.com/anecdotas/turco.php).
2. Artículos publicados en 1951 y 1949 respectivamente por C.Shannon y A.Touring (http://www.dcc.uchile.cl/~jegger/m
emoria/node12.html).
3. «Rebel vs Anand» (http://www.rebel.nl/anand.htm).
4. «Hydra vs Michael Adams» (https://web.archive.org/web/20070811214126/http://www .chess-poster.com/spanish/gra
ndes_juegos/hydra_adams_e/hydra_vs_adams_e.htm) . Archivado desde el original (http://www.chess-poster.com/sp
anish/grandes_juegos/hydra_adams_e/hydra_vs_adams_e.htm)el 11 de agosto de 2007.
5. «G.Kasparov vs. Deep Blue. Primer encuentro» (https://web.archive.org/web/20070522032609/http://www .portalajed
rez.com/visorjsn/KasparovDB1.php). Archivado desde el original (http://www.portalajedrez.com/visorjsn/KasparovDB
1.php) el 22 de mayo de 2007.
6. G.Kasparov vs. Deep Blue. Segundo encuentro (https://web.archive.org/web/20070320155342/http://www .bobby-fisc
her.net/Garry_Kasparov_vs_Deep_Blue_1997_games.html), Página de IBM (http://www.research.ibm.com/deepblu
e/)
7. «Rebel vs Anand» (http://www.rebel.nl/anand.htm).
8. «ChessBase.com - Chess News - Adams vs Hydra: Man 0.5 – Machine 5.5» (http://www.chessbase.com/newsdetail.
asp?newsid=2476).
9. «GM Ehlvest vs. Rybka Engine» (https://web.archive.org/web/20070709091444/http://www .caissaesajedrez.com/ryb
ka.html). Archivado desde el original (http://www.caissaesajedrez.com/rybka.html) el 9 de julio de 2007.
10. «Bases de datos finales»(http://www.dcc.uchile.cl/~jegger/memoria/node57.html).
11. «Kasparov vs. El Resto del Mundo - Polémica»(http://www.elmundo.es/1999/10/22/sociedad/22N0127.html).
12. «Infinity Chess: Freestyle Top 100» (http://www.infinitychess.com/Page/Public/Article/DefaultArticle.aspx?id=83).
13. . El tamaño del espacio del árbol de juego para el ajedrez se estimó por primera vez en Claude Shannon (1950).
«Programming a Computer for Playing Chess»(http://archive.computerhistory.org/projects/chess/related_materials/te
xt/2-0%20and%202-1.Programming_a_computer_for_playing_chess.shannon/2-0%20and%202-1.Programming_a_c
omputer_for_playing_chess.shannon.062303002.pdf) . Philosophical Magazine 41 (314). Shannon dio la estimación
de 1043 y 10120 respectivamente, menor que lo estimado en la tabla de complejidad, que son de la tesis de Victor
Allis. Ver Número de Shannon para más detalles.
14. Ajedrez, una subsección del capítulo 25, Digital Computers Applied to Games, of Faster than Thought, ed. B. V.
Bowden, Pitman, London (1953). Onlinehttp://www.turingarchive.org/browse.php/B/7
15. [1] (http://www.chessgames.com/perl/chessgame?gid=1356927) Una partida jugada por el algoritmo de ajedrez de
Turing

Referencias
Levy, David & Newborn, Monty (1991), Cómo Juegan las Computadoras al Ajedrez, Computer Science Press, ISBN
0-7167-8121-2
Nunn, John (2002), Secretos de los Finales sin Peones, Gambit Publications,ISBN 1-901983-65-X
SHANNON, Claude E. (1950). «Programación de una Computadora para Jugar al Ajedrez». Philosophical Magazine.
41, serie 7 (314).
La Maestría del Juego: Una Historia del Ajedrez por Computadoraen el Museo de Historia de la Computación
Cronología de la Historia del Ajedrez por ordenador de Bill W
all
Ludek Pachman (1982). Martinez Roca, ed. Ajedrez y computadoras. ISBN 84-270-0724-8.

Enlaces externos
Historia del ajedrez por ordenador
Defendiendo el Honor de la Humanidad, un artículo de Tim Krabbé sobre el estilo deajedrez "anti-computadoras"
Club de Ajedrez por ordenador- Boletín en el que los profesionales discuten sobre sus programas
Una guía sobre las bases de datos de finales
Publicación de ajedrez por ordenador de Omid David
GameDev.net -- Programación de Ajedrez por François-Dominic Laramée
Página de Teoría de Ajedrez por ordenador de Colin Frayn
"Cómo Juega REBEL al Ajedrez" po Ed Schröder |268 KiB
"Juega al Ajedrez con Dios"- Juega al ajedrez contra la base de datos de finales de Ken Thompson
"http://www.top-5000.nl/" - Gran Colección de programas de ajedrez y artículos técnicos de Ed Schröder
"MECA-WEB es el Museo Español de Computadoras de Ajedrez, incluye foro de participación"
"Museo de Computadoras de ajedrez Overtom"
Jugar Ajedrez Online con la Computadora- Jugar al ajedrez por Internet
Medios

La Historia del Ajedrez por Ordenador: Una Perspectiva de Inteligencia Artificial. Texto completo - WMV 183MB |
Video en Google apareciendo Murray Campbell (Proyecto IBM Deep Blue), Edward Feigenbaum, David Levy,
John McCarthy y Monty Newborn. enMuseo de Historia de las Computadoras
Video sobre la Historia del Ajedrez por Ordenador ** La Historia del Ajedrez por Ordenador: Una Perspectiva de
Inteligencia Artificial (video de 2 horas)
Clasificación actualizada de los motores de ajedrez

Obtenido de «https://es.wikipedia.org/w/index.php?title=Ajedrez_por_computadora&oldid=108252752
»

Esta página se editó por última vez el 29 may 2018 a las 15:12.

El texto está disponible bajo laLicencia Creative Commons Atribución Compartir Igual 3.0 ; pueden aplicarse cláusulas
adicionales. Al usar este sitio, usted acepta nuestrostérminos de uso y nuestra política de privacidad.
Wikipedia® es una marca registrada de laFundación Wikimedia, Inc., una organización sin ánimo de lucro.

You might also like