Articulo de referencia

ajedrez por computadora

Ordenador de ajedrez de los años 90 con sensor de presión y pantalla LCD El ajedrez por computadora incluye tanto hardware (computadoras dedicadas) como software capaz de jugar ...

Ordenador de ajedrez de los años 90 con sensor de presión y pantalla LCD

El ajedrez por computadora incluye tanto hardware (computadoras dedicadas) como software capaz de jugar ajedrez . El ajedrez por computadora brinda a los jugadores la oportunidad de practicar incluso sin oponentes humanos, y también ofrece oportunidades para el análisis, el entretenimiento y el entrenamiento. Existen aplicaciones de ajedrez por computadora que juegan al nivel de un gran maestro de ajedrez o superior, disponibles en hardware que va desde supercomputadoras hasta teléfonos inteligentes . También hay máquinas de ajedrez independientes. Stockfish , Leela Chess Zero , GNU Chess , Fruit y otras aplicaciones gratuitas de código abierto están disponibles para diversas plataformas.

Las aplicaciones de ajedrez por computadora, ya sean implementadas en hardware o software, utilizan estrategias diferentes a las de los humanos para elegir sus movimientos: emplean métodos heurísticos para construir, buscar y evaluar árboles que representan secuencias de movimientos desde la posición actual, e intentan ejecutar la mejor secuencia posible durante la partida. Estos árboles suelen ser bastante grandes, con miles o incluso millones de nodos. La velocidad de procesamiento de las computadoras modernas, capaces de procesar decenas de miles o cientos de miles de nodos por segundo, junto con las heurísticas de extensión y reducción que limitan el árbol a los nodos más relevantes, hacen que este enfoque sea eficaz.

Las primeras máquinas de ajedrez capaces de jugar al ajedrez o a juegos similares eran programas informáticos que se ejecutaban en ordenadores digitales a principios de la era de los ordenadores de válvulas (década de 1950). Los primeros programas jugaban tan mal que incluso un principiante podía vencerlos. En 1997, en 40 años, los motores de ajedrez que se ejecutaban en superordenadores o hardware especializado eran capaces de derrotar incluso a los mejores jugadores humanos . Para 2006, los programas que se ejecutaban en ordenadores de sobremesa habían alcanzado la misma capacidad. En 2006, Monty Newborn , profesor de Informática en la Universidad McGill , declaró: «La ciencia ya está hecha». Sin embargo, resolver el ajedrez no es posible actualmente para los ordenadores modernos debido a la enorme cantidad de variantes posibles del juego . [ 1 ]

El ajedrez por computadora fue considerado en su momento la " Drosophila de la IA ", la vanguardia de la ingeniería del conocimiento . Actualmente, este campo se considera un paradigma científicamente consolidado, y jugar al ajedrez es una actividad informática cotidiana. [ 2 ]

Disponibilidad y nivel de juego

Circuito integrado de ajedrez por computadora que lleva el nombre del desarrollador Frans Morsch (ver Mephisto ).

En el pasado, se vendían máquinas de ajedrez independientes (generalmente microprocesadores que ejecutaban programas de ajedrez por software; ocasionalmente hardware especializado). Hoy en día, los motores de ajedrez pueden instalarse como software en dispositivos comunes como teléfonos inteligentes y PC , [ 3 ] ya sea solos o junto con programas con interfaz gráfica de usuario (GUI ) como Chessbase y las aplicaciones móviles de Chess.com y Lichess (ambos principalmente sitios web). [ 4 ] Ejemplos de motores gratuitos y de código abierto incluyen Stockfish [ 5 ] y Leela Chess Zero [ 6 ] (Lc0). Chess.com mantiene su propio motor propietario llamado Torch. [ 7 ] Algunos motores de ajedrez, incluido Stockfish, tienen versiones web hechas en lenguajes como WebAssembly y JavaScript . [ 8 ] La mayoría de los programas y sitios de ajedrez ofrecen la posibilidad de analizar posiciones y partidas usando motores de ajedrez, y algunos ofrecen la posibilidad de jugar contra motores (que pueden configurarse para jugar en niveles de fuerza personalizados) como si fueran oponentes normales.

Los requisitos de hardware para los motores de ajedrez son mínimos, pero el rendimiento variará con la velocidad del procesador y la memoria necesaria para almacenar grandes tablas de transposición . La mayoría de los motores de ajedrez modernos, como Stockfish, se basan en redes neuronales actualizables de manera eficiente , diseñadas para ejecutarse exclusivamente en CPU , [ 9 ] [ 10 ] pero Lc0 utiliza redes que dependen del rendimiento de la GPU . [ 11 ] [ 12 ] Se espera que los mejores motores, como Stockfish, venzan de forma fiable a los mejores jugadores del mundo, incluso cuando se ejecutan en hardware de consumo. [ 13 ]

Tipos y características del software de ajedrez

Quizás el tipo más común de software de ajedrez sean los programas que simplemente juegan al ajedrez. Un jugador humano realiza un movimiento en el tablero, la IA calcula y ejecuta el siguiente movimiento, y el humano y la IA se turnan hasta que termina la partida. El motor de ajedrez , que calcula los movimientos, y la interfaz gráfica de usuario (GUI) a veces son programas separados. Se pueden conectar diferentes motores a la GUI, lo que permite jugar contra diferentes estilos de oponente. Los motores suelen tener una interfaz de línea de comandos de texto simple , mientras que las GUI pueden ofrecer una variedad de conjuntos de piezas, estilos de tablero o incluso piezas en 3D o animadas. Debido a la gran capacidad de los motores recientes, estos o las GUI pueden ofrecer alguna forma de limitar la capacidad del motor para mejorar las probabilidades de victoria del jugador humano. Los motores de la Interfaz Universal de Ajedrez (UCI), como Fritz o Rybka, pueden tener un mecanismo integrado para reducir la puntuación Elo del motor (a través de los parámetros uci_limitstrength y uci_elo de la UCI). Algunas versiones de Fritz incluyen un modo de desventaja y otro de diversión para limitar el motor del juego, modificar el porcentaje de errores o cambiar su estilo. Fritz también cuenta con un modo amigo en el que, durante la partida, intenta igualar el nivel del jugador.

Captura de pantalla de Ajedrez , un componente de macOS

Las bases de datos de ajedrez permiten a los usuarios buscar en una amplia biblioteca de partidas históricas, analizarlas, consultar estadísticas y formular un repertorio de aperturas. Chessbase (para PC) es un programa común para estos fines entre los jugadores profesionales, pero existen alternativas como Shane's Chess Information Database (SCID) [ 14 ] para Windows, Mac o Linux, Chess Assistant [ 15 ] para PC, [ 16 ] Chess PGN Master de Gerhard Kalab para Android [ 17 ] o Chess-Studio de Giordano Vicoli para iOS. [ 18 ]

Programas como Playchess permiten a los jugadores enfrentarse entre sí a través de Internet.

Los programas de entrenamiento de ajedrez enseñan ajedrez. Chessmaster tenía tutoriales de partidas del MI Josh Waitzkin y el GM Larry Christiansen . Stefan Meyer-Kahlen ofrece Shredder Chess Tutor basado en los libros de texto Step de Rob Brunia y Cor Van Wijgerden. La compañía Play Magnus del excampeón mundial Magnus Carlsen lanzó una aplicación Magnus Trainer para Android e iOS. Chessbase tiene Fritz y Chesster para niños. Convekta ofrece una gran cantidad de aplicaciones de entrenamiento como CT-ART y su línea Chess King basada en tutoriales del GM Alexander Kalinin y Maxim Blokh.

También existe software para resolver problemas de ajedrez .

Computadoras versus humanos

Tras descubrir el análisis de refutación —la aplicación de la poda alfa-beta para optimizar la evaluación de movimientos— en 1957, un equipo de la Universidad Carnegie Mellon predijo que una computadora derrotaría al campeón mundial humano en 1967. [ 19 ] No previeron la dificultad de determinar el orden correcto para evaluar los movimientos. Los investigadores trabajaron para mejorar la capacidad de los programas para identificar heurísticas letales , movimientos con puntuaciones inusualmente altas para reexaminar al evaluar otras ramas, pero en la década de 1970 la mayoría de los mejores jugadores de ajedrez creían que las computadoras no pronto podrían jugar a nivel de Maestro . [ 20 ] En 1968, el Maestro Internacional David Levy hizo una famosa apuesta de que ninguna computadora de ajedrez podría vencerlo en diez años, [ 21 ] y en 1976 el Maestro Superior y profesor de psicología Eliot Hearst de la Universidad de Indiana escribió que "la única manera en que un programa de computadora actual podría ganar una sola partida contra un jugador maestro sería que el maestro, tal vez en un estado de embriaguez mientras juega 50 partidas simultáneamente, cometiera algún error que ocurre una vez al año". [ 20 ]

A finales de la década de 1970, los programas de ajedrez comenzaron a derrotar a jugadores humanos altamente cualificados. [ 20 ] El año de la declaración de Hearst, Chess 4.5 de la Universidad Northwestern, en el nivel Clase B del Campeonato Americano de Ajedrez Paul Masson , se convirtió en el primero en ganar un torneo humano. Levy ganó su apuesta en 1978 al vencer a Chess 4.7 , pero logró la primera victoria de una computadora contra un jugador de clase Maestro en el nivel de torneo al ganar una de las seis partidas. [ 21 ] En 1980, Belle comenzó a derrotar con frecuencia a Maestros. Para 1982, dos programas jugaban a nivel Maestro y tres eran ligeramente más débiles. [ 20 ]

La mejora repentina sin un avance teórico fue inesperada, ya que muchos no esperaban que la capacidad de Belle para examinar 100.000 posiciones por segundo —aproximadamente ocho jugadas— fuera suficiente. Los Spracklen, creadores del exitoso programa para microcomputadoras Sargon , estimaron que el 90% de la mejora provino de una mayor velocidad de evaluación y solo el 10% de evaluaciones mejoradas. New Scientist afirmó en 1982 que las computadoras "juegan ajedrez terrible ... torpes, ineficientes, difusas y simplemente feas", pero los humanos perdían contra ellas al cometer "errores garrafales, lapsos asombrosos, descuidos incomprensibles, errores de cálculo graves y similares" con mucha más frecuencia de lo que creían; "en resumen, las computadoras ganan principalmente gracias a su capacidad para encontrar y explotar errores de cálculo en las iniciativas humanas". [ 20 ]

Para 1982, los programas de ajedrez para microcomputadoras podían evaluar hasta 1500 movimientos por segundo y eran tan fuertes como los programas de ajedrez para mainframes de cinco años antes, capaces de derrotar a la mayoría de los jugadores aficionados. Si bien solo podían anticipar uno o dos movimientos más que en su debut a mediados de la década de 1970, hacerlo mejoró su juego más de lo que esperaban los expertos; mejoras aparentemente menores "parecen haber permitido cruzar un umbral psicológico, después del cual se hace accesible una gran cantidad de errores humanos", escribió New Scientist . [ 20 ] Al revisar SPOC en 1984, BYTE escribió que "las computadoras —mainframes, minicomputadoras y microcomputadoras— tienden a jugar un ajedrez feo y poco elegante", pero señaló la declaración de Robert Byrne de que "tácticamente están más libres de errores que el jugador humano promedio". La revista describió SPOC como un "programa de ajedrez de vanguardia" para la IBM PC con un nivel de juego "sorprendentemente alto" y estimó su calificación USCF en 1700 (Clase B). [ 22 ]

En el Campeonato Norteamericano de Ajedrez por Computadora de 1982 , Monroe Newborn predijo que un programa de ajedrez podría convertirse en campeón mundial en cinco años; el director del torneo y Maestro Internacional Michael Valvo predijo diez años; los Spracklens predijeron 15; Ken Thompson predijo más de 20; y otros predijeron que nunca sucedería. Sin embargo, la opinión más extendida afirmaba que ocurriría alrededor del año 2000. [ 23 ] En 1989, Levy fue derrotado por Deep Thought en un encuentro de exhibición. Deep Thought, sin embargo, todavía estaba considerablemente por debajo del nivel de un Campeonato Mundial, como lo demostró el vigente campeón mundial, Garry Kasparov , en dos sólidas victorias en 1989. No fue hasta un encuentro de 1996 con Deep Blue de IBM que Kasparov perdió su primer juego contra una computadora con controles de tiempo de torneo en Deep Blue versus Kasparov, 1996, juego 1. Este juego fue, de hecho, la primera vez que un vigente campeón mundial perdió contra una computadora usando controles de tiempo regulares. Sin embargo, Kasparov se recuperó y ganó tres y empató dos de los cinco juegos restantes del encuentro, logrando así una victoria convincente.

En mayo de 1997, una versión actualizada de Deep Blue derrotó a Kasparov por 3½–2½ en un combate de revancha. En 2003 se realizó un documental, titulado Game Over: Kasparov and the Machine , que trata principalmente sobre este enfrentamiento .

Con una mayor capacidad de procesamiento y funciones de evaluación mejoradas, los programas de ajedrez que se ejecutaban en estaciones de trabajo disponibles comercialmente comenzaron a rivalizar con los mejores jugadores. En 1998, Rebel 10 derrotó a Viswanathan Anand , quien en ese momento ocupaba el segundo puesto en el ranking mundial, por un marcador de 5-3. Sin embargo, la mayoría de esas partidas no se jugaron con controles de tiempo normales. De las ocho partidas, cuatro fueron partidas blitz (cinco minutos más cinco segundos de retraso Fischer por cada movimiento); Rebel ganó estas 3-1. Dos fueron partidas rápidas (quince minutos por jugador) que Rebel también ganó (1½–½). Finalmente, dos partidas se jugaron como partidas regulares de torneo con controles de tiempo clásicos (cuarenta movimientos en dos horas, una hora de muerte súbita); en estas fue Anand quien ganó ½–1½. [ 24 ] En partidas rápidas, las computadoras jugaron mejor que los humanos, pero con controles de tiempo clásicos, en los que se determina la calificación de un jugador, la ventaja no fue tan clara.

A principios de la década de 2000, programas disponibles comercialmente como Junior y Fritz lograron emparejar a jugadores con el excampeón mundial Garry Kasparov y el campeón mundial de ajedrez clásico Vladimir Kramnik .

En octubre de 2002, Vladimir Kramnik y Deep Fritz compitieron en el encuentro Brains in Bahrain , de ocho partidas , que terminó en tablas. Kramnik ganó las partidas 2 y 3 mediante tácticas anticomputadora "convencionales" : jugar de forma conservadora para obtener una ventaja a largo plazo que la computadora no puede detectar en su árbol de juego . Sin embargo, Fritz ganó la partida 5 tras un grave error de Kramnik. La partida 6 fue descrita por los comentaristas del torneo como "espectacular". Kramnik, en una mejor posición al comienzo del medio juego , intentó un sacrificio de pieza para lograr un fuerte ataque táctico, una estrategia conocida por ser muy arriesgada contra las computadoras, que son expertas en defenderse de tales ataques. Como era de esperar, Fritz encontró una defensa sólida y el ataque de Kramnik se desvaneció, dejándolo en una mala posición. Kramnik abandonó la partida, creyendo que la posición estaba perdida. Sin embargo, el análisis posterior de humanos y computadoras demostró que era improbable que el programa Fritz hubiera podido forzar la victoria y que Kramnik, en efecto, sacrificó una posición de tablas. Los dos últimos partidos terminaron en empate. Dadas las circunstancias, la mayoría de los comentaristas siguen considerando a Kramnik el jugador más fuerte del encuentro.

En enero de 2003, Kasparov jugó contra Junior , otro programa informático de ajedrez, en la ciudad de Nueva York. El encuentro terminó 3-3.

En noviembre de 2003, Kasparov jugó contra X3D Fritz . El partido terminó 2-2.

En 2005, Hydra , una computadora de ajedrez dedicada con hardware personalizado y sesenta y cuatro procesadores, y también ganadora del 14.º IPCCC en 2005, derrotó a Michael Adams, séptimo clasificado, por 5½–½ en un encuentro de seis partidas (aunque la preparación de Adams fue mucho menos exhaustiva que la de Kramnik para la serie de 2002). [ 25 ]

En noviembre y diciembre de 2006, el campeón mundial Vladimir Kramnik jugó una partida de Deep Fritz. En esta ocasión, la computadora ganó; el encuentro terminó 2-4. Kramnik pudo consultar el libro de aperturas de la computadora. En las primeras cinco partidas, Kramnik condujo el juego hacia una típica contienda posicional "anticomputadora". Perdió una partida ( pasando por alto un jaque mate en una de ellas ) y empató las cuatro siguientes. En la última partida, en un intento por empatar el encuentro, Kramnik jugó la Defensa Siciliana, más agresiva , y fue aplastado.

Se especuló con que el interés en las competiciones de ajedrez humano-computadora se desplomaría como resultado del encuentro Kramnik-Deep Fritz de 2006. [ 26 ] Según Newborn, por ejemplo, "la ciencia está hecha". [ 27 ]

Los encuentros de ajedrez entre humanos y computadoras mostraron que los mejores sistemas informáticos superaban a los campeones humanos de ajedrez a finales de la década de 1990. Durante los 40 años anteriores, la tendencia había sido que las mejores máquinas ganaban alrededor de 40 puntos por año en la clasificación Elo, mientras que los mejores humanos solo ganaban aproximadamente 2 puntos por año. [ 28 ] La clasificación más alta obtenida por una computadora en una competición humana fue la clasificación USCF de Deep Thought de 2551 en 1988 y la FIDE ya no acepta resultados de humanos contra computadoras en sus listas de clasificación. Se han creado grupos Elo especializados solo para máquinas para clasificar máquinas, pero tales números, aunque similares en apariencia, no se comparan directamente. [ 29 ] En 2016, la Asociación Sueca de Computadoras de Ajedrez clasificó al programa de computadora Komodo en 3361.

Los motores de ajedrez siguen mejorando. En 2009, los motores de ajedrez que se ejecutaban en hardware más lento alcanzaron el nivel de gran maestro . Un teléfono móvil ganó un torneo de categoría 6 con una calificación de rendimiento de 2898: el motor de ajedrez Hiarcs 13 que se ejecutaba dentro de Pocket Fritz 4 en el teléfono móvil HTC Touch HD ganó el torneo Copa Mercosur en Buenos Aires , Argentina, con 9 victorias y 1 empate del 4 al 14 de agosto de 2009. [ 30 ] Pocket Fritz 4 busca menos de 20 000 posiciones por segundo. [ 31 ] Esto contrasta con supercomputadoras como Deep Blue que buscaban 200  millones de posiciones por segundo con una calificación de rendimiento de 2880.

El ajedrez avanzado es una modalidad desarrollada en 1998 por Kasparov, donde un humano juega contra otro humano, y ambos tienen acceso a computadoras para mejorar su fuerza. Kasparov sostenía que el jugador "avanzado" resultante era más fuerte que un humano o una computadora por separado. Esto se ha demostrado en numerosas ocasiones, como en eventos de ajedrez libre.

Los jugadores de hoy en día tienden a tratar a los programas de ajedrez como herramientas de análisis en lugar de oponentes. [ 32 ] El gran maestro de ajedrez Andrew Soltis declaró en 2016: "Las computadoras son demasiado buenas" y que el campeón mundial Magnus Carlsen no juega ajedrez por computadora porque "simplemente pierde todo el tiempo y no hay nada más deprimente que perder sin siquiera estar en la partida". [ 33 ]

métodos informáticos

Desde la era de las máquinas mecánicas que jugaban finales de torre y rey ​​y las máquinas eléctricas que jugaban otros juegos como el hexágono a principios del siglo XX, científicos y teóricos han buscado desarrollar una representación procedimental de cómo los humanos aprenden, recuerdan, piensan y aplican el conocimiento, y el ajedrez, debido a su abrumadora complejidad, se convirtió en la " Drosophila de la inteligencia artificial (IA)". [ Nota 1 ] La resolución procedimental de la complejidad se convirtió en sinónimo de pensamiento, y las primeras computadoras, incluso antes de la era de los autómatas de ajedrez, eran conocidas popularmente como "cerebros electrónicos". Se idearon varios esquemas diferentes a partir de la segunda mitad del siglo XX para representar el conocimiento y el pensamiento, aplicados al juego de ajedrez (y otros juegos como las damas):

Utilizando heurísticas de "fines y medios", un jugador de ajedrez humano puede determinar intuitivamente los resultados óptimos y cómo alcanzarlos, independientemente del número de movimientos necesarios; sin embargo, una computadora debe ser sistemática en su análisis. La mayoría de los jugadores coinciden en que es necesario anticipar al menos cinco movimientos (diez jugadas ) cuando sea preciso para jugar bien. Las reglas normales de los torneos otorgan a cada jugador un promedio de tres minutos por movimiento. En promedio, existen más de 30 movimientos legales por posición de ajedrez, por lo que una computadora debe examinar un cuatrillón de posibilidades para anticipar diez jugadas (cinco movimientos completos); una que pudiera examinar un millón de posiciones por segundo requeriría más de 30 años. [ 20 ]

Los primeros intentos de representaciones procedimentales del ajedrez precedieron a la era digital, pero fue la computadora digital de programas almacenados la que permitió calcular tal complejidad. En 1949, Claude Shannon expuso los principios de la solución algorítmica del ajedrez. En ese artículo, el juego se representa mediante un "árbol" o estructura de datos digital de opciones (ramas) que corresponden a los movimientos. Los nodos del árbol eran las posiciones en el tablero resultantes de las opciones de movimiento. La imposibilidad de representar una partida completa de ajedrez construyendo un árbol desde el primer movimiento hasta el último fue inmediatamente evidente: hay un promedio de 36 movimientos por posición en el ajedrez y una partida promedio dura unos 35 movimientos hasta la rendición (60-80 movimientos si se juega a jaque mate, tablas por ahogado u otro resultado similar). Hay 400 posiciones posibles después del primer movimiento de cada jugador, alrededor de 200.000 después de dos movimientos cada uno, y casi 120  millones después de solo 3 movimientos cada uno.

Así pues, se propuso una búsqueda anticipada limitada hasta cierta profundidad, seguida del uso de conocimientos específicos del dominio para evaluar las posiciones terminales resultantes. Se obtendría una especie de posición intermedia, dadas las buenas jugadas de ambos bandos, y su evaluación informaría al jugador sobre la conveniencia o inconveniencia de las jugadas elegidas. Las operaciones de búsqueda y comparación en el árbol se adaptaban bien al cálculo informático; la representación del conocimiento ajedrecístico sutil en la función de evaluación no. Los primeros programas de ajedrez adolecieron de ambas deficiencias: la búsqueda en el vasto árbol requería recursos computacionales muy superiores a los disponibles, y descubrir qué conocimiento ajedrecístico era útil y cómo debía codificarse llevaría décadas.

Los desarrolladores de un sistema informático para jugar al ajedrez deben decidir sobre una serie de cuestiones fundamentales de implementación. Estas incluyen:

  • Interfaz gráfica de usuario (GUI): cómo se introducen y comunican los movimientos al usuario, cómo se registra la partida, cómo se configuran los controles de tiempo y otras consideraciones de la interfaz.
  • Representación en la junta directiva : cómo se representa un único puesto en las estructuras de datos;
  • Técnicas de búsqueda: cómo identificar los posibles movimientos y seleccionar los más prometedores para un examen más detallado;
  • Evaluación de posiciones iniciales : cómo evaluar el valor de una posición en el tablero si no se realizará ninguna otra búsqueda desde esa posición.

Adriaan de Groot entrevistó a varios ajedrecistas de distintos niveles y concluyó que tanto maestros como principiantes analizan entre cuarenta y cincuenta posiciones antes de decidir qué jugada realizar. Lo que distingue a los primeros es que utilizan habilidades de reconocimiento de patrones desarrolladas con la experiencia. Esto les permite examinar algunas líneas con mayor profundidad que otras, simplemente descartando jugadas que consideran erróneas. Otra prueba de ello es la facilidad con la que los buenos jugadores humanos recuerdan posiciones de partidas reales, descomponiéndolas en un número reducido de subposiciones reconocibles, en lugar de arreglos completamente aleatorios de las mismas piezas. En cambio, los jugadores principiantes tienen el mismo nivel de memoria para ambas.

En ajedrez computacional, el equivalente a esto son las funciones de evaluación de hojas, que corresponden a las habilidades de reconocimiento de patrones de los jugadores humanos, y el uso de técnicas de aprendizaje automático para entrenarlas, como la optimización de Texel, el descenso de gradiente estocástico y el aprendizaje por refuerzo , que corresponden a la acumulación de experiencia en los jugadores humanos. Esto permite que los programas modernos examinen algunas líneas con mucha mayor profundidad que otras mediante la poda hacia adelante y otras heurísticas selectivas para simplemente descartar movimientos que el programa considera deficientes a través de su función de evaluación, del mismo modo que lo hacen los jugadores humanos. La única diferencia fundamental entre un programa informático y un humano en este sentido es que un programa informático puede buscar mucho más profundamente que un jugador humano, lo que le permite explorar más nodos y sortear el efecto horizonte en mayor medida que los jugadores humanos.

Interfaz gráfica de usuario

Los programas de ajedrez por computadora suelen ser compatibles con varios estándares comunes . Casi todos los programas actuales pueden leer y escribir movimientos de juego en formato PGN ( Portable Game Notation ) y posiciones individuales en formato FEN ( Forsyth-Edwards Notation ). Los programas de ajedrez más antiguos a menudo solo entendían notación algebraica larga , pero hoy en día los usuarios esperan que entiendan la notación algebraica estándar .

A partir de finales de la década de 1990, los programadores comenzaron a desarrollar por separado motores de ajedrez (con una interfaz de línea de comandos que calcula qué movimientos son los más fuertes en una posición) o una interfaz gráfica de usuario (GUI) que proporciona al jugador un tablero visual y piezas que puede mover. Los motores comunican sus movimientos a la GUI mediante un protocolo como el Protocolo de Comunicación de Motores de Ajedrez (CECP) o la Interfaz Universal de Ajedrez (UCI). Al dividir los programas de ajedrez en estas dos partes, los desarrolladores pueden escribir solo la interfaz de usuario o solo el motor, sin necesidad de escribir ambas partes del programa. (Véase también motor de ajedrez ).

Los desarrolladores deben decidir si conectar el motor a un libro de aperturas y/o bases de datos de finales o dejar esto en manos de la interfaz gráfica de usuario (GUI).

Representaciones en la junta directiva

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 piezas almacenadas en una matriz ("buzón" y "0x88"), posiciones de piezas almacenadas en una lista ("lista de piezas"), colecciones de conjuntos de bits para ubicaciones de piezas (" tableros de bits ") y posiciones codificadas en Huffman para un almacenamiento compacto a largo plazo.

Técnicas de búsqueda

Los programas de ajedrez por computadora consideran los movimientos como un árbol de juego . En teoría, examinan todos los movimientos, luego todos los contramovimientos a esos movimientos, luego todos los movimientos que los contrarrestan, y así sucesivamente, donde cada movimiento individual de un jugador se denomina " jugada ". Esta evaluación continúa hasta que se alcanza una profundidad de búsqueda máxima o el programa determina que se ha llegado a una posición final (por ejemplo, jaque mate).

Un tipo particular de algoritmo de búsqueda utilizado en el ajedrez computacional son los algoritmos de búsqueda minimax , donde en cada jugada se selecciona el "mejor" movimiento del jugador; un jugador intenta maximizar la puntuación, el otro minimizarla. Mediante este proceso alterno, se llega a un nodo terminal específico cuya evaluación representa el valor buscado de la posición. Su valor se guarda en la raíz, y esa evaluación se convierte en la valoración de la posición en el tablero. Este proceso de búsqueda se denomina minimax.

Una implementación básica del algoritmo minimax solo permite explorar a una profundidad reducida en un tiempo razonable, por lo que se han ideado diversos métodos para acelerar considerablemente la búsqueda de buenas opciones. La poda alfa-beta , un sistema que define límites superiores e inferiores para los posibles resultados de la búsqueda y busca hasta que dichos límites coincidan, se utiliza habitualmente para reducir el espacio de búsqueda del programa.

Además, también se utilizan diversas heurísticas de búsqueda selectiva, como la búsqueda de quiescencia , la poda hacia adelante, las extensiones de búsqueda y las reducciones de búsqueda. Estas heurísticas se activan en función de ciertas condiciones para descartar movimientos obviamente malos (movimientos históricos) o para investigar nodos interesantes (por ejemplo, extensiones de jaque, peones pasados ​​en la séptima fila , etc.). Sin embargo, estas heurísticas de búsqueda selectiva deben usarse con mucho cuidado. Si el programa se extiende demasiado, pierde demasiado tiempo analizando posiciones poco interesantes. Si se poda o reduce demasiado, existe el riesgo de omitir nodos interesantes.

La búsqueda en árbol de Monte Carlo (MCTS) es un algoritmo de búsqueda heurística que expande el árbol de búsqueda mediante muestreo aleatorio del espacio de búsqueda. Una versión de la búsqueda en árbol de Monte Carlo comúnmente utilizada en ajedrez computacional es PUCT, que aplica límites de confianza y predictores superiores a los árboles.

Los motores AlphaZero y Leela Chess Zero de DeepMind utilizan MCTS en lugar de minimax. Estos motores emplean el procesamiento por lotes en unidades de procesamiento gráfico (GPU) para calcular sus funciones de evaluación y su estrategia (selección de movimientos), por lo que requieren un algoritmo de búsqueda paralela , ya que los cálculos en la GPU son inherentemente paralelos. Los algoritmos de poda minimax y alfa-beta utilizados en el ajedrez computacional son inherentemente seriales, por lo que no funcionarían bien con el procesamiento por lotes en la GPU. Por otro lado, MCTS es una buena alternativa, ya que el muestreo aleatorio utilizado en la búsqueda en árbol de Monte Carlo se presta bien a la computación paralela, y es la razón por la que casi todos los motores que admiten cálculos en la GPU utilizan MCTS en lugar de alfa-beta.

Otras optimizaciones

Se pueden utilizar muchas otras optimizaciones para fortalecer los programas de ajedrez. Por ejemplo, las tablas de transposición se utilizan para registrar posiciones previamente evaluadas, evitando así su recálculo. Las tablas de refutación registran movimientos clave que "refutan" lo que parece ser un buen movimiento; estos se suelen probar primero en posiciones variantes (ya que un movimiento que refuta una posición probablemente refute otra). El inconveniente es que las tablas de transposición con profundidades de juego elevadas pueden llegar a ser muy grandes: decenas o cientos de millones de entradas. La tabla de transposición Deep Blue de IBM en 1996, por ejemplo, tenía 500  millones de entradas. Las tablas de transposición demasiado pequeñas pueden provocar que se dedique más tiempo a buscar entradas inexistentes debido al threshing que el tiempo ahorrado por las entradas encontradas. Muchos motores de ajedrez utilizan la ponderación , buscando en niveles más profundos del tiempo del oponente, de forma similar a los seres humanos, para aumentar su fuerza de juego.

Por supuesto, un hardware más rápido y mayor memoria pueden mejorar la potencia de juego de un programa de ajedrez. Las arquitecturas Hyper-Threading pueden mejorar ligeramente el rendimiento si el programa se ejecuta en un solo núcleo o en un número reducido de ellos. La mayoría de los programas modernos están diseñados para aprovechar los múltiples núcleos y realizar búsquedas paralelas. Otros programas están diseñados para ejecutarse en un ordenador de propósito general y asignan la generación de movimientos, la búsqueda paralela o la evaluación a procesadores dedicados o coprocesadores especializados.

Historia

El primer artículo sobre búsqueda en ajedrez fue de Claude Shannon en 1950. [ 34 ] Predijo las dos principales estrategias de búsqueda posibles que se utilizarían, a las que denominó "Tipo A" y "Tipo B", [ 35 ] antes de que alguien hubiera programado una computadora para jugar ajedrez.

Los programas de tipo A utilizarían un enfoque de " fuerza bruta ", examinando cada posición posible para un número fijo de movimientos utilizando un algoritmo minimax ingenuo puro . Shannon creía que esto sería poco práctico por dos razones.

En primer lugar, con aproximadamente treinta movimientos posibles en una posición típica de la vida real, estimó que buscar las aproximadamente 10⁹ posiciones involucradas al anticipar tres movimientos para ambos bandos (seis pliés ) tomaría alrededor de dieciséis minutos, incluso en el caso "muy optimista" de que la computadora de ajedrez evaluara un millón de posiciones por segundo. (Se tardaron unos cuarenta años en alcanzar esta velocidad). Un algoritmo de búsqueda posterior llamado poda alfa-beta , un sistema para definir límites superiores e inferiores en los posibles resultados de búsqueda y buscar hasta que los límites coincidieran, redujo el factor de ramificación del árbol de juego logarítmicamente, pero aún no era factible para los programas de ajedrez de la época explotar la explosión exponencial del árbol.

En segundo lugar, ignoró el problema de la quietud, tratando de evaluar únicamente una posición que se encuentra al final de un intercambio de piezas u otra secuencia importante de movimientos ("líneas"). Preveía que adaptar el algoritmo minimax para abordar esto aumentaría considerablemente el número de posiciones que debían analizarse y ralentizaría aún más el programa. Preveía que adaptar el algoritmo de tipo A para abordar esto aumentaría considerablemente el número de posiciones que debían analizarse y ralentizaría aún más el programa.

Esto condujo naturalmente a lo que se conoce como "búsqueda selectiva" o "búsqueda de tipo B", que utiliza el conocimiento del ajedrez (heurísticas) para seleccionar algunos movimientos supuestamente buenos de cada posición para buscar, y descartar los demás sin buscar. En lugar de desperdiciar potencia de procesamiento examinando movimientos malos o triviales, Shannon sugirió que los programas de tipo B utilizarían dos mejoras:

  1. Utilice una búsqueda de quiescencia .
  2. Utilice la poda hacia adelante; es decir, considere solo unos pocos movimientos buenos para cada posición.

Esto les permitiría analizar con mayor profundidad las líneas más significativas en un tiempo razonable. Sin embargo, los primeros intentos de búsqueda selectiva a menudo resultaban en el descarte de la mejor jugada o jugadas. Como consecuencia, se logró poco o ningún progreso durante los siguientes 25 años, dominados por esta primera versión del paradigma de búsqueda selectiva. El mejor programa producido en este período inicial fue Mac Hack VI en 1967; jugaba aproximadamente al mismo nivel que el aficionado promedio (clase C en la escala de clasificación de la Federación de Ajedrez de Estados Unidos).

Mientras tanto, el hardware siguió mejorando y, en 1974, se implementó por primera vez la búsqueda por fuerza bruta en el programa Chess 4.0 de la Universidad Northwestern. En este método, se buscan todas las alternativas de movimiento en un nodo y no se descarta ninguna. Descubrieron que el tiempo necesario para simplemente buscar todos los movimientos era mucho menor que el necesario para aplicar heurísticas intensivas en conocimiento para seleccionar solo algunos de ellos, y el beneficio de no descartar prematuramente o inadvertidamente buenos movimientos resultó en un rendimiento sustancialmente superior.

En las décadas de 1980 y 1990, finalmente se logró un progreso en el paradigma de búsqueda selectiva, con el desarrollo de la búsqueda quiescente , la poda de movimientos nulos y otras heurísticas modernas de búsqueda selectiva. Estas heurísticas presentaban muchos menos errores que las heurísticas anteriores y se consideró que valían la pena por el tiempo adicional que ahorraban, ya que podían buscar más profundamente y fueron ampliamente adoptadas por muchos motores. Si bien muchos programas modernos utilizan la búsqueda alfa-beta como base para su algoritmo de búsqueda, estas heurísticas adicionales de búsqueda selectiva utilizadas en los programas modernos implican que el programa ya no realiza una búsqueda de "fuerza bruta". En cambio, dependen en gran medida de estas heurísticas de búsqueda selectiva para extender las líneas que el programa considera buenas y podar y reducir las líneas que considera malas, hasta el punto de que la mayoría de los nodos en el árbol de búsqueda se podan, lo que permite a los programas modernos buscar muy profundamente.

En 2006, Rémi Coulom creó la búsqueda en árbol de Monte Carlo , otro tipo de búsqueda selectiva de tipo B. En 2007, Levente Kocsis y Csaba Szepesvári crearon una adaptación de la búsqueda en árbol de Monte Carlo llamada límites superiores de confianza aplicados a árboles (UCT, por sus siglas en inglés). En 2011, Chris Rosin desarrolló una variación de UCT llamada predictor + límites superiores de confianza aplicados a árboles (PUCT, por sus siglas en inglés). PUCT se utilizó posteriormente en AlphaZero en 2017 y, más tarde, en Leela Chess Zero en 2018.

Conocimiento versus búsqueda (velocidad del procesador)

En la década de 1970, la mayoría de los programas de ajedrez se ejecutaban en supercomputadoras como las Control Data Cyber ​​176 o las Cray-1, lo que indica que, durante ese período de desarrollo del ajedrez computacional, la potencia de procesamiento era el factor limitante del rendimiento. La mayoría de los programas de ajedrez tenían dificultades para realizar búsquedas a una profundidad superior a 3 jugadas. No fue hasta la llegada de las máquinas de ajedrez de hardware en la década de 1980 que se hizo evidente la relación entre la velocidad del procesador y el conocimiento codificado en la función de evaluación.

Se ha estimado que duplicar la velocidad de la computadora genera aproximadamente entre cincuenta y setenta puntos Elo en fuerza de juego ( Levy y Newborn 1991 : 192) .

Evaluación de hojas

En la mayoría de las posiciones de ajedrez, los ordenadores no pueden prever todas las posibles posiciones finales. En su lugar, deben analizar algunas jugadas y comparar las posiciones posibles, conocidas como hojas. El algoritmo que evalúa las hojas se denomina "función de evaluación", y estos algoritmos suelen ser muy diferentes entre los distintos programas de ajedrez. Las funciones de evaluación suelen evaluar las posiciones en centésimas de peón (llamadas centipeones), donde, por convención, una evaluación positiva favorece a las blancas y una negativa a las negras. Sin embargo, algunas funciones de evaluación muestran porcentajes de victoria/empate/derrota en lugar de centipeones.

Históricamente, las funciones de evaluación manuales consideran el valor material junto con otros factores que afectan la fuerza de cada bando. Al contabilizar el material de cada bando, los valores típicos para las piezas son 1 punto para un peón , 3 puntos para un caballo o alfil , 5 puntos para una torre y 9 puntos para una reina . (Véase Valor relativo de las piezas de ajedrez ). Al rey a veces se le da un valor arbitrariamente alto, como 200 puntos ( artículo de Shannon ), para asegurar que un jaque mate supere a todos los demás factores ( Levy y Newborn 1991 :45) . Además de los puntos para las piezas, la mayoría de las funciones de evaluación manuales toman en cuenta muchos factores, como la estructura de peones, el hecho de que un par de alfiles generalmente valen más, las piezas centralizadas valen más, etc. Generalmente se considera la protección de los reyes, así como la fase del juego (apertura, medio juego o final). Las técnicas de aprendizaje automático, como el texel turning, el descenso de gradiente estocástico o el aprendizaje por refuerzo , se suelen utilizar para optimizar las funciones de evaluación diseñadas manualmente.

La mayoría de las funciones de evaluación modernas utilizan redes neuronales . La función de evaluación más común en uso hoy en día es la red neuronal actualizable eficientemente , que es una red neuronal superficial cuyas entradas son tablas de piezas y casillas . Las tablas de piezas y casillas son un conjunto de 64 valores que corresponden a las casillas del tablero de ajedrez, y normalmente existe una tabla de piezas y casillas para cada pieza y color, lo que resulta en 12 tablas de piezas y casillas y, por lo tanto, 768 entradas para la red neuronal. Además, algunos motores utilizan redes neuronales profundas en su función de evaluación. Las redes neuronales generalmente se entrenan utilizando algún algoritmo de aprendizaje por refuerzo , junto con aprendizaje supervisado o no supervisado .

La salida de la función de evaluación es un único escalar, cuantificado en centipeones u otras unidades, que, en el caso de funciones de evaluación diseñadas manualmente, es una suma ponderada de los diversos factores descritos, o en el caso de funciones de evaluación basadas en redes neuronales, es la salida de la cabeza de la red neuronal. La evaluación representa o aproxima el valor del subárbol situado debajo del nodo evaluado, como si se hubiera explorado hasta el final de la partida. Durante la búsqueda, una evaluación se compara con las evaluaciones de otras hojas, eliminando los nodos que representan movimientos malos o deficientes para cualquiera de los bandos, para obtener un nodo que, por convergencia, representa el valor de la posición con el mejor juego para ambos bandos.

Bases de tablas de final de partida

El juego de finales había sido durante mucho tiempo una de las mayores debilidades de los programas de ajedrez debido a la profundidad de búsqueda necesaria. Algunos programas, por lo demás de nivel maestro, eran incapaces de ganar en posiciones donde incluso jugadores humanos de nivel intermedio podían forzar la victoria.

Para resolver este problema, se han utilizado ordenadores para analizar completamente algunas posiciones de finales de ajedrez , comenzando con rey y peón contra rey. Estas bases de datos de finales se generan con antelación mediante un análisis retrógrado , partiendo de posiciones cuyo resultado final se conoce (por ejemplo, cuando un bando ha recibido jaque mate) y observando qué otras posiciones están a un movimiento de ellas, luego cuáles están a un movimiento de esas, y así sucesivamente. Ken Thompson fue un pionero en este campo.

Los resultados del análisis informático a veces sorprendían. En 1977, la máquina de ajedrez Belle de Thompson utilizó la base de datos de finales de rey y torre contra rey y reina , y logró empatar ese final teóricamente perdido contra varios maestros (véase la posición Philidor#Reina contra torre ). Esto ocurrió a pesar de no seguir la estrategia habitual de retrasar la derrota manteniendo al rey y la torre defensores juntos el mayor tiempo posible. Cuando se le pidió que explicara las razones detrás de algunos de los movimientos del programa, Thompson no pudo hacerlo, limitándose a decir que la base de datos del programa simplemente devolvía los mejores movimientos.

La mayoría de los grandes maestros se negaron a jugar contra la computadora en el final de dama contra torre, pero Walter Browne aceptó el desafío. Se planteó una posición de dama contra torre en la que la dama podía ganar en treinta movimientos, con un juego perfecto. Browne disponía de dos horas y media para jugar cincuenta movimientos; de lo contrario, se reclamarían tablas según la regla de los cincuenta movimientos . Tras cuarenta y cinco movimientos, Browne aceptó las tablas, al no poder forzar el jaque mate ni ganar la torre en los siguientes cinco movimientos. En la posición final, Browne aún estaba a diecisiete movimientos del jaque mate, pero no tan lejos de ganar la torre. Browne estudió el final y volvió a jugar contra la computadora una semana después en una posición diferente en la que la dama podía ganar en treinta movimientos. Esta vez, capturó la torre en el quincuagésimo movimiento, obteniendo así una posición ganadora. [ 36 ] [ 37 ]

Otras posiciones, consideradas durante mucho tiempo como ganadas, resultaron requerir más movimientos contra un juego perfecto para lograr la victoria de los que permitía la regla de los cincuenta movimientos del ajedrez. En consecuencia, durante algunos años se modificaron las reglas oficiales de la FIDE para ampliar el número de movimientos permitidos en estos finales. Posteriormente, la regla volvió a ser de cincuenta movimientos en todas las posiciones ; se descubrieron más posiciones de este tipo, lo que complicó aún más la regla, y esto no supuso ninguna diferencia en el juego humano, ya que los jugadores no podían jugar las posiciones a la perfección. 

A lo largo de los años, se han publicado otros formatos de bases de datos de finales, incluyendo la Edward Tablebase, la De Koning Database y la Nalimov Tablebase, que es utilizada por muchos programas de ajedrez como Rybka , Shredder y Fritz . Hay disponibles bases de datos de finales para todas las posiciones con seis piezas. [ 38 ] Algunos finales de siete piezas han sido analizados por Marc Bourzutschky y Yakov Konoval. [ 39 ] Programadores que utilizan las supercomputadoras Lomonosov en Moscú han completado una base de datos de ajedrez para todos los finales con siete piezas o menos (se excluyen las posiciones de finales triviales, como seis piezas blancas contra un solo rey negro ). [ 40 ] [ 41 ] En todas estas bases de datos de finales se asume que el enroque ya no es posible.

Muchas bases de datos de ajedrez no consideran la regla de los cincuenta movimientos, según la cual una partida en la que transcurren cincuenta movimientos sin captura ni movimiento de peón puede ser declarada tablas por cualquiera de los jugadores. Esto provoca que la base de datos devuelva resultados como "Jaque mate forzado en sesenta y seis movimientos" en algunas posiciones que, en realidad, serían tablas debido a la regla de los cincuenta movimientos. Una razón para esto es que, si las reglas del ajedrez volvieran a cambiar, otorgando más tiempo para ganar dichas posiciones, no sería necesario regenerar todas las bases de datos. Además, es muy fácil para el programa que utiliza las bases de datos detectar y tener en cuenta esta "característica" y, en cualquier caso, si utiliza una base de datos de finales, elegirá el movimiento que conduzca a la victoria más rápida (incluso si infringiría la regla de los cincuenta movimientos con una partida perfecta). Si se juega contra un oponente que no utiliza una base de datos de ajedrez, esta elección dará buenas probabilidades de ganar en cincuenta movimientos.

Las bases de datos de Nalimov, que utilizan técnicas de compresión de última generación , requieren 7,05 GB de espacio en disco duro para todos los finales de cinco piezas. Para cubrir todos los finales de seis piezas se requieren aproximadamente 1,2 TB . Se estima que una base de datos de siete piezas requiere entre 50 y 200 TB de espacio de almacenamiento. [ 42 ]

Las bases de datos de finales tuvieron un papel destacado en 1999, cuando Kasparov disputó una partida de exhibición por internet contra el resto del mundo . Se llegó a un final de siete piezas con dama y peón , en el que el equipo mundial luchó por conseguir las tablas. Eugene Nalimov colaboró ​​generando la base de datos de finales de seis piezas, donde ambos bandos contaban con dos damas, lo que fue de gran utilidad para el análisis de ambos lados.

La base de datos de finales más popular es Syzygy, utilizada por la mayoría de los programas informáticos más importantes, como Stockfish , Leela Chess Zero y Komodo . Además, su tamaño es significativamente menor que el de otros formatos, ya que las bases de datos de 7 piezas ocupan tan solo 18,4 TB. [ 43 ]

Para un motor de ajedrez de última generación como Stockfish, una base de tabla solo proporciona un aumento muy pequeño en la fuerza de juego (aproximadamente 3 puntos Elo para la sizigia de 6 hombres a partir de Stockfish 15). [ 44 ]

Libro de apertura

Los programas de ajedrez, al igual que los humanos, pueden ahorrar tiempo de procesamiento y seleccionar variantes conocidas por su fortaleza consultando un libro de aperturas almacenado en una base de datos. Estos libros cubren los primeros movimientos de una partida con una profundidad variable, dependiendo de la apertura y la variante, pero generalmente abarcan los primeros 10-12 movimientos (20-24 jugadas). En los inicios del ajedrez computarizado, confiar en las variantes estudiadas en profundidad por grandes maestros humanos durante décadas era superior al rendimiento limitado de los programas de mediados del siglo XX. Incluso en la actualidad, permitir que los programas de ajedrez analicen exhaustivamente diversas aperturas con detenimiento y luego consulten los resultados durante la partida acelera su juego.

En la década de 1990, algunos teóricos creían que los programas de ajedrez de la época basaban gran parte de su fuerza en libros de aperturas memorizados y en el conocimiento de posiciones conocidas. Por lo tanto, consideraban que una táctica válida contra las computadoras sería jugar intencionalmente algunas jugadas fuera de los libros para obligar al programa a pensar por sí mismo. Esta suposición ya parecía dudosa en aquel entonces; Garry Kasparov lo intentó utilizando la Apertura Mieses, poco convencional, en la primera partida del encuentro Deep Blue contra Garry Kasparov en 1997 , pero perdió. Esta táctica se fue debilitando con el tiempo; los libros de aperturas almacenados en las bases de datos informáticas pueden ser mucho más extensos que los de los humanos mejor preparados, lo que significa que las computadoras estarán bien preparadas incluso para variantes poco comunes y conocerán la jugada correcta. En términos más generales, el juego de los motores, incluso en situaciones totalmente desconocidas (como ocurre en variantes como Chess960 ), sigue siendo excepcionalmente fuerte, por lo que la falta de un libro de aperturas ni siquiera supone una gran desventaja para los motores de ajedrez tácticamente agudos, que pueden descubrir con precisión movimientos fuertes en variaciones de tablero desconocidas.

En los torneos de ajedrez contemporáneos, a menudo se les indica a los motores que jueguen situaciones de diversas aperturas, incluidas las desequilibradas, para reducir la tasa de empates y añadir más variedad a las partidas. [ 45 ]

Listas de clasificación de ajedrez por computadora

CEGT , [ 46 ] CSS, [ 47 ] SSDF , [ 48 ] WBEC, [ 49 ] REBEL , [ 50 ] FGRL, [ 51 ] e IPON [ 52 ] mantienen listas de clasificación que permiten a los aficionados comparar la fuerza de los motores. Varias versiones de Stockfish , Komodo , Leela Chess Zero y Fat Fritz dominan las listas de clasificación a principios de la década de 2020.

CCRL (Computer Chess Rating Lists) es una organización que evalúa la fuerza de los motores de ajedrez informáticos enfrentándolos entre sí. CCRL se fundó en 2006 para promover la competición entre ordenadores y tabular los resultados en una lista de clasificación. [ 53 ]

La organización maneja tres listas diferentes: 40/40 (40 minutos por cada 40 movimientos jugados), 40/4 (4 minutos por cada 40 movimientos jugados) y 40/4 FRC (mismo control de tiempo pero Chess960). [ Nota 2 ] La reflexión (o cerebro permanente ) se desactiva y el tiempo se ajusta a la CPU  AMD64 X2 4600+ (2,4 GHz) usando Crafty 19.17 BH como referencia. Se utilizan libros de aperturas genéricos y neutrales (en lugar del libro propio del motor) hasta un límite de 12 movimientos en la partida junto con bases de datos de mesa de 4 o 5 jugadores . [ 53 ] [ 54 ] [ 55 ]

Historia

La era preinformática

El Ajedrecista

La idea de crear una máquina de ajedrez se remonta al siglo XVIII. Alrededor de 1769, el autómata ajedrecista llamado El Turco , creado por el inventor húngaro Farkas Kempelen , se hizo famoso antes de ser descubierto como un engaño. Antes del desarrollo de la informática digital , la única implementación exitosa de un dispositivo autónomo para jugar al ajedrez fue El Ajedrecista (1912), construido por el ingeniero español Leonardo Torres Quevedo . Si bien se limitaba al final de rey y torre contra rey, se le ha considerado el primer autómata con capacidad de tomar decisiones. [ 56 ]

Era temprana del software: búsqueda selectiva y Botvinnik

Desde entonces, aficionados al ajedrez e ingenieros informáticos han construido, con creciente seriedad y éxito, máquinas de ajedrez y programas informáticos. Uno de los pocos grandes maestros de ajedrez que se dedicó seriamente al ajedrez por computadora fue el excampeón mundial Mikhail Botvinnik , quien escribió varias obras sobre el tema. El interés de Botvinnik por el ajedrez por computadora comenzó en la década de 1950, favoreciendo los algoritmos de ajedrez basados ​​en la estrategia selectiva tipo B de Shannon, como se discutió junto con Max Euwe en 1958 en la televisión holandesa. Trabajando con el hardware relativamente primitivo disponible en la Unión Soviética a principios de la década de 1960, Botvinnik no tuvo más remedio que investigar técnicas de selección de jugadas por software; en ese momento, solo las computadoras más potentes podían lograr mucho más que una búsqueda de ancho completo de tres capas, y Botvinnik no tenía tales máquinas. En 1965, Botvinnik fue consultor del equipo ITEP en un encuentro de ajedrez por computadora entre Estados Unidos y la Unión Soviética, que ganó un encuentro de ajedrez por correspondencia contra el programa Kotok-McCarthy, liderado por John McCarthy, en 1967 (véase Kotok-McCarthy ). Posteriormente, asesoró al equipo que creó el programa de ajedrez Kaissa en el Instituto de Ciencias del Control de Moscú. Botvinnik tenía sus propias ideas para modelar la mente de un maestro de ajedrez. Tras publicar y debatir sus primeras ideas sobre mapas de ataque y trayectorias en el Club Central de Ajedrez de Moscú en 1966, encontró en Vladimir Butenko un colaborador y partidario. Butenko implementó por primera vez la representación del tablero de ataques vectoriales de 15x15 en una computadora M-20, determinando las trayectorias. Después de que Botvinnik introdujera el concepto de Zonas en 1970, Butenko rechazó seguir colaborando y comenzó a escribir su propio programa, al que llamó Eureka. En las décadas de los 70 y 80, liderando un equipo formado por Boris Stilman, Alexander Yudin, Alexander Reznitskiy, Michael Tsfasman y Mikhail Chudakov, Botvinnik trabajó en su propio proyecto, «Pioneer», un proyecto de ajedrez basado en inteligencia artificial. En los 90, ya octogenario, Botvinnik trabajó en el nuevo proyecto «CC Sapiens».

Un hito en el desarrollo se produjo cuando el equipo de la Universidad Northwestern , responsable de la serie de programas Chess y ganador de los tres primeros Campeonatos de Ajedrez por Computadora de la ACM (1970-1972), abandonó la búsqueda de tipo B en 1973. El programa resultante, Chess 4.0, ganó el campeonato de ese año y sus sucesores obtuvieron el segundo lugar tanto en el Campeonato de la ACM de 1974 como en el primer Campeonato Mundial de Ajedrez por Computadora de ese año , antes de volver a ganar el Campeonato de la ACM en 1975, 1976 y 1977. La implementación de tipo A resultó ser igual de rápida: en el tiempo que antes se tardaba en decidir qué movimientos merecían ser buscados, era posible buscarlos todos. De hecho, Chess 4.0 estableció el paradigma que fue y sigue siendo esencialmente seguido por todos los programas de ajedrez modernos en la actualidad, y que había sido iniciado con éxito por el ITEP ruso en 1965.

El auge de las máquinas de ajedrez

En 1978, una versión temprana de la máquina de ajedrez Belle , creada por Ken Thompson , participó y ganó el Campeonato Norteamericano de Ajedrez por Computadora, superando al dominante Northwestern University Chess 4.7.

revolución de las microcomputadoras

Los avances en la capacidad de procesamiento hicieron que la búsqueda por fuerza bruta fuera significativamente más efectiva que en los inicios del ajedrez por computadora. A medida que mejoraron las capacidades informáticas, los programas que priorizaban el cálculo táctico, apoyados por técnicas limitadas de evaluación posicional y poda, comenzaron a competir con los mejores jugadores humanos. En ajedrez, este enfoque demostró ser efectivo al permitir que las computadoras se centraran en cálculos a gran escala en lugar de intentar modelar los procesos de pensamiento humanos. En 1997, Deep Blue de IBM, capaz de evaluar aproximadamente 500 millones de posiciones por segundo, derrotó al vigente campeón mundial Garry Kasparov en una partida con control de tiempo estándar, marcando la primera vez que una computadora vencía a un campeón mundial en ejercicio bajo esas condiciones.

ajedrez sobrehumano

En 2016, NPR pidió a expertos que describieran el estilo de juego de los programas de ajedrez informáticos. Murray Campbell, de IBM, afirmó que «las computadoras no tienen ningún sentido de la estética... Juegan lo que creen que es la mejor jugada objetiva en cualquier posición, aunque parezca absurda, y pueden jugar cualquier jugada por muy fea que sea». Los grandes maestros Andrew Soltis y Susan Polgar afirmaron que las computadoras son más propensas a retirarse que los humanos. [ 33 ]

La revolución de las redes neuronales

Aunque las redes neuronales se han utilizado en las funciones de evaluación de los motores de ajedrez desde finales de la década de 1980, con programas como NeuroChess, Morph, Blondie25, Giraffe, AlphaZero y MuZero , [ 57 ] [ 58 ] [ 59 ] [ 60 ] [ 61 ] las redes neuronales no se generalizaron en los motores de ajedrez hasta la llegada de las redes neuronales actualizables de manera eficiente en el verano de 2020. Las redes neuronales actualizables de manera eficiente fueron desarrolladas originalmente en el shogi computarizado en 2018 por Yu Nasu, [ 62 ] [ 63 ] y tuvieron que ser portadas primero a un derivado de Stockfish llamado Stockfish NNUE el 31 de mayo de 2020, [ 64 ] e integradas en el motor oficial de Stockfish el 6 de agosto de 2020, [ 65 ] [ 66 ] antes de que otros programadores de ajedrez comenzaran a adoptar redes neuronales en sus motores.

Algunas personas, como Venki Ramakrishnan de la Royal Society , creen que AlphaZero condujo a la adopción generalizada de redes neuronales en los motores de ajedrez. [ 67 ] Sin embargo, AlphaZero influyó en muy pocos motores para que comenzaran a usar redes neuronales, y estos tendían a ser motores experimentales nuevos como Leela Chess Zero , que comenzó específicamente para replicar el artículo de AlphaZero. Las redes neuronales profundas utilizadas en la función de evaluación de AlphaZero requerían costosas unidades de procesamiento gráfico , que no eran compatibles con los motores de ajedrez existentes. La gran mayoría de los motores de ajedrez solo usan unidades centrales de procesamiento , y el cálculo y procesamiento de información en las GPU requieren bibliotecas especiales en el backend como CUDA de Nvidia , a las que ninguno de los motores tenía acceso. Por lo tanto, la gran mayoría de los motores de ajedrez como Komodo y Stockfish continuaron usando funciones de evaluación hechas a mano hasta que las redes neuronales actualizables de manera eficiente se portaron al ajedrez computarizado desde el shogi computarizado en 2020, lo que no requirió el uso de GPU ni bibliotecas como CUDA en absoluto. Aun así, las redes neuronales utilizadas en el ajedrez por ordenador son bastante superficiales, y los métodos de aprendizaje por refuerzo profundo desarrollados por AlphaZero siguen siendo extremadamente raros en el ajedrez por ordenador.

Cronología

  • 1769 – Wolfgang von Kempelen construye el Turco . Presentado como un autómata que juega al ajedrez, es operado secretamente por un jugador humano oculto en su interior.
  • 1868 – Charles Hooper presenta el autómata Ajeeb , que además esconde en su interior a un jugador de ajedrez humano. 
  • 1912 – Leonardo Torres Quevedo construye El Ajedrecista , una máquina que podía jugar finales de rey y torre contra rey .
  • 1941 – Anticipándose a trabajos similares por al menos una década, Konrad Zuse desarrolla algoritmos de ajedrez por computadora utilizando el formalismo de programación Plankalkül . Sin embargo, debido a las circunstancias de la Segunda Guerra Mundial, estos algoritmos no se publicaron ni salieron a la luz hasta la década de 1970.
  • 1948 – El libro Cibernética de Norbert Wiener describe cómo se podría desarrollar un programa de ajedrez utilizando una búsqueda minimax con profundidad limitada y una función de evaluación .
  • 1950 – Claude Shannon publica "Programación de un ordenador para jugar al ajedrez", uno de los primeros trabajos sobre los métodos algorítmicos del ajedrez por ordenador.
  • 1951 – Alan Turing es el primero en publicar un programa, desarrollado en papel, capaz de jugar una partida completa de ajedrez (llamado Turochamp ). [ 68 ] [ 69 ]
  • 1952 – Dietrich Prinz desarrolla un programa que resuelve problemas de ajedrez.
Ajedrez de Los Alamos . Esta versión simplificada del ajedrez fue jugada en 1956 por lacomputadora MANIAC I.
  • 1956 – Los Alamos Chess es el primer programa que permite jugar una partida similar al ajedrez, desarrollado por Paul Stein y Mark Wells para el ordenador MANIAC I.
  • 1956 – John McCarthy inventa el algoritmo de búsqueda alfa-beta .
  • 1957 – Se desarrollan los primeros programas que pueden jugar una partida completa de ajedrez, uno por Alex Bernstein [ 70 ] y otro por programadores rusos que utilizan un BESM .
  • 1958 – NSS se convierte en el primer programa de ajedrez en utilizar el algoritmo de búsqueda alfa-beta.
  • 1962 – El primer programa que se puede reproducir de forma creíble, Kotok-McCarthy , se publica en el MIT .
  • 1963 – El gran maestro David Bronstein derrota a un M-20 que ejecutaba un programa de ajedrez primitivo. [ 71 ]
  • 1966–67 – Se disputa la primera partida de ajedrez entre programas informáticos. El Instituto de Física Teórica y Experimental de Moscú (ITEP) derrota a Kotok-McCarthy en la Universidad de Stanford mediante telégrafo a lo largo de nueve meses.
  • 1967 – Mac Hack VI , de Richard Greenblatt y otros, introduce tablas de transposición y emplea docenas de heurísticas de selección de movimientos cuidadosamente ajustadas; se convierte en el primer programa en derrotar a una persona en un torneo. Mac Hack VI jugaba aproximadamente al nivel de la clase C.
  • 1968 – El campeón escocés de ajedrez David Levy apuesta 500 libras con los pioneros de la IA John McCarthy y Donald Michie a que ningún programa informático le ganaría una partida de ajedrez en los próximos 10 años.
  • 1970 – Monty Newborn y la Association for Computing Machinery organizan el primer Campeonato Norteamericano de Ajedrez por Computadora en Nueva York.
  • 1971 – Ken Thompson , científico informático estadounidense de Bell Labs y creador del sistema operativo Unix, escribe su primer programa para jugar al ajedrez llamado "chess" para la primera versión de Unix . [ 72 ]
  • 1974 – David Levy , Ben Mittman y Monty Newborn organizan el primer Campeonato Mundial de Ajedrez por Computadora, que gana el programa ruso Kaissa .
  • 1975 – Tras casi una década de progreso marginal desde el punto álgido del MacHack VI de Greenblatt en 1967, se presentó Northwestern University Chess 4.5, que incorporaba búsqueda de ancho completo e innovaciones como tableros de bits y profundización iterativa. También reintrodujo una tabla de transposición, vista por primera vez en el programa de Greenblatt. Fue, por lo tanto, el primer programa con una estructura moderna integrada y se convirtió en el modelo para todo el desarrollo futuro. Chess 4.5 jugó con fuerza en la clase B y ganó el 3er Campeonato Mundial de Ajedrez por Computadora al año siguiente. [ 73 ] Northwestern University Chess y sus descendientes dominaron el ajedrez por computadora hasta la era de las máquinas de ajedrez de hardware a principios de la década de 1980.
  • 1976 – En diciembre, el programador canadiense Peter R. Jennings lanza Microchess , el primer juego para microcomputadoras que se comercializó. [ 74 ]
Lanzado en 1977, Boris fue uno de los primeros ordenadores de ajedrez que se comercializaron a gran escala. Funcionaba con un microprocesador Fairchild F8 de 8 bits con tan solo 2,5 KiB de ROM y 256 bytes de RAM.
  • 1977 – En marzo, Fidelity Electronics lanza Chess Challenger , el primer ordenador dedicado al ajedrez que se comercializa. La Asociación Internacional de Ajedrez por Ordenador es fundada por programadores de ajedrez para organizar campeonatos de ajedrez por ordenador e informar sobre investigaciones y avances en este campo en su revista. Ese mismo año, Applied Concepts lanza Boris , un ordenador dedicado al ajedrez en una caja de madera con piezas de ajedrez de plástico y un tablero plegable.
  • 1978 – David Levy gana la apuesta realizada 10 años antes, derrotando a Chess 4.7 en un encuentro de seis partidas con un marcador de 4½–1½. La victoria de la computadora en la cuarta partida constituye la primera derrota de un maestro humano en un torneo. [ 21 ]
  • 1979 – Frederic Friedel organiza un encuentro entre el Maestro Internacional David Levy y Chess 4.8 , que se transmite por la televisión alemana. Levy y Chess 4.8, que funcionaba con una CDC Cyber ​​176, la computadora más potente del mundo, protagonizaron una extenuante partida que terminó en tablas tras 89 movimientos.
  • 1980 – Las computadoras Fidelity ganan el Campeonato Mundial de Microcomputadoras cada año desde 1980 hasta 1984. En Alemania, Hegener & Glaser lanzan su primera computadora dedicada al ajedrez, Mephisto . La USCF prohíbe que las computadoras compitan en torneos humanos, excepto cuando estén representadas por los creadores de los sistemas de ajedrez. [ 75 ] Se establece el Premio Fredkin, que ofrece $100,000 al creador de la primera máquina de ajedrez que derrote al campeón mundial de ajedrez.
  • 1981 – Cray Blitz gana el Campeonato Estatal de Mississippi con un marcador perfecto de 5-0 y una calificación de rendimiento de 2258. En la ronda 4 derrota a Joe Sentef (2262) para convertirse en la primera computadora en vencer a un maestro en un torneo y la primera computadora en obtener una calificación de maestro.
  • 1984 – La línea Mephisto de ordenadores de ajedrez especializados de la empresa alemana Hegener & Glaser inicia una larga racha de victorias (1984-1990) en el Campeonato Mundial de Microordenadores utilizando ordenadores especializados que ejecutaban los programas ChessGenius y Rebel .
  • 1986 – Software Country (véase Software Toolworks ) lanzó Chessmaster 2000, basado en un motor de David Kittinger, la primera edición de la que se convertiría en la línea de programas de ajedrez más vendida del mundo.
  • 1987 – Frederic Friedel y el físico Matthias Wüllenweber fundan Chessbase , lanzando el primer programa de base de datos de ajedrez. Stuart Cracraft lanza GNU Chess , uno de los primeros " motores de ajedrez " que incluye una interfaz gráfica de usuario (GUI) independiente, chesstool . [ 76 ]
  • 1988 – HiTech , desarrollado por Hans Berliner y Carl Ebeling , gana un encuentro contra el gran maestro Arnold Denker por 3½–½. Deep Thought comparte el primer puesto con Tony Miles en el Campeonato de Software Toolworks, por delante del excampeón mundial Mikhail Tal y varios grandes maestros, entre ellos Samuel Reshevsky , Walter Browne y Mikhail Gurevich . También derrota al gran maestro Bent Larsen , convirtiéndose en la primera computadora en vencer a un GM en un torneo. Su puntuación de rendimiento en este torneo de 2745 (escala USCF) fue la más alta obtenida por una computadora. [ 77 ] [ 78 ]
  • 1989 – Deep Thought derrota a David Levy en un encuentro a 4 juegos por 0-4, poniendo fin a su famosa serie de apuestas iniciada en 1968.
  • 1990 – El 25 de abril, el excampeón mundial Anatoly Karpov perdió en una partida simultánea contra la computadora de ajedrez Mephisto Portorose M68030 de Hegener & Glaser. [ 79 ]
  • 1991 – El ChessMachine, basado en el Rebel de Ed Schröder, gana el Campeonato Mundial de Ajedrez por Microordenador.
  • 1992 – ChessMachine gana el 7º Campeonato Mundial de Ajedrez por Computadora , la primera vez que una microcomputadora vence a las computadoras centrales . El GM John Nunn publica Secretos de los finales de torre , el primer libro basado en las bases de datos de finales desarrolladas por Ken Thompson .
  • 1993 – Deep Thought-2 pierde un encuentro de cuatro partidas contra Bent Larsen . Los programas de ajedrez que se ejecutan en ordenadores personales superan a los ordenadores de ajedrez dedicados de Mephisto y ganan el Campeonato de Microordenadores, lo que marca un cambio del hardware de ajedrez dedicado al software en ordenadores personales multipropósito.
  • 1995 – Fritz 3 , ejecutándose en un  PC Pentium de 90 MHz, vence a la máquina de ajedrez especializada Deep Thought-2 y a programas que se ejecutaban en varias supercomputadoras, para ganar el 8.º Campeonato Mundial de Ajedrez por Computadora en Hong Kong. Esto marca la primera vez que un programa de ajedrez que se ejecuta en hardware convencional derrota a máquinas de ajedrez especializadas y supercomputadoras de gran potencia, lo que indica un cambio de enfoque: de la potencia de cálculo bruta a las mejoras algorítmicas en la evolución de los motores de ajedrez.
  • 1996 – El equipo Deep Blue de IBM pierde un encuentro de seis partidas contra Garry Kasparov por 2-4.
  • 1997 – Deep(er) Blue , una versión muy modificada del original, gana un encuentro de seis partidas contra Garry Kasparov , 3,5–2,5.
  • 2000 – Stefan Meyer-Kahlen y Rudolf Huber elaboran el borrador de la Interfaz Universal de Ajedrez (Universal Chess Interface) , un protocolo para que las interfaces gráficas de usuario (GUI) se comuniquen con los motores de ajedrez, que gradualmente se convertiría en la forma principal que adoptarían los nuevos motores.
  • 2002 – Vladimir Kramnik empata un encuentro de ocho juegos contra Deep Fritz .
  • 2003 – Kasparov empata un encuentro a seis juegos contra Deep Junior y un encuentro a cuatro juegos contra X3D Fritz .
  • 2004 – Un equipo de computadoras ( Hydra , Deep Junior y Fritz ) gana 8½–3½ contra un fuerte equipo humano formado por Veselin Topalov , Ruslan Ponomariov y Sergey Karjakin , que tenía una puntuación Elo promedio de 2681. Fabien Letouzey publica el código fuente de Fruit 2.1, un motor bastante competitivo con los mejores motores de código cerrado de la época. Esto lleva a muchos autores a revisar su código, incorporando las nuevas ideas.
  • 2005 – Rybka gana el torneo IPCCC y muy poco después se convierte en el motor más fuerte. [ 80 ]
  • 2006 – El campeón mundial, Vladimir Kramnik , es derrotado por 4-2 por Deep Fritz .
  • 2009 – Pocket Fritz . 4 ejecutándose en un teléfono inteligente, gana la Copa Mercosur, un torneo de nivel Maestro Internacional, con una puntuación de 9½/10 y una calificación de rendimiento de 2900. [ 30 ] Un grupo de programadores rusos seudónimos publican el código fuente de Ippolit, un motor aparentemente más fuerte que Rybka . Este se convierte en la base de los motores Robbolito e Ivanhoe, y muchos autores de motores adoptan ideas de él.
  • 2010 – Antes del Campeonato Mundial de Ajedrez de 2010 , Topalov se prepara practicando contra la supercomputadora Blue Gene con 8192 procesadores capaces de 500  billones (5 × 10 14 ) de operaciones de punto flotante por segundo. [ 81 ] El desarrollador de Rybka, Vasik Rajlich , acusa a Ippolit de ser un clon de Rybka.
  • 2011 – La ICGA despoja a Rybka de sus títulos de la WCCC. [ 82 ] [ 83 ]
  • 2017 – AlphaZero , un autómata digital basado en redes neuronales, vence a Stockfish por 28-0, con 72 empates, en un encuentro de 100 partidas.
  • 2018 – Se inventa la evaluación de redes neuronales actualizables eficientemente (NNUE) para el shogi computarizado . [ 84 ]
  • 2019 – Leela Chess Zero (LCZero v0.21.1-nT40.T8.610), un motor de ajedrez basado en AlphaZero, derrota a Stockfish 19050918 en un encuentro de 100 partidas con un resultado final de 53,5 a 46,5 para ganar la temporada 15 de TCEC. [ 85 ]
  • 2020 – NNUE se agrega a la evaluación de Stockfish , aumentando notablemente su fuerza. [ 65 ] [ 66 ]

Categorizaciones

Hardware dedicado

Estos sistemas de ajedrez incluyen hardware personalizado con fechas aproximadas de introducción (excluyendo microordenadores dedicados):

Ordenadores comerciales dedicados

Boris Diplomat (1979), ordenador de ajedrez de viaje
Fidelity Voice Chess Challenger (1979), la primera computadora de ajedrez parlante
Salida de voz del Voice Chess Challenger
Milton Bradley Grandmaster (1983), el primer ordenador de ajedrez comercial con movimiento automático.
Novag Super Constellation (1984), conocido por su estilo de interpretación similar al humano.
DGT Centaur (2019), un ordenador de ajedrez moderno basado en Stockfish que se ejecuta en una Raspberry Pi.

Entre finales de la década de 1970 y principios de la de 1990, existía un mercado competitivo para ordenadores dedicados al ajedrez. Este mercado cambió a mediados de la década de 1990, cuando los ordenadores con procesadores dedicados dejaron de poder competir con los rápidos procesadores de los ordenadores personales.

  • Boris en 1977 y Boris Diplomat en 1979, ordenadores de ajedrez que incluían piezas y tablero, vendidos por Applied Concepts Inc.
  • Chess Challenger, una línea de computadoras de ajedrez vendidas por Fidelity Electronics desde 1977 hasta 1992. [ 86 ] Estos modelos ganaron los primeros cuatro Campeonatos Mundiales de Ajedrez por Microcomputadora . [ 87 ]
  • ChessMachine , un ordenador dedicado basado en ARM , que podía ejecutar dos motores:
  • Excalibur Electronics vende una línea de aparatos de entrenamiento de fuerza para principiantes.
  • Mephisto , una línea de computadoras de ajedrez vendidas por Hegener & Glaser. Estas unidades ganaron seis Campeonatos Mundiales de Ajedrez por Microcomputadora consecutivos . [ 89 ]
  • Novag comercializaba una línea de ordenadores tácticamente potentes, entre los que se incluían las marcas Constellation, Sapphire y Star Diamond.
  • Phoenix Chess Systems fabrica unidades de edición limitada basadas en procesadores StrongARM y XScale que ejecutan motores de ajedrez modernos y emulan motores clásicos.
  • Saitek comercializa unidades de gama media de graduación alcohólica intermedia. Adquirieron Hegener & Glaser y su marca Mephisto en 1994.

Recientemente, algunos aficionados han estado utilizando el Multi Emulator Super System para ejecutar los programas de ajedrez creados para Fidelity o las computadoras Mephisto de Hegener & Glaser en sistemas operativos modernos de 64 bits como Windows 10. [ 90 ] El autor de Rebel , Ed Schröder, también ha adaptado tres de los Mephisto de Hegener & Glaser que escribió para que funcionen como motores UCI. [ 91 ]

Programas DOS

Estos programas se pueden ejecutar en MS-DOS y en Windows 10 de 64 bits mediante emuladores como DOSBox o QEMU : [ 92 ]

Teóricos destacados

Entre los teóricos del ajedrez por computadora más conocidos se encuentran:

  • Georgy Adelson-Velsky , matemático e informático soviético e israelí.
  • Hans Berliner , científico informático estadounidense y campeón mundial de ajedrez por correspondencia, supervisor de diseño de HiTech (1988).
  • Mikhail Botvinnik , ingeniero eléctrico soviético y campeón mundial de ajedrez, escribió Pioneer.
  • Alexander Brudno , científico informático ruso, fue el primero en elaborar el algoritmo de poda Alphabeta.
  • Feng-hsiung Hsu , el desarrollador principal de Deep Blue (1986–97)
  • Robert Hyatt desarrolló Cray Blitz y Crafty [ 93 ]
  • Danny Kopec , profesor estadounidense de informática y maestro internacional de ajedrez, desarrolló la prueba Kopec-Bratko.
  • Alexander Kronrod , científico informático y matemático soviético.
  • Monroe Newborn , presidente del comité de ajedrez por computadora de la Asociación para la Maquinaria de Computación.
  • Claude E. Shannon , científico informático y matemático estadounidense.
  • Alan Turing , científico informático y matemático inglés.

Resolver problemas de ajedrez

En general, se considera que las perspectivas de resolver completamente el ajedrez son bastante remotas. Se suele conjeturar que no existe ningún método computacionalmente económico para resolver el ajedrez, ni siquiera en el sentido básico de determinar con certeza el valor de la posición inicial. Por lo tanto, la idea de resolver el ajedrez en el sentido más estricto de obtener una descripción práctica de una estrategia para un juego perfecto para cualquiera de los dos bandos parece poco realista hoy en día. Sin embargo, no se ha demostrado que no exista una forma computacionalmente económica de determinar la mejor jugada en una posición de ajedrez, ni siquiera que un buscador alfa-beta tradicional que funcione con el hardware informático actual no pueda resolver la posición inicial en un tiempo aceptable. La dificultad de probar esto último radica en el hecho de que, si bien el número de posiciones del tablero que podrían ocurrir en el curso de una partida de ajedrez es enorme (del orden de al menos 10 43 [ 94 ] a 10 47 ), es difícil descartar con certeza matemática la posibilidad de que la posición inicial permita a cualquiera de los bandos forzar un jaque mate o una repetición triple después de relativamente pocos movimientos, en cuyo caso el árbol de búsqueda podría abarcar solo un subconjunto muy pequeño del conjunto de posiciones posibles. Se ha demostrado matemáticamente que el ajedrez generalizado (ajedrez jugado con un número arbitrariamente grande de piezas en un tablero de ajedrez arbitrariamente grande) es EXPTIME-completo , [ 95 ] lo que significa que determinar el bando ganador en una posición arbitraria de ajedrez generalizado toma de manera demostrable un tiempo exponencial en el peor de los casos; sin embargo, este resultado teórico no da un límite inferior a la cantidad de trabajo requerido para resolver el ajedrez ordinario de 8x8.

El Minichess de Martin Gardner , que se juega en un tablero de 5×5 con aproximadamente 10¹⁸ posiciones posibles, ha sido resuelto; su valor en teoría de juegos es 1/2 (es decir, cualquiera de los dos bandos puede forzar un empate), y se ha descrito la estrategia para lograr ese resultado.

También se han logrado avances desde el otro lado: a partir de 2012, se han resuelto todos los finales de partida con 7 piezas o menos (2 reyes y hasta 5 piezas más).

Motores de ajedrez

Un "motor de ajedrez" es un software que calcula y ordena qué movimientos son los más fuertes para jugar en una posición dada. Los autores de motores se centran en mejorar el juego de sus motores, a menudo simplemente importándolos a una interfaz gráfica de usuario (GUI) desarrollada por otra persona. Los motores se comunican con la GUI mediante protocolos estandarizados como la Interfaz Universal de Ajedrez (UUI), hoy en día omnipresente , desarrollada por Stefan Meyer-Kahlen y Franz Huber. Existen otros, como el Protocolo de Comunicación de Motores de Ajedrez (CMTP) desarrollado por Tim Mann para GNU Chess y Winboard . Chessbase tiene su propio protocolo propietario, y en su momento Millennium 2000 tenía otro protocolo utilizado para ChessGenius . Los motores diseñados para un sistema operativo y protocolo pueden portarse a otros sistemas operativos o protocolos. Los motores de ajedrez se enfrentan regularmente entre sí en torneos dedicados a motores de ajedrez .

Aplicaciones web de ajedrez

En 1997, el Internet Chess Club lanzó su primer cliente Java para jugar ajedrez en línea contra otras personas dentro del navegador web. [ 96 ] Esta fue probablemente una de las primeras aplicaciones web de ajedrez. Free Internet Chess Server le siguió poco después con un cliente similar. [ 97 ] En 2004, la Federación Internacional de Ajedrez por Correspondencia abrió un servidor web para reemplazar su sistema basado en correo electrónico. [ 98 ] Chess.com comenzó a ofrecer ajedrez en vivo en 2007. [ 99 ] Chessbase / Playchess ha tenido durante mucho tiempo un cliente descargable y agregó un cliente basado en web en 2013. [ 100 ]

Otra aplicación web popular es el entrenamiento de tácticas. El ahora desaparecido Chess Tactics Server abrió su sitio en 2006, [ 101 ] seguido por Chesstempo al año siguiente, [ 102 ] y Chess.com agregó su Tactics Trainer en 2008. [ 103 ] Chessbase agregó una aplicación web de entrenamiento de tácticas en 2015. [ 104 ]

Chessbase puso en línea su base de datos de partidas de ajedrez en 1998. [ 105 ] Otra de las primeras bases de datos de partidas de ajedrez fue Chess Lab, que comenzó en 1999. [ 106 ] New In Chess intentó inicialmente competir con Chessbase lanzando un programa NICBase para Windows 3.x , pero finalmente decidió abandonar el software y centrarse en su base de datos en línea a partir de 2002. [ 107 ]

Se podía jugar contra el motor Shredder en línea desde 2006. [ 108 ] En 2015, Chessbase añadió una aplicación web para jugar a Fritz, [ 109 ] así como Mis partidas para almacenar las partidas. [ 110 ]

A partir de 2007, Chess.com ofreció el contenido del programa de entrenamiento Chess Mentor a sus clientes en línea. [ 111 ] Grandes maestros de primer nivel como Sam Shankland y Walter Browne han contribuido con lecciones.

Impacto de la IA en el ajedrez

Revolucionando la estrategia ajedrecística

La introducción de la inteligencia artificial transformó el ajedrez, especialmente en la élite. La IA influyó enormemente en las estrategias defensivas. Tiene la capacidad de calcular cada movimiento potencial sin preocupaciones, a diferencia de los jugadores humanos, que están sujetos a las repercusiones emocionales y psicológicas derivadas de factores como el estrés o el cansancio. Como resultado, muchas posiciones que antes se consideraban indefendibles ahora se reconocen como defendibles.

Tras analizar millones de partidas, los motores de ajedrez realizaron nuevos análisis y mejoraron las teorías de apertura existentes. Estas mejoras propiciaron la creación de nuevas ideas y cambiaron la forma de pensar de los jugadores en todas las fases de la partida. [ 112 ] En el ajedrez clásico, los jugadores de élite suelen iniciar las partidas realizando entre 10 y 15 movimientos de apertura que se ajustan a los análisis establecidos o a las recomendaciones de los principales motores. [ 113 ]

Trampas y juego limpio

A diferencia de los torneos tradicionales presenciales, donde se utilizan detectores de metales portátiles para contrarrestar los intentos de los jugadores de usar ayuda electrónica, la supervisión del juego limpio en el ajedrez en línea es mucho más difícil.

Durante el Campeonato Europeo de Ajedrez Online de 2020 , que contó con una participación récord de casi 4000 jugadores, más de 80 participantes fueron descalificados por hacer trampa, la mayoría de las categorías de principiantes y jóvenes. [ 114 ] El evento puso de manifiesto la creciente necesidad de métodos de detección avanzados en las competiciones online.

En respuesta a estos problemas, plataformas de ajedrez como Chess.com desarrollaron modelos estadísticos basados ​​en IA que rastrean movimientos improbables de un jugador y los comparan con movimientos que podría realizar un motor de ajedrez. Se realiza un análisis experto de todos los casos sospechosos y los resultados se publican periódicamente. La FIDE introdujo tecnología de seguimiento del comportamiento mediante IA para reforzar las medidas contra el fraude en los eventos en línea. [ 115 ]

Desafíos en la detección de trampas

Los sistemas de detección basados ​​en IA utilizan una combinación de aprendizaje automático para rastrear acciones sospechosas de los jugadores en diferentes partidas. Esto se logra midiendo las discrepancias entre los movimientos reales y los movimientos predichos a partir de las estadísticas disponibles. Se detectan jugadores con un nivel de habilidad inusualmente alto o estrategias poco comunes que pueden imitar movimientos característicos de los sistemas de ajedrez automatizados. Cada caso es examinado por un experto humano para asegurar que la decisión sea correcta antes de tomar cualquier medida, garantizando así la imparcialidad y la precisión. [ 115 ]

Ajedrez y másteres en Derecho

Aunque se considera algo más para el entretenimiento que para el juego serio, se ha descubierto que los grandes modelos de lenguaje (LLM, por sus siglas en inglés), como los creados en 2018 y años posteriores, como GPT-3, pueden generar movimientos de ajedrez con las indicaciones lingüísticas adecuadas. Si bien son menos eficientes que los motores de ajedrez nativos, el hecho de que los LLM puedan rastrear el estado del tablero más allá de la apertura, en lugar de simplemente recitar frases similares al ajedrez en un estado onírico , se consideró muy sorprendente. El juego con LLM tiene varias peculiaridades en comparación con el juego con motores; por ejemplo, a los motores generalmente no les importa cómo se llegó a un estado del tablero. Sin embargo, los LLM parecen producir movimientos de diferente calidad para una posición de ajedrez alcanzada mediante un juego fuerte en comparación con el mismo estado del tablero producido mediante una serie de movimientos previos extraños (que generalmente producirán movimientos más débiles y aleatorios). [ 116 ]

Véase también

Notas

  1. Esto significa que el ajedrez, al igual que la mosca de la fruta común, es un paradigma simple, más accesible y familiar para experimentar con tecnología que puede usarse para producir conocimiento sobre otros sistemas más complejos.
  2. El primer número se refiere a la cantidad de movimientos que debe realizar cada motor, y el segundo, a la cantidad de minutos asignados para realizar todos estos movimientos. El control de tiempo repetitivo significa que el tiempo se reinicia después de cada múltiplo de esta cantidad de movimientos. Por ejemplo, en un control de tiempo de 40/4, cada motor tendría 4 minutos para realizar 40 movimientos, luego se asignarían otros 4 minutos para los siguientes 40 movimientos, y así sucesivamente, hasta que la partida haya terminado.

Referencias

  1. Sreedhar, Suhas (2 de julio de 2007). "¡Damas resueltas!" . IEEE Spectrum . Instituto de Ingenieros Eléctricos y Electrónicos.
  2. Ensmenger, N. (2012). "¿Es el ajedrez la drosophila de la inteligencia artificial? Una historia social de un algoritmo". Estudios Sociales de la Ciencia . 42 (1): 5– 30. doi : 10.1177/0306312711424596 . PMID 22530382 . S2CID 968033 .  
  3. "Descargar Stockfish" .
  4. Poindexter, Owen. "Los 8 mejores sitios web y páginas de ajedrez" . Wired .
  5. "GitHub - official-stockfish/Stockfish" . GitHub .
  6. "GitHub - LeelaChessZero/lc0" . GitHub .
  7. "Presentamos Torch: Nuevo motor de ajedrez n.° 2" . Chess.com . 13 de julio de 2023. Consultado el 14 de julio de 2023 .
  8. "lichess-org/stockfish.wasm" . GitHub . Consultado el 19 de enero de 2025 .
  9. "Preguntas frecuentes sobre Stockfish: ¿Puede Stockfish usar mi GPU?" . Stockfish . Enero de 2025 . Consultado el 19 de enero de 2025 .
  10. ^ "nnue-pytorch/docs/nnue.md" . GitHub .
  11. Monroe, Daniel; Chalmers, Philip A. (28-10-2024), Dominando el ajedrez con un modelo Transformer , arXiv : 2409.12272
  12. Dominik Klein (2022), Redes neuronales para ajedrez , pág. 49, arXiv : 2209.01506 
  13. "¿Cómo se puede hacer trampa en el ajedrez? Inteligencia artificial y código Morse" . CNN.
  14. http://scid.sourceforge.net SCID.
  15. "Asistente de Ajedrez Sitio web de ajedrez: Acerca de nosotros" . www.convekta.com . Archivado del original el 20 de agosto de 2008.
  16. http://www.exachess.com ExaChess para Mac
  17. "Maestro de ajedrez PGN" .
  18. https://www.facebook.com/chessstudioapp/
  19. Simon, HA; Newell, A. (1958). "Resolución heurística de problemas: El próximo avance en la investigación operativa" (PDF) . Operations Research . 6 (1): 7. doi : 10.1287/opre.6.1.1 . Recuperado el 10 de febrero de 2018 .
  20. 1 2 3 4 5 6 7 Hapgood, Fred ( 23–30 de diciembre de 1982). "El ajedrez por computadora es malo, el ajedrez humano es peor" . New Scientist . págs. 827–830 . Recuperado el 22 de enero de 2015 . 
  21. 1 2 3 Douglas, JR (diciembre de 1978). "Ajedrez 4.7 contra David Levy" . BYTE . pág. 84. Consultado el 17 de octubre de 2013 . 
  22. Flock, Emil; Silverman, Jonathan ( marzo de 1984). "SPOC / El maestro de ajedrez" . BYTE . págs. 288–294 . Recuperado el 8 de septiembre de 2015 . 
  23. Stinson, Craig (enero de 1982). "Campeonato de ajedrez: las máquinas juegan, la gente mira" . Softline . pág. 6. Consultado el 13 de julio de 2014 . 
  24. "Rebel vs Anand" . Rebel.nl . Consultado el 3 de abril de 2010 .
  25. "Noticias de ajedrez – Adams vs Hydra: Hombre 0.5 – Máquina 5.5" . ChessBase.com. 28 de junio de 2005. Consultado el 3 de abril de 2010 .
  26. Una vez más, la máquina vence al campeón humano en ajedrez. New York Times, 5 de diciembre de 2006.
  27. "Una vez más, la máquina vence al campeón humano en ajedrez" . The New York Times . 5 de diciembre de 2006. Consultado el 30 de abril de 2010 .
  28. Ajedrez por computadora: La Drosophila de la IA 30 de octubre de 2002
  29. Deep Thought gana el premio Fredkin Intermediate , Hans Berliner
  30. 1 2 "Pocket Fritz 4 gana la Copa Mercosur" . Chess.co.uk. Archivado del original el 30 de septiembre de 2011. Consultado el 3 de abril de 2010 .
  31. Stanislav Tsukrov, autor de Pocket Fritz. Pocket Fritz 4 busca en menos de 20.000 posiciones por segundo.
  32. "El campeón mundial de ajedrez Magnus Carlsen: 'La computadora nunca ha sido un oponente'"Deutsche Welle. 16 de abril de 2016. Consultado el 26 de agosto de 2016 .
  33. 1 2 "Veinte años después, los humanos siguen sin ser rival para las computadoras en el tablero de ajedrez" . NPR.org . 2016. Consultado el 28 de junio de 2020 .
  34. Wheland, Norman D. (octubre de 1978). "Un tutorial de ajedrez por computadora" . BYTE . pág. 168. Consultado el 17 de octubre de 2013 . 
  35. ( Shannon 1950 )
  36. Levy y Newborn (1991) , págs. 144–148 
  37. Nunn (2002) , pág. 49 
  38. Kirill Kryukov. "Bases de datos de finales en línea" . Kirill-kryukov.com . Consultado el 3 de abril de 2010 .
  39. "Diario de ajedrez abierto 301–320" . Xs4all.nl . Consultado el 3 de abril de 2010 .
  40. http://tb7.chessok.com Sitio web de Lomonosov que permite a los usuarios registrados acceder a una base de datos de 7 piezas y a un foro con posiciones encontradas.
  41. "¿Quién gana con esto? (problema de ajedrez)" Un ejemplo de posición de ajedrez encontrado en la base de datos de ajedrez de Lomonosov.
  42. El Rybka Lounge / Ajedrez por ordenador / Tamaños de la base de datos de la mesa, http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=9380 Archivado el 27/06/2017 en la Wayback Machine , 19 de junio de 2012
  43. "Las bases de datos de Syzygy de 7 piezas están completas" . lichess.org . 19 de agosto de 2018. Consultado el 2 de octubre de 2023 .
  44. "Datos útiles" . GitHub . Consultado el 12 de octubre de 2023 .
  45. "Preguntas frecuentes sobre aperturas TCEC" . tcec-chess.com . Consultado el 12 de octubre de 2023 .
  46. CEGT 40/20 , Chess Engines Grand Tournament , 12 de octubre de 2008, archivado del original el 1 de marzo de 2012 , consultado el 21 de octubre de 2008.
  47. Computerschach und Spiele - Eternal Rating , Computerschach und Spiele, 18 de marzo de 2007 , consultado el 21 de mayo de 2008
  48. Lista de clasificación SSDF , Asociación Sueca de Ajedrez por Computadora , 26 de septiembre de 2008 , consultada el 20 de octubre de 2008.
  49. ^ Lista de clasificación BayesianElo de WBEC Ridderkerk , consultado el 20 de julio de 2008.
  50. "Lista de clasificación de Gambit" . Home of the Dutch Rebel. 30 de enero de 2021. Consultado el 12 de diciembre de 2021 .
  51. "FGRL" . Lista de clasificación de FastGM . Consultado el 12 de diciembre de 2010 .
  52. "IPON" . Ingo Bauer. 16 de noviembre de 2016. Archivado del original el 25 de enero de 2019. Consultado el 3 de febrero de 2016 .
  53. 1 2 CCRL, http://ccrl.chessdom.com/ Archivado el 21/01/2022 en Wayback Machine , 14 de noviembre de 2021
  54. Foro de discusión de CCRL, http://kirill-kryukov.com/chess/discussion-board/viewtopic.php?f=7&t=2808 , 19 de junio de 2012
  55. Páginas de ajedrez por ordenador de Adam, http://adamsccpages.blogspot.co.uk/2012/05/ccrl.html , 19 de junio de 2012
  56. Eames, Charles; Eames, Ray (1990). Una perspectiva informática: Antecedentes de la era informática . Harvard University Press. pág. 67. ISBN  978-0-674-15626-5.
  57. Thurn, Sebastian (1995), Aprender a jugar al ajedrez (PDF) , MIT Press , consultado el 12 de diciembre de 2021
  58. Levinson, Robert (1989), Un programa de ajedrez autoaprendizaje orientado a patrones , vol. 12, ICCA Journal 
  59. Lai, Matthew (4 de septiembre de 2015), Giraffe: Using Deep Reinforcement Learning to Play Chess , arXiv : 1509.01549v1
  60. Silver, David; Hubert, Thomas; Schrittwieser, Julian; Antonoglou, Ioannis; Lai, Matthew; Guez, Arthur; Lanctot, Marc; Sifre, Laurent; Kumaran, Dharshan; Graepel, Thore; Lillicrap, Timothy; Simonyan, Karen; Hassabis, Demis (2017). "Dominando el ajedrez y el shogi mediante el autoaprendizaje con un algoritmo general de aprendizaje por refuerzo". arXiv : 1712.01815 [ cs.AI ].
  61. Schrittwieser, Julián; Antonoglou, Ioannis; Hubert, Thomas; Simonyan, Karen; Sifré, Laurent; Schmitt, Simón; Guez, Arturo; Lockhart, Eduardo; Hassabis, Demis; Graepel, Thore; Lillicrap, Timoteo (2020). "Dominar Atari, Go, ajedrez y shogi planificando con un modelo aprendido". Naturaleza . 588 (7839): 604– 609. arXiv : 1911.08265 . Código Bib : 2020Natur.588..604S . doi : 10.1038/s41586-020-03051-4 . PMID 33361790 . S2CID 208158225 .  
  62. Yu Nasu (28 de abril de 2018). "Función de evaluación basada en redes neuronales actualizable de manera eficiente para el Shogi computarizado" (PDF) (en japonés).
  63. Yu Nasu (28 de abril de 2018). "Función de evaluación basada en redes neuronales actualizable de manera eficiente para el Shogi computacional (traducción no oficial al inglés)" (PDF) . GitHub .
  64. ^ Noda, Hisayori (30 de mayo de 2020). "Lanzamiento stockfish-nnue-2020-05-30" . Github . Consultado el 12 de diciembre de 2021 .
  65. 1 2 "Introducción a la evaluación NNUE" . 6 de agosto de 2020.
  66. ^ Joost VandeVondele (25 de julio de 2020). "oficial-stockfish / Stockfish, fusión NNUE" . GitHub .
  67. « Venki Ramakrishnan : ¿Se convertirán las computadoras en nuestros amos?». Mentes posibles: Veinticinco maneras de ver la IA ( edición Kindle). Penguin Press. 2019. pág. 174. ISBN   978-0-525-55799-9.
  68. Ajedrez, una subsección del capítulo 25, Computadoras digitales aplicadas a los juegos, de Más rápido que el pensamiento, ed. BV Bowden, Pitman, Londres (1953). En línea .
  69. Una partida jugada por el algoritmo de ajedrez de Turing
  70. "Chessville – Primeros programas de ajedrez por computadora – por Bill Wall – El maravilloso mundo del ajedrez de Bill Wall" . Archive.is . Consultado el 1 de diciembre de 2014 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  71. David Bronstein contra M-20, repetición en Chessgames.com
  72. Dennis Ritchie (junio de 2001). "Ken, Unix y los juegos" . ICGA Journal . 24 (2).
  73. "Apéndice AJEDREZ 4.5: Competición en 1976" (PDF) .
  74. "Historia oral de Peter Jennings | Dominando el juego | Museo de Historia de la Computación" .
  75. "Nuevas restricciones" . BYTE . Enero de 1981. pág. 292. Consultado el 18 de octubre de 2013 . 
  76. "Boletín de GNU, vol. 1 n.º 2" .
  77. Hsu (2002) pág. 292
  78. Recién nacido (1997) pág. 159
  79. Búsqueda selectiva. Junio ​​de 1990
  80. Campeonato Internacional de Ajedrez por Computadora de Paderborn 2005
  81. "El equipo Challenger utiliza una supercomputadora en el campeonato mundial de ajedrez" . Chessbase. 25 de mayo de 2010.
  82. "Rybka descalificado y vetado del Campeonato Mundial de Ajedrez por Computadora | ChessVibes" . www.chessvibes.com . Archivado del original el 30 de marzo de 2014.
  83. ^ Riis, Dr. Søren (2 de enero de 2012). "Un grave error judicial en el ajedrez informático (primera parte)" . Noticias de Chessbase . Consultado el 19 de febrero de 2012 .
  84. Yu Nasu (2018). Funciones de evaluación basadas en redes neuronales actualizables eficientemente para el shogi computacional . Ziosoft Computer Shogi Club, pdf (en japonés con resumen en inglés).
  85. https://cd.tcecbeta.club/archive.html?season=15&div=sf&game=1 Archivado el 4 de septiembre de 2019 en Wayback Machine Temporada 15 de TCEC
  86. Sousa, Ismenio. "Fidelity Chess Challenger 1 – El primer ordenador de ajedrez del mundo" . Consultado el 25 de septiembre de 2016 .
  87. "Campeonato Mundial de Ajedrez por Microcomputadora (Torneos ICGA)" . www.game-ai-forum.org . Archivado del original el 22 de junio de 2021. Consultado el 19 de febrero de 2026 .
  88. van den Herik, HJ; Herschberg, IS (1992). "El 7º Campeonato Mundial de Ajedrez por Computadora: Informe del torneo, Madrid, España, 23-27 de noviembre de 1992" . ICCA Journal . 15 (4): 208–209 .
  89. "Campeonato Mundial de Ajedrez por Microcomputadora (Torneos ICGA)" . www.game-ai-forum.org . Archivado del original el 22 de junio de 2021. Consultado el 19 de febrero de 2026 .
  90. "Descargar | Página principal del rebelde holandés" . Rebel13.nl . Consultado el 31 de agosto de 2022 .
  91. "Dedicado a la UCI | Hogar del Rebelde Holandés" . Rebel13.nl . Consultado el 31 de agosto de 2022 .
  92. "Más clásicos de DOS" . Archivado del original el 3 de diciembre de 2018. Consultado el 2 de diciembre de 2018 .
  93. "Página principal del Dr. Robert Hyatt" . Cis.uab.edu. 1 de febrero de 2004. Archivado del original el 16 de abril de 2014. Consultado el 3 de abril de 2010 .
  94. El tamaño del espacio de estados y del árbol de juego para el ajedrez se estimó por primera vez en Claude Shannon (1950), "Programming a Computer for Playing Chess" (PDF) , Philosophical Magazine , 41 (314), archivado del original (PDF) el 6 de julio de 2010 , recuperado el 30 de diciembre de 2008.Shannon proporcionó estimaciones de 10⁴³ y 10¹²⁰ respectivamente, menores que las estimaciones de la tabla de complejidad de juegos , que provienen de la tesis de Victor Allis . Consulte el número de Shannon para obtener más detalles.
  95. Aviezri Fraenkel; D. Lichtenstein (1981), "El cálculo de una estrategia perfecta para el ajedrez n×n requiere un tiempo exponencial en n", J. Combin. Theory Ser. A , 31 (2): 199– 214, doi : 10.1016/0097-3165(81)90016-9
  96. "CoffeeHouse: Interfaz Java del Club de Ajedrez por Internet" . Archivado del original el 20 de junio de 1997. Consultado el 8 de julio de 2019 .
  97. "FICS - Servidor de ajedrez gratuito por Internet" . Archivado del original el 12 de diciembre de 1998. Consultado el 8 de julio de 2019 .
  98. "Copia archivada" . Archivado del original el 31/08/2004 . Recuperado el 31/08/2004 .{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  99. "Juega ajedrez diario (por correspondencia)" . Archivado del original el 6 de octubre de 2007.
  100. "Juega ajedrez en línea gratis" . play.chessbase.com . Archivado del original el 17 de diciembre de 2013. Consultado el 11 de enero de 2022 .
  101. "Servidor de tácticas de ajedrez" . Archivado del original el 8 de abril de 2006. Consultado el 8 de abril de 2006 .
  102. "Tácticas de ajedrez" . Archivado del original el 13 de junio de 2007. Consultado el 13 de junio de 2007 .
  103. "Rompecabezas de ajedrez: mejora tu ajedrez resolviendo tácticas" . Archivado del original el 18 de febrero de 2008. Consultado el 18 de febrero de 2008 .
  104. "Tácticas de ajedrez en línea" . Archivado del original el 4 de mayo de 2015.
  105. "Chessbase Online, búsqueda en una base de datos de alta calidad de partidas de ajedrez. Partidas de ajedrez gratuitas. ChessBase-Online" . www.chessbase-online.com . Archivado del original el 11 de mayo de 2000. Consultado el 11 de enero de 2022 .
  106. "Juegos de ajedrez en Java: búsqueda y análisis de bases de datos" . Archivado del original el 19 de febrero de 1999. Consultado el 8 de julio de 2019 .
  107. "NICBase Online" . Archivado del original el 8 de octubre de 2002. Consultado el 8 de octubre de 2002 .
  108. "Juega ajedrez en línea - Shredder Chess" . Archivado del original el 5 de diciembre de 2006. Consultado el 5 de diciembre de 2006 .
  109. "Inicio" . fritz.chessbase.com .
  110. "Inicio" . mygames.chessbase.com .
  111. "Clases de ajedrez - Aprende con cursos en línea" . Archivado del original el 14 de diciembre de 2007. Consultado el 14 de diciembre de 2007 .
  112. ChessBase. (2024). Cómo la revolución de la IA impactó el ajedrez (1/2). ChessBase. ChessBase.com . Consultado el 11 de febrero de 2025.
  113. Kahn, J. (2019). ¿Puede el ajedrez sobrevivir a la inteligencia artificial? The New Atlantis, (58), 16-35. https://www.thenewatlantis.com/publications/can-chess-survive-artificial-intelligence
  114. Trampas y juego limpio. Campeonato europeo de ajedrez en línea: Más de 80 jugadores descalificados por violar las reglas del juego limpio . MumbaiMirror.indiatimes.com. 29 de mayo de 2020. Consultado el 11 de febrero de 2025.
  115. 1 2 Duca Iliescu, DM (2020). "El impacto de la inteligencia artificial en el mundo del ajedrez" . JMIR Serious Games . 8 (4) e24049. doi : 10.2196/24049 . PMC 7759436. PMID 33300493 .  
  116. "Vale, ahora puedo explicar en parte la rareza del ajedrez en el programa LLM" . 21 de noviembre de 2024.

 Este artículo incorpora texto de Chess Programming Wiki, disponible bajo la licencia CC BY-SA 3.0 .

Fuentes

  • Hsu, Feng-hsiung (2002), Behind Deep Blue: Building the Computer that Defeated the World Chess Champion , Princeton University Press , ISBN 0-691-09065-3
  • Levy, David ; Newborn, Monty (1991), Cómo juegan al ajedrez los ordenadores , Computer Science Press, ISBN 0-7167-8121-2
  • Newborn, Monty (1975), Ajedrez por computadora , Academic Press, Nueva York
  • Newborn, Monty (1997), Kasparov contra Deep Blue: El ajedrez computacional alcanza la mayoría de edad , Springer, ISBN 0-387-94820-1(Este libro abarca el ajedrez por ordenador desde sus inicios hasta el primer encuentro entre Deep Blue y Garry Kasparov).
  • Nunn, John (2002), Secretos de finales sin peones , Publicaciones Gambit , ISBN 1-901983-65-X
  • Shannon, Claude E. (1950), "Programación de una computadora para jugar ajedrez" (PDF) , Philosophical Magazine , Ser. 7, Vol. 41 (314), archivado del original (PDF) el 6 de julio de 2010 , recuperado el 21 de junio de 2009.
  • Dominando el juego: Una historia del ajedrez por computadora en el Museo de Historia de la Computación.
  • Cronología de la historia del ajedrez por computadora de Bill Wall

Lecturas adicionales

  • Nuevas arquitecturas en ajedrez computacional: tesis sobre cómo construir un motor de ajedrez.
  • Coles, L. Stephen (30 de octubre de 2002), Ajedrez por computadora: La Drosophila de la IA , Dr. Dobb's Journal
  • Huberman (Liskov), Barbara Jane (1968), Un programa para jugar finales de ajedrez , Departamento de Ciencias de la Computación de la Universidad de Stanford, Informe Técnico CS 106, Memorando AI-65 del Proyecto de Inteligencia Artificial de Stanford
  • Lasar, Matthew (2011). ¿ Fuerza bruta o inteligencia? El lento ascenso del ajedrez por computadora . Ars Technica .
  • Newborn, Monty (1996). "Superando a Kasparov en la búsqueda". Actas de los simposios de la Sociedad Matemática Americana en Matemáticas Aplicadas: Aspectos Matemáticos de la Inteligencia Artificial . 55 : 175–205 .Basado en un artículo presentado en la Reunión de Invierno de la AMS de 1996, Orlando, Florida, del 9 al 11 de enero de 1996.
  • Newborn, Monty (2000). "La contribución de Deep Blue a la IA". Annals of Mathematics and Artificial Intelligence . 28 ( 1– 4): 27– 30. doi : 10.1023/A:1018939819265 .
  • Newborn, Monty (2006). Theo y Octopus en el Campeonato Mundial de Programas de Razonamiento Automatizado de 2006 , Seattle, Washington, 18 de agosto de 2006.
  • Stiller, Lewis (1996), Álgebra multilineal y finales de ajedrez (PDF) , Berkeley, California: Instituto de Investigación de Ciencias Matemáticas , Juegos sin azar, Publicaciones del MSRI, Volumen 29 , consultado el 21 de junio de 2009.
  • Lista de clasificaciones de motores de ajedrez y archivos de partidas en formato PGN.
  • Dominando el juego: Una historia del ajedrez por computadora en el Museo de Historia de la Computación.
  • Ajedrez por computadora de la ACM por Bill Wall
  • "Ajedrez por computadora" de Edward Winter
  • Información y recursos sobre ajedrez por computadora. Archivado el 18 de enero de 2019 en Wayback Machine : blog que sigue la creación de un motor de ajedrez por computadora.
  • Defendiendo el honor de la humanidad , un artículo de Tim Krabbé sobre el ajedrez "anticomputadora".
  • Una guía para las bases de datos de finales de juego
  • GameDev.net – Programación de ajedrez por François-Dominic Laramée Parte 1 Archivado el 18/09/2011 en Wayback Machine 2 Archivado el 27/09/2011 en Wayback Machine 3 Archivado el 19/09/2011 en Wayback Machine 4 Archivado el 19/09/2011 en Wayback Machine 5 Archivado el 20/09/2011 en Wayback Machine 6 Archivado el 07/08/2011 en Wayback Machine
  • Página de teoría del ajedrez por computadora de Colin Frayn
  • ""Cómo juega al ajedrez REBEL" de Ed Schröder" (PDF) . (268  KB)
  • "Juega al ajedrez con Dios" Archivado el 22/06/2021 en Wayback Machine – para jugar al ajedrez contra la base de datos de finales de Ken Thompson
  • ChessVsComputer.com : plataforma basada en navegador para jugar contra el motor Stockfish con niveles de dificultad ajustables.
  • Wiki de programación de ajedrez
  • Foros del Club de Ajedrez por Computadora
  • Los motores de ajedrez informáticos más potentes a lo largo del tiempo.

Medios de comunicación

  • Historia del ajedrez por computadora: una perspectiva de IA. Archivado el 14 de junio de 2006 en Wayback Machine : una conferencia completa con Murray Campbell (Proyecto Deep Blue de IBM), Edward Feigenbaum, David Levy , John McCarthy y Monty Newborn. En el Museo de Historia de la Computación .