Ajedrez de computadora

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Equipo informático y software capaz de jugar ajedrez
1990s computador de ajedrez sensor de presión con pantalla LCD

Computer chess incluye tanto hardware (computadoras dedicadas) como software capaz de jugar al ajedrez. El ajedrez por computadora brinda oportunidades para que los jugadores practiquen incluso en ausencia de oponentes humanos, y también brinda oportunidades para el análisis, el entretenimiento y el entrenamiento. Las aplicaciones informáticas de ajedrez que juegan al nivel de un maestro de ajedrez o superior están disponibles en hardware desde supercomputadoras hasta teléfonos inteligentes. También hay disponibles máquinas independientes para jugar al ajedrez. Stockfish, GNU Chess, Fruit y otras aplicaciones gratuitas de código abierto están disponibles para varias plataformas.

Las aplicaciones informáticas de ajedrez, ya sea implementadas en hardware o software, utilizan estrategias diferentes a las de los humanos para elegir sus movimientos: usan métodos heurísticos para construir, buscar y evaluar árboles que representan secuencias de movimientos desde la posición actual e intentan ejecutar los mejores tales secuencia durante el juego. Dichos árboles suelen ser bastante grandes, de miles a millones de nodos. La velocidad computacional de las computadoras modernas, capaces de procesar decenas de miles a cientos de miles de nodos o más por segundo, junto con las heurísticas de extensión y reducción que reducen el árbol a la mayoría de los nodos relevantes, hacen que este enfoque sea efectivo.

Las primeras máquinas de ajedrez capaces de jugar ajedrez o juegos reducidos similares al ajedrez eran programas de software que se ejecutaban en computadoras digitales a principios de la era de las computadoras de tubo de vacío (década de 1950). Los primeros programas funcionaban tan mal que incluso un principiante podría vencerlos. En 40 años, en 1997, los motores de ajedrez que funcionaban en supercomputadoras o hardware especializado eran capaces de derrotar incluso a los mejores jugadores humanos. En 2006, los programas que se ejecutaban en PC de escritorio habían alcanzado la misma capacidad. En 2006, Monty Newborn, profesor de Ciencias de la Computación en la Universidad McGill, declaró: "la ciencia se ha hecho". Sin embargo, actualmente no es posible resolver ajedrez para las computadoras modernas debido a la gran cantidad de variaciones posibles del juego.

El ajedrez informático alguna vez se consideró la "Drosophila de la IA", la vanguardia de la ingeniería del conocimiento. El campo ahora se considera un paradigma científicamente completo, y jugar al ajedrez es una actividad informática mundana.

Disponibilidad y fuerza de juego

Equipo de ajedrez IC con el nombre del desarrollador Frans Morsch (ver Mephisto)

Las máquinas/programas de ajedrez están disponibles en varias formas diferentes: máquinas de ajedrez independientes (generalmente un microprocesador que ejecuta un programa de ajedrez de software, pero a veces como una máquina de hardware especializada), programas de software que se ejecutan en PC estándar, sitios web y aplicaciones para dispositivos móviles. Los programas se ejecutan en todo, desde supercomputadoras hasta teléfonos inteligentes. Los requisitos de hardware para los programas son mínimos; las aplicaciones no ocupan más de unos pocos megabytes en disco, usan unos pocos megabytes de memoria (pero pueden usar mucho más, si está disponible) y cualquier procesador de 300 MHz o más rápido es suficiente. El rendimiento variará modestamente con la velocidad del procesador, pero la memoria suficiente para contener una gran tabla de transposición (hasta varios gigabytes o más) es más importante para la fuerza de juego que la velocidad del procesador.

La mayoría de los programas y máquinas de ajedrez comerciales disponibles pueden jugar con la fuerza de un supergran maestro (Elo 2700 o más) y aprovechar las arquitecturas de CPU de computadora multinúcleo e hiperprocesos. Los mejores programas como Stockfish han superado incluso a los jugadores de calibre campeón mundial. La mayoría de los programas de ajedrez comprenden un motor de ajedrez conectado a una GUI, como Winboard o Chessbase. La fuerza de reproducción, los controles de tiempo y otras configuraciones relacionadas con el rendimiento se pueden ajustar desde la GUI. La mayoría de las GUI también permiten al jugador configurar y editar posiciones, invertir movimientos, ofrecer y aceptar tablas (y renunciar), solicitar y recibir recomendaciones de movimientos y mostrar el análisis del motor como el juego. progresa

Hay algunos motores de ajedrez como Sargon, IPPOLIT, Stockfish, Crafty, Fruit, Leela Chess Zero y GNU Chess que se pueden descargar (u obtener el código fuente de otro modo) de Internet de forma gratuita.

Tipos y características del software de ajedrez

Quizás el tipo más común de software de ajedrez son los programas que simplemente juegan al ajedrez. Un jugador humano hace un movimiento en el tablero, la IA calcula y juega un movimiento posterior, y el humano y la IA alternan turnos hasta que finaliza el juego. 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 a menudo tienen una interfaz de línea de comando de texto simple, mientras que las GUI pueden ofrecer una variedad de conjuntos de piezas, estilos de tablero o incluso piezas animadas o en 3D. Debido a que los motores recientes son tan capaces, los motores o las GUI pueden ofrecer alguna forma de perjudicar la capacidad del motor, para mejorar las probabilidades de que el jugador humano gane. Los motores Universal Chess Interface (UCI) como Fritz o Rybka pueden tener un mecanismo integrado para reducir la calificación Elo del motor (a través de los parámetros uci_limitstrength y uci_elo de UCI). Algunas versiones de Fritz tienen un modo Handicap y Fun para limitar el motor actual o cambiar el porcentaje de errores que comete o cambiar su estilo. Fritz también tiene un Modo Amigo en el que durante el juego 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 gran 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) para Windows, Mac o Linux, Chess Assistant para PC, Gerhard Kalab' s Chess PGN Master para Android o Giordano Vicoli's Chess-Studio para iOS.

Los programas como Playchess te permiten jugar contra otros jugadores a través de Internet.

Los programas de entrenamiento de ajedrez enseñan ajedrez. Chessmaster tenía tutoriales de juego 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 de los campeones mundiales 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, basadas en tutoriales del GM Alexander Kalinin y Maxim Blokh.

También hay software para manejar problemas de ajedrez.

Ordenadores versus humanos

Después de descubrir la detección 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. No anticipó la dificultad de determinar el orden correcto para evaluar los movimientos. Los investigadores trabajaron para mejorar los programas' capacidad para identificar heurísticas asesinas, movimientos de puntuación inusualmente altos 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 pronto no podrían jugar a un nivel de Maestro. En 1968, el maestro internacional David Levy hizo una famosa apuesta de que ninguna computadora de ajedrez sería capaz de vencerlo dentro de diez años, y en 1976, el maestro principal y profesor de psicología Eliot Hearst de la Universidad de Indiana escribió que "la única forma en que una computadora actual programa podría ganar un solo juego contra un jugador maestro sería que el maestro, tal vez en un estado de estupor ebrio mientras juega 50 juegos simultáneamente, cometa algún error de una vez en un año ".

A fines de la década de 1970, los programas de ajedrez de repente comenzaron a derrotar a jugadores humanos altamente calificados. El año de la declaración de Hearst, el Chess 4.5 de la Universidad de Northwestern en el nivel Clase B del Paul Masson American Chess Championship 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 por computadora contra un jugador de clase magistral a nivel de torneo al ganar una de las seis partidas. En 1980, Belle comenzó a derrotar a menudo a Masters. Para 1982, dos programas se jugaban a nivel de maestro y tres eran un poco más débiles.

La repentina mejora sin un gran avance teórico fue inesperada, ya que muchos no esperaban que la capacidad de Belle para examinar 100 000 posiciones por segundo (alrededor de ocho capas) fuera suficiente. Los Spracklens, creadores del exitoso programa de microcomputadoras Sargon, estimaron que el 90 % de la mejora provino de una velocidad de evaluación más rápida y solo el 10 % de evaluaciones mejoradas. New Scientist declaró en 1982 que las computadoras "juegan un ajedrez terrible... torpes, ineficientes, difusas y simplemente feas", pero los humanos perdieron ante ellas. al cometer "errores garrafales horribles, lapsus asombrosos, descuidos incomprensibles, errores de cálculo graves y cosas por el estilo" mucho más a menudo de lo que se dieron cuenta; "en resumen, las computadoras ganan principalmente a través de su habilidad para encontrar y explotar errores de cálculo en iniciativas humanas".

Para 1982, los programas de ajedrez de microcomputadora podían evaluar hasta 1500 movimientos por segundo y eran tan sólidos como los programas de ajedrez de computadora central de cinco años antes, capaces de derrotar a la mayoría de los jugadores aficionados. Si bien solo pudieron mirar hacia adelante una o dos capas más que en su debut a mediados de la década de 1970, al hacerlo mejoraron 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 vuelve accesible una rica cosecha de errores humanos', escribió New Scientist. Mientras revisaba SPOC en 1984, BYTE escribió que "Las computadoras (mainframes, minis y micros) tienden a jugar al ajedrez feo y poco elegante", pero señaló que Robert La declaración de 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 última generación" para IBM PC con un "sorprendentemente alto" nivel de juego, y estimó su calificación USCF como 1700 (Clase B).

En el Campeonato Norteamericano de Ajedrez Informático 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 pronosticó diez años; los Spracklen predijeron 15; Ken Thompson predijo más de 20; y otros predijeron que nunca sucedería. Sin embargo, la opinión más extendida decía que ocurriría alrededor del año 2000. En 1989, Levy fue derrotado por Deep Thought en un combate de exhibición. Deep Thought, sin embargo, todavía estaba considerablemente por debajo del nivel del Campeonato Mundial, como lo demostró el actual campeón mundial, Garry Kasparov, en dos sólidas victorias en 1989. No fue hasta un partido de 1996 con IBM's Deep Blue que Kasparov perdió su primer juego a una computadora en los controles de tiempo del torneo en Deep Blue versus Kasparov, 1996, juego 1. Este juego fue, de hecho, la primera vez que un campeón mundial reinante perdió contra una computadora usando controles de tiempo regulares. Sin embargo, Kasparov se reagrupó para ganar tres y empatar dos de los cinco juegos restantes del partido, para una victoria convincente.

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

Azul profundo vs. Kasparov, 1996, juego 1
abcdefgh
8
Chessboard480.svg
h7 white rook
f6 black queen
h6 black king
d5 white queen
g5 white knight
d4 black pawn
a3 white pawn
b3 white pawn
f3 black pawn
g3 white pawn
h3 white pawn
f2 black knight
h2 white king
e1 black rook
8
77
66
55
44
33
22
11
abcdefgh
Posición final

Con una potencia de procesamiento cada vez mayor y funciones de evaluación mejoradas, los programas de ajedrez que se ejecutan en estaciones de trabajo disponibles en el mercado comenzaron a rivalizar con los mejores jugadores. En 1998, Rebel 10 derrotó a Viswanathan Anand, quien en ese momento ocupaba el segundo lugar en el mundo, con una puntuación de 5-3. Sin embargo, la mayoría de esos juegos no se jugaron en los controles de tiempo normales. De los ocho juegos, cuatro fueron juegos blitz (cinco minutos más cinco segundos de retraso de Fischer para cada movimiento); estos Rebel ganaron 3-1. Dos fueron juegos semi-blitz (quince minutos para cada lado) que Rebel también ganó (1½–½). Finalmente, se jugaron dos partidas como partidas regulares de torneo (cuarenta jugadas en dos horas, una hora muerte súbita); aquí fue Anand quien ganó ½–1½. En los juegos rápidos, las computadoras jugaban mejor que los humanos, pero en los controles de tiempo clásicos, en los que se determina la calificación de un jugador, la ventaja no era tan clara.

A principios de la década de 2000, los programas disponibles comercialmente como Junior y Fritz pudieron empatar partidos contra el ex campeón mundial Garry Kasparov y el campeón mundial clásico Vladimir Kramnik.

En octubre de 2002, Vladimir Kramnik y Deep Fritz compitieron en el partido de ocho juegos Brains in Bahrain, que terminó en empate. Kramnik ganó los juegos 2 y 3 por "convencional" Tácticas contra la computadora: juegue de forma conservadora para obtener una ventaja a largo plazo que la computadora no puede ver en su búsqueda en el árbol del juego. Fritz, sin embargo, ganó el juego 5 después de un grave error de Kramnik. El sexto juego fue descrito por los comentaristas del torneo como "espectacular". Kramnik, en una mejor posición al principio del medio juego, intentó sacrificar una pieza para lograr un fuerte ataque táctico, una estrategia que se sabe que es muy arriesgada contra las computadoras que se defienden mejor contra tales ataques. Fiel a su estilo, Fritz encontró una defensa hermética y el ataque de Kramnik se agotó dejándolo en una mala posición. Kramnik renunció al juego, creyendo que la posición había perdido. Sin embargo, el análisis humano y por computadora posterior al juego ha demostrado que era poco probable que el programa Fritz hubiera podido forzar una victoria y Kramnik efectivamente sacrificó una posición empatada. Los dos juegos finales fueron empates. Dadas las circunstancias, la mayoría de los comentaristas siguen calificando a Kramnik como el jugador más fuerte del partido.

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

En noviembre de 2003, Kasparov interpretó a X3D Fritz. El partido terminó 2-2.

En 2005, Hydra, una computadora dedicada al ajedrez con hardware personalizado y sesenta y cuatro procesadores y también ganadora del 14° IPCCC en 2005, derrotó al séptimo clasificado Michael Adams 5½–½ en una partida de seis juegos (aunque Adams' la preparación fue mucho menos exhaustiva que la de Kramnik para la serie de 2002).

En noviembre y diciembre de 2006, el campeón mundial Vladimir Kramnik jugó en Deep Fritz. Esta vez ganó la computadora; el partido terminó 2-4. Kramnik pudo ver el libro de aperturas de la computadora. En los primeros cinco juegos, Kramnik dirigió el juego hacia un típico 'anti-computador'. concurso posicional. Perdió un juego (pasando por alto un mate en uno) y empató los siguientes cuatro. En el juego final, en un intento por empatar el partido, Kramnik jugó la Defensa Siciliana más agresiva y fue aplastado.

Se especuló que el interés en la competencia de ajedrez humano-computadora se desplomaría como resultado de la partida Kramnik-Deep Fritz de 2006. Según Newborn, por ejemplo, "la ciencia está hecha".

Las partidas de ajedrez entre humanos y computadoras mostraron que los mejores sistemas informáticos superaron a los campeones de ajedrez humanos a fines de la década de 1990. Durante los 40 años anteriores a eso, la tendencia había sido que las mejores máquinas ganaban alrededor de 40 puntos por año en la calificación Elo, mientras que los mejores humanos solo ganaban aproximadamente 2 puntos por año. La calificación más alta obtenida por una computadora en una competencia humana fue la calificación USCF de Deep Thought de 2551 en 1988 y la FIDE ya no acepta resultados humano-computadora en sus listas de calificación. Se han creado grupos especializados de Elo solo para máquinas para calificar máquinas, pero esos números, aunque tienen una apariencia similar, no se comparan directamente. En 2016, la Asociación Sueca de Informática de Ajedrez calificó al programa informático Komodo con 3361.

Los motores de ajedrez siguen mejorando. En 2009, los motores de ajedrez que funcionan con 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 ejecuta dentro de Pocket Fritz 4 en el teléfono móvil HTC Touch HD ganó el torneo de la Copa Mercosur en Buenos Aires, Argentina con 9 victorias y 1 empate el 4 de agosto. 14 de enero de 2009. Pocket Fritz 4 busca menos de 20.000 posiciones por segundo. Esto contrasta con las supercomputadoras como Deep Blue que buscaban 200 millones de posiciones por segundo.

Advanced Chess es una forma de ajedrez desarrollada en 1998 por Kasparov donde un humano juega contra otro humano, y ambos tienen acceso a computadoras para mejorar su fuerza. El resultado "avanzado" Kasparov argumentó que el jugador era más fuerte que un humano o una computadora sola. Esto se ha demostrado en numerosas ocasiones, como en los eventos de Freestyle Chess.

Los jugadores de hoy tienden a tratar los motores de ajedrez como herramientas de análisis en lugar de como oponentes. El gran maestro de ajedrez Andrew Soltis declaró en 2016 "Las computadoras son demasiado buenas" y que el campeón mundial Magnus Carlsen no quiere jugar al ajedrez por computadora porque "simplemente pierde todo el tiempo y no hay nada más deprimente que perder sin siquiera estar en el juego".

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 en los primeros años del siglo XX, los científicos y teóricos han buscado desarrollar una representación procesal de cómo los humanos aprenden, recuerdan, pensar y aplicar el conocimiento, y el juego de ajedrez, debido a su enorme complejidad, se convirtió en la "Drosophila de la inteligencia artificial (IA)". 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, se conocían 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):

  • base de búsqueda (fuerza bruta vs búsqueda selectiva)
    • Búsqueda en esquema basado en la búsqueda (minimax/alpha-beta, Monte Carlo búsqueda de árboles)
    • Evaluaciones en esquema basado en la búsqueda (aprendizaje de máquina, redes neuronales, afinación de texel, algoritmos genéticos, descenso de gradiente, aprendizaje de refuerzo)
  • basado en el conocimiento (PARADISE, tablas de endgame)

Uso de "fines y medios" heurística un ajedrecista humano puede determinar intuitivamente los resultados óptimos y cómo lograrlos independientemente del número de movimientos necesarios, pero una computadora debe ser sistemática en su análisis. La mayoría de los jugadores están de acuerdo en que para jugar bien es necesario mirar al menos cinco movimientos por delante (diez capas) cuando sea necesario. Las reglas normales de los torneos dan a cada jugador un promedio de tres minutos por jugada. En promedio, hay más de 30 movimientos legales por posición de ajedrez, por lo que una computadora debe examinar mil billones de posibilidades para anticipar diez capas (cinco movimientos completos); uno que pudiera examinar un millón de posiciones por segundo requeriría más de 30 años.

Los primeros intentos de representaciones procedimentales de jugar al ajedrez son anteriores a la era electrónica digital, pero fue el programa almacenado en la computadora digital lo que permitió calcular tal complejidad. Claude Shannon, en 1949, expuso los principios de la solución algorítmica del ajedrez. En ese documento, el juego está representado por un 'árbol', o estructura de datos digitales de elecciones (ramas) correspondientes a movimientos. Los nodos del árbol eran posiciones en el tablero resultantes de las elecciones de movimiento. La imposibilidad de representar un juego completo de ajedrez construyendo un árbol desde el primer movimiento hasta el último se hizo evidente de inmediato: hay un promedio de 36 movimientos por posición en el ajedrez y un juego promedio dura alrededor de 35 movimientos hasta la resignación (60-80 movimientos si se juega). para dar jaque mate, punto muerto u otro empate). Hay 400 posiciones posibles después del primer movimiento de cada jugador, unas 200 000 después de dos movimientos cada uno y casi 120 millones después de solo 3 movimientos cada uno.

Por lo tanto, se propuso una anticipación limitada (búsqueda) con cierta profundidad, seguida del uso de conocimientos específicos del dominio para evaluar las posiciones de terminales resultantes. Resultaría una especie de posición intermedia, dados buenos movimientos por ambos lados, y su evaluación informaría al jugador sobre la bondad o maldad de los movimientos elegidos. Las operaciones de búsqueda y comparación en el árbol se adaptaban bien al cálculo por computadora; la representación del conocimiento sutil del ajedrez en la función de evaluación no lo era. Los primeros programas de ajedrez sufrieron en ambas áreas: la búsqueda en el vasto árbol requería recursos computacionales mucho más allá de los disponibles, y llevaría décadas descubrir qué conocimiento del ajedrez era útil y cómo debía codificarse.

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

  • Interfaz gráfica de usuario (GUI) – cómo se introducen y comunican los movimientos al usuario, cómo se registra el juego, cómo se establecen los controles de tiempo y otras consideraciones de interfaz
  • Representación de la Junta – cómo una posición única está representada en las estructuras de datos;
  • Técnicas de búsqueda: cómo identificar los posibles movimientos y seleccionar los más prometedores para un nuevo examen;
  • Evaluación de la hoja – cómo evaluar el valor de una posición de tablero, si no se realizará otra búsqueda desde esa posición.

Adriaan de Groot entrevistó a varios ajedrecistas de distintas fortalezas y concluyó que tanto los maestros como los principiantes analizan entre cuarenta y cincuenta posiciones antes de decidir qué jugada jugar. Lo que hace que los primeros jugadores sean mucho mejores es que usan habilidades de reconocimiento de patrones construidas a partir de la experiencia. Esto les permite examinar algunas líneas con mucha mayor profundidad que otras simplemente sin considerar movimientos que pueden suponer que son malos. Más evidencia de que este sea el caso es la forma en que a los buenos jugadores humanos les resulta mucho más fácil recordar posiciones de juegos de ajedrez genuinos, dividiéndolas en una pequeña cantidad de subposiciones reconocibles, en lugar de arreglos completamente aleatorios de las mismas piezas. Por el contrario, los jugadores pobres tienen el mismo nivel de recuerdo para ambos.

El equivalente de esto en el ajedrez informático son las funciones de evaluación para la evaluación de hojas, que corresponden a los jugadores humanos' habilidades de reconocimiento de patrones y el uso de técnicas de aprendizaje automático para entrenarlas, como el ajuste de Texel, el descenso de gradiente estocástico y el aprendizaje por refuerzo, que corresponde a la construcción de experiencia en jugadores humanos. Esto permite que los programas modernos examinen algunas líneas con mucha mayor profundidad que otras mediante el uso de la poda directa y otras heurísticas selectivas para simplemente no considerar los movimientos que el programa supone que son deficientes a través de su función de evaluación, de la misma manera que lo hacen los jugadores humanos. La única diferencia fundamental entre un programa de computadora y un humano en este sentido es que un programa de computadora puede buscar mucho más profundo que un jugador humano, lo que le permite buscar más nodos y evitar el efecto horizonte en una medida mucho mayor de lo que es posible con humanos. jugadores

Interfaz gráfica de usuario

Los programas informáticos de ajedrez suelen admitir una serie de estándares de facto comunes. Casi todos los programas actuales pueden leer y escribir movimientos de juego como notación de juego portátil (PGN) y pueden leer y escribir posiciones individuales como notación de Forsyth-Edwards (FEN). Los programas de ajedrez más antiguos a menudo solo entendían la notación algebraica larga, pero los usuarios de hoy esperan que los programas de ajedrez entiendan la notación algebraica estándar.

A fines de la década de 1990, los programadores comenzaron a desarrollar motores por separado (con una interfaz de línea de comandos que calcula qué movimientos son más fuertes en una posición) o una interfaz gráfica de usuario (GUI) que proporciona al jugador un tablero de ajedrez que puede ver y piezas que se pueden mover. Los motores comunican sus movimientos a la GUI mediante un protocolo como el Protocolo de comunicación del motor 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 tienen que decidir si conectar el motor a un libro de aperturas y/o tablas de finales o dejar esto a la GUI.

Representaciones del consejo

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 ("bitboards") y posiciones codificadas Huffman para almacenamiento compacto a largo plazo.

Técnicas de búsqueda

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

Búsqueda minimax

Un tipo particular de algoritmo de búsqueda que se utiliza en el ajedrez informático son los algoritmos de búsqueda minimax, en los que, en cada capa, el "mejor" se selecciona el movimiento del jugador; un jugador está tratando de maximizar el puntaje, el otro de minimizarlo. Mediante este proceso alternativo, se llegará a un nodo terminal particular cuya evaluación representa el valor buscado de la posición. Su valor está respaldado hasta 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 llama minimax.

Una implementación ingenua del algoritmo minimax solo puede buscar a una pequeña profundidad en un período de tiempo práctico, por lo que se han ideado varios métodos para acelerar en gran medida la búsqueda de buenos movimientos. La poda alfa-beta, un sistema para definir los límites superior e inferior de los posibles resultados de búsqueda y buscar hasta que los límites coincidan, se usa normalmente para reducir el espacio de búsqueda del programa.

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

Búsqueda de árbol de Monte Carlo

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

AlphaZero y Leela Chess Zero de DeepMind usan MCTS en lugar de minimax. Dichos motores utilizan lotes en unidades de procesamiento de gráficos para calcular sus funciones y políticas de evaluación (selección de movimiento) y, por lo tanto, requieren un algoritmo de búsqueda paralelo ya que los cálculos en la GPU son inherentemente paralelos. Los algoritmos de poda minimax y alfa-beta utilizados en el ajedrez informático son algoritmos 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, porque el muestreo aleatorio utilizado en la búsqueda de árboles de Monte Carlo se presta bien a la computación paralela y es por eso que casi todos los motores que admiten cálculos en la GPU usan 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 que han sido evaluadas previamente, para ahorrar el recálculo de las mismas. Las tablas de refutación registran movimientos clave que "refutan" lo que parece ser un buen movimiento; por lo general, estos se prueban primero en posiciones variantes (ya que es probable que un movimiento que refute una posición refuta otra). El inconveniente es que las tablas de transposición en profundidades de capas profundas pueden volverse bastante grandes, de decenas a cientos de millones de entradas. La tabla de transposición de Deep Blue de IBM en 1996, por ejemplo, tenía 500 millones de entradas. Las tablas de transposición que son demasiado pequeñas pueden hacer que se dedique más tiempo a buscar entradas inexistentes debido a la trilla que el tiempo ahorrado por las entradas encontradas. Muchos motores de ajedrez utilizan la ponderación, buscando niveles más profundos en el 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 una memoria adicional pueden mejorar la fuerza de juego del programa de ajedrez. Las arquitecturas con hiperprocesos pueden mejorar el rendimiento modestamente si el programa se ejecuta en un solo núcleo o en una pequeña cantidad de núcleos. La mayoría de los programas modernos están diseñados para aprovechar múltiples núcleos para realizar búsquedas paralelas. Otros programas están diseñados para ejecutarse en una computadora de uso general y asignar 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 fue de Claude Shannon en 1950. Predijo las dos principales estrategias de búsqueda posibles que se utilizarían, a las que denominó "Tipo A" y 'Tipo B', antes de que nadie programara una computadora para jugar al ajedrez.

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

Primero, con aproximadamente treinta movimientos posibles en una posición típica de la vida real, esperaba que buscar las aproximadamente 109 posiciones involucradas en mirar tres movimientos hacia adelante para ambos lados (seis capas) tomaría aproximadamente dieciséis minutos, incluso en el "muy optimista" caso de que la computadora de ajedrez evaluara un millón de posiciones cada segundo. (Se necesitaron unos cuarenta años para lograr esta velocidad. Un algoritmo de búsqueda posterior llamado poda alfa-beta, un sistema para definir los límites superior e inferior de los posibles resultados de búsqueda y buscar hasta que los límites coincidieran, redujo logarítmicamente el factor de ramificación del árbol del juego, pero todavía no era factible que los programas de ajedrez en ese momento explotaran la explosión exponencial del árbol.

En segundo lugar, ignoró el problema de la inactividad, tratando de evaluar solo una posición que se encuentra al final de un intercambio de piezas u otra secuencia importante de movimientos ('líneas'). Esperaba que la adaptación de minimax para hacer frente a esto aumentaría en gran medida la cantidad de puestos que debían examinarse y ralentizaría aún más el programa. Esperaba que la adaptación del tipo A para hacer frente a esto aumentaría en gran medida el número de puestos que debían examinarse y ralentizaría aún más el programa.

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

  1. Emplear una búsqueda de quiescencia.
  2. Employ forward pruning; i.e. sólo mire algunos buenos movimientos para cada posición.

Esto les permitiría mirar más adelante ('más profundo') en las líneas más significativas en un tiempo razonable. Sin embargo, los primeros intentos de búsqueda selectiva a menudo dieron como resultado que el mejor movimiento o movimientos fueran eliminados. Como resultado, se avanzó poco o nada durante los siguientes 25 años dominados por esta primera iteración del paradigma de búsqueda selectiva. El mejor programa producido en este período inicial fue Mac Hack VI en 1967; jugó aproximadamente al mismo nivel que el aficionado promedio (clase C en la escala de calificación de la Federación de Ajedrez de los Estados Unidos).

Mientras tanto, el hardware siguió mejorando y, en 1974, se implementó por primera vez la búsqueda de fuerza bruta en el programa Northwestern University Chess 4.0. En este enfoque, se buscan todos los movimientos alternativos en un nodo y no se elimina ninguno. Descubrieron que el tiempo requerido para simplemente buscar todos los movimientos era mucho menor que el tiempo requerido para aplicar heurísticas intensivas en conocimiento para seleccionar solo algunos de ellos, y el beneficio de no eliminar los buenos movimientos prematuramente o sin darse cuenta resultó en un rendimiento sustancialmente más fuerte..

En las décadas de 1980 y 1990, finalmente se avanzó en el paradigma de la búsqueda selectiva, con el desarrollo de la búsqueda en reposo, la poda de movimiento nulo y otras heurísticas modernas de búsqueda selectiva. Estas heurísticas tenían muchos menos errores que las heurísticas anteriores, y se descubrió que valía la pena el tiempo extra que ahorraban porque podían buscar más profundamente y ser ampliamente adoptadas por muchos motores. Si bien muchos programas modernos usan la búsqueda alfa-beta como sustrato para su algoritmo de búsqueda, estas heurísticas de búsqueda selectiva adicionales que se usan en los programas modernos significan que el programa ya no hace una "fuerza bruta" buscar. En cambio, confían en gran medida en 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 el programa considera malas, hasta el punto en que la mayoría de los nodos en el árbol de búsqueda se eliminan, lo que permite que los programas modernos busquen 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 de árbol de Monte Carlo llamada Límites superiores de confianza aplicados a árboles o UCT para abreviar. En 2011, Chris Rosin desarrolló una variación de UCT llamada Predictor + Límites superiores de confianza aplicados a árboles, o PUCT para abreviar. Luego, PUCT se usó en AlphaZero en 2017 y luego 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 superordenadores como Control Data Cyber 176 o Cray-1, lo que indica que durante ese período de desarrollo del ajedrez informático, la potencia de procesamiento era el factor limitante del rendimiento. La mayoría de los programas de ajedrez tuvieron problemas para buscar a una profundidad superior a 3 capas. No fue hasta las máquinas de ajedrez de hardware de la década de 1980, que se hizo evidente una 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 gana aproximadamente entre cincuenta y setenta puntos Elo en la fuerza de juego (Levy & Newborn 1991:192).

Evaluación de hojas

Para la mayoría de las posiciones de ajedrez, las computadoras no pueden anticipar todas las posibles posiciones finales. En cambio, deben mirar hacia adelante algunas capas 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 diferentes programas de ajedrez. Las funciones de evaluación suelen evaluar las posiciones en centésimas de peón (llamado centipawn), donde, por convención, una evaluación positiva favorece a las blancas y una evaluación negativa favorece a las negras. Sin embargo, algunas funciones de evaluación generan porcentajes de ganancia/empate/pérdida en lugar de centipawns.

Históricamente, las funciones de evaluación artesanales consideran el valor del material junto con otros factores que afectan la resistencia de cada lado. Al contar el material para cada lado, los valores típicos para las piezas son 1 punto por un peón, 3 puntos por un caballo o alfil, 5 puntos por una torre y 9 puntos por una reina. (Consulte Valor relativo de la pieza de ajedrez). A veces, al rey se le asigna un valor alto arbitrario, como 200 puntos (documento de Shannon) para garantizar que un jaque mate supere todos los demás factores (Levy & Newborn 1991: 45). Además de los puntos por piezas, la mayoría de las funciones de evaluación artesanales tienen en cuenta muchos factores, como la estructura de los peones, el hecho de que un par de alfiles suelen valer más, las piezas centralizadas valen más, etc. Se suele considerar la protección de los reyes, así como la fase del juego (apertura, medio o final). Las técnicas de aprendizaje automático, como el giro de Texel, el descenso de gradiente estocástico o el aprendizaje por refuerzo, se suelen utilizar para optimizar las funciones de evaluación artesanales.

La mayoría de las funciones de evaluación modernas utilizan redes neuronales. La función de evaluación más común que se usa hoy en día es la red neuronal actualizable de manera eficiente, que es una red neuronal poco profunda cuyas entradas son tablas de piezas cuadradas. Las tablas de piezas cuadradas son un conjunto de 64 valores correspondientes a las casillas del tablero de ajedrez y, por lo general, existe una tabla de piezas cuadradas para cada pieza y color, lo que da como resultado tablas de 12 piezas cuadradas y, por lo tanto, 768 entradas en 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 el aprendizaje supervisado o el aprendizaje no supervisado.

La salida de la función de evaluación es un escalar único, cuantificado en centipawns u otras unidades, que es, en el caso de funciones de evaluación artesanales, una suma ponderada de los diversos factores descritos, o en el caso de evaluación basada en redes neuronales funciones, la salida de la cabeza de la red neuronal. La evaluación supuestamente representa o aproxima el valor del subárbol debajo del nodo evaluado como si hubiera sido buscado hasta el final, es decir, el final del juego. Durante la búsqueda, se compara una evaluación con las evaluaciones de otras hojas, eliminando los nodos que representan malas o malas jugadas para cualquiera de los lados, para producir un nodo que, por convergencia, representa el valor de la posición con mejor juego de ambos lados.

Bases de tablas de finales

El juego de finales ha sido durante mucho tiempo una de las grandes debilidades de los programas de ajedrez debido a la profundidad de búsqueda necesaria. Algunos programas de otro nivel de maestría no pudieron ganar en posiciones donde incluso los jugadores humanos intermedios podrían forzar una victoria.

Para resolver este problema, se han utilizado computadoras para analizar completamente algunas posiciones de finales de ajedrez, comenzando con rey y peón contra rey. Estas bases de tablas de finales se generan por adelantado utilizando una forma de análisis retrógrado, comenzando con posiciones en las que se conoce el resultado final (por ejemplo, donde se ha dado mate a un lado) y viendo qué otras posiciones están a un movimiento de distancia de ellos, luego cuáles están a un movimiento. de esos, etc. Ken Thompson fue un pionero en esta área.

Los resultados del análisis informático a veces sorprendían a la gente. En 1977, la máquina de ajedrez Belle de Thompson usó la base de la tabla de finales para un rey y una torre contra un rey y una reina y pudo dibujar ese final teóricamente perdido contra varios maestros (ver Posición de Philidor # Reina contra torre). Esto fue a pesar de no seguir la estrategia habitual de retrasar la derrota manteniendo al rey y la torre defensores juntos durante 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 más allá de decir que la base de datos del programa simplemente devolvió 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 estableció una posición de dama contra torre en la que la dama puede ganar en treinta movimientos, con un juego perfecto. A Browne se le permitieron dos horas y media para jugar cincuenta movimientos, de lo contrario, se reclamaría un empate según la regla de los cincuenta movimientos. Después de cuarenta y cinco movimientos, Browne acordó tablas, al no poder forzar el jaque mate o ganar la torre en los siguientes cinco movimientos. En la posición final, Browne todavía estaba a diecisiete movimientos del jaque mate, pero no tan lejos de ganar la torre. Browne estudió el final del juego y volvió a jugar con la computadora una semana después en una posición diferente en la que la dama puede ganar en treinta movimientos. Esta vez, capturó la torre en el movimiento quincuagésimo, dándole una posición ganadora (Levy & Newborn 1991: 144–48), (Nunn 2002: 49).

Otras posiciones, que durante mucho tiempo se creyó que se ganaban, resultaron requerir más movimientos contra el juego perfecto para ganar de lo que permitía la regla de los cincuenta movimientos del ajedrez. Como consecuencia, durante algunos años se modificaron las reglas oficiales de ajedrez de la FIDE para ampliar el número de jugadas permitidas en estos finales. Después de un tiempo, la regla volvió a cincuenta movimientos en todas las posiciones: se descubrieron más posiciones de este tipo, lo que complicó aún más la regla, y no hizo ninguna diferencia en el juego humano, ya que no podían jugar las posiciones perfectamente.

A lo largo de los años, se han lanzado otros formatos de bases de datos de finales, como Edward Tablebase, De Koning Database y Nalimov Tablebase, que utilizan muchos programas de ajedrez como Rybka, Shredder y Fritz. Se encuentran disponibles bases de mesa para todas las posiciones con seis piezas. Algunos finales de siete piezas han sido analizados por Marc Bourzutschky y Yakov Konoval. Los programadores que utilizan las supercomputadoras Lomonosov en Moscú han completado una base de ajedrez para todos los finales con siete piezas o menos (se excluyen las posiciones triviales de finales, como seis piezas blancas contra un rey negro solitario). En todas estas bases de datos de finales se supone que el enroque ya no es posible.

Muchas bases de datos no tienen en cuenta la regla de los cincuenta movimientos, según la cual un juego en el que pasan cincuenta movimientos sin una captura o un movimiento de peón puede ser reclamado como empate por cualquiera de los jugadores. Esto da como resultado que la base de datos devuelva resultados como "Forzado mate 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 se cambiaran una vez más, dando más tiempo para ganar tales posiciones, no sería necesario regenerar todas las bases de la tabla. También es muy fácil para el programa que usa las bases de datos notar y tener en cuenta esta 'característica' y, en cualquier caso, si usa una tabla de finales, elegirá el movimiento que conduzca a la victoria más rápida (incluso si no cumple con la regla de los cincuenta movimientos con un juego perfecto). Si juegas contra un oponente que no usa una base de mesa, esa elección te dará buenas posibilidades de ganar en cincuenta movimientos.

Las tablas base de Nalimov, que utilizan técnicas de compresión de última generación, requieren 7,05 GB de espacio en el 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 mesa de siete piezas requiere entre 50 y 200 TB de espacio de almacenamiento.

Las bases de datos de finales ocuparon un lugar destacado en 1999, cuando Kasparov jugó un partido de exhibición en Internet contra el resto del mundo. Se llegó a un final de siete piezas de dama y peón con el equipo mundial luchando por salvar las tablas. Eugene Nalimov ayudó generando la base final de la tabla de seis piezas donde ambos lados tenían dos reinas, lo que se usó mucho para ayudar en el análisis de ambos lados.

Libro de aperturas

Los motores de ajedrez, al igual que los seres humanos, pueden ahorrar tiempo de procesamiento, así como también seleccionar fuertes variaciones tal como las exponen los maestros, al hacer referencia a un libro de aperturas almacenado en una base de datos en disco. Los libros de apertura cubren los movimientos de apertura de un juego con una profundidad variable, según la apertura y la variación, pero generalmente hasta los primeros 10-12 movimientos (20-24 capas). Dado que las aperturas han sido estudiadas en profundidad por los maestros durante siglos, y algunas se conocen bien en el medio juego, las valoraciones de variaciones específicas por parte de los maestros generalmente serán superiores a las heurísticas generales del programa.

Aunque en algún momento, jugar un movimiento fuera del libro para poner el programa de ajedrez en sus propios recursos podría haber sido una estrategia efectiva porque los libros de apertura de ajedrez eran selectivos para el estilo de juego del programa, y Los programas tenían debilidades notables en relación con los humanos, eso ya no es cierto hoy en día. Los libros de apertura almacenados en las bases de datos de la computadora probablemente sean mucho más extensos que incluso los humanos mejor preparados, y jugar un movimiento temprano fuera del libro puede hacer que la computadora encuentre el movimiento inusual en su libro y cargue al oponente con una gran desventaja.. Incluso si no es así, jugar fuera del libro puede ser mucho mejor para los programas de ajedrez tácticamente agudos que para los humanos que tienen que descubrir movimientos fuertes en una variación desconocida sobre el tablero.

Listas de clasificación de ajedrez por computadora

CEGT, CSS, SSDF, WBEC, REBEL, FGRL e IPON mantienen listas de calificación que permiten a los fanáticos comparar la potencia 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 prueba motores de ajedrez por computadora' fuerza jugando los programas uno contra el otro. CCRL se fundó en 2006 para promover la competencia entre computadoras y tabular los resultados en una lista de clasificación.

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

Historia

Edad anterior a la computadora

El Ajedrecista

La idea de crear una máquina de ajedrez se remonta al siglo XVIII. Alrededor de 1769, el autómata de ajedrez 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 computación digital, las pruebas serias basadas en autómatas como El Ajedrecista de 1912, que jugaba un final de rey y torre contra rey, eran demasiado complejas y limitadas para ser útiles para jugar partidas completas de ajedrez. El campo de la investigación del ajedrez mecánico languideció hasta la llegada de la computadora digital en la década de 1950.

Era temprana del software: búsqueda selectiva

Desde entonces, los entusiastas del ajedrez y los ingenieros informáticos han construido, con grados crecientes de seriedad y éxito, máquinas para jugar al ajedrez y programas informáticos. Uno de los pocos grandes maestros de ajedrez que se dedicó seriamente al ajedrez por computadora fue el ex campeón mundial de ajedrez Mikhail Botvinnik, quien escribió varios trabajos sobre el tema. También obtuvo un doctorado en ingeniería eléctrica. Trabajando con 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 movimientos de software; en ese momento, solo las computadoras más poderosas 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 partido de ajedrez por computadora entre Estados Unidos y la Unión Soviética (ver Kotok-McCarthy).

Edad del software posterior: búsqueda de ancho completo

Un hito en el desarrollo se produjo cuando el equipo de la Universidad Northwestern, responsable de la serie de programas Chess y ganó los tres primeros campeonatos de ajedrez informático ACM (1970–72), 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 llegaron en segundo lugar tanto en el Campeonato ACM de 1974 como en el Campeonato Mundial de Ajedrez Informático inaugural de ese año, antes de volver a ganar el Campeonato ACM en 1975, 1976 y 1977. La implementación de tipo A resultó ser igual de rápida: en el tiempo que solía llevar decidir qué movimientos valían la pena buscar, era posible buscarlos todos. De hecho, el Ajedrez 4.0 estableció el paradigma que fue y sigue siendo esencialmente seguido por todos los programas modernos de Ajedrez en la actualidad.

Auge de las máquinas de ajedrez

En 1978, una de las primeras versiones de la máquina de ajedrez de hardware Belle de Ken Thompson, ingresó y ganó el Campeonato de ajedrez informático de América del Norte sobre el dominante Northwestern University Chess 4.7.

Revolución de las microcomputadoras

Los avances tecnológicos por órdenes de magnitud en el poder de procesamiento han hecho que el enfoque de la fuerza bruta sea mucho más incisivo que en los primeros años. El resultado es que un jugador de IA táctico muy sólido, ayudado por un conocimiento posicional limitado integrado por la función de evaluación y las reglas de poda/extensión, comenzó a igualar a los mejores jugadores del mundo. Resultó producir excelentes resultados, al menos en el campo del ajedrez, dejar que las computadoras hicieran lo que mejor saben hacer (calcular) en lugar de persuadirlas para que imitaran los procesos de pensamiento y el conocimiento humanos. En 1997, Deep Blue, una máquina de fuerza bruta capaz de examinar 500 millones de nodos por segundo, derrotó al campeón mundial Garry Kasparov, marcando la primera vez que una computadora derrota a un campeón mundial de ajedrez en control de tiempo estándar.

Ajedrez sobrehumano

En 2016, NPR pidió a los expertos que caracterizaran el estilo de juego de los motores 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 objetivamente el mejor movimiento en cualquier posición, incluso si parece absurdo, y pueden jugar cualquier movimiento". no importa lo feo que sea." Los grandes maestros Andrew Soltis y Susan Polgar afirmaron que es más probable que las computadoras retrocedan que los humanos.

Revolución de las redes neuronales

Si bien 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, las redes neuronales no fueron ampliamente adoptadas por los motores de ajedrez hasta la década de 1980. llegada de redes neuronales actualizables de manera eficiente en el verano de 2020. Las redes neuronales actualizables de manera eficiente fueron desarrolladas originalmente en shogi informático en 2018 por Yu Nasu, y primero tuvieron que trasladarse a un derivado de Stockfish llamado Stockfish NNUE el 31 de mayo de 2020 e integrarse en el motor oficial de Stockfish el 6 de agosto de 2020, 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. Sin embargo, AlphaZero influyó en muy pocos motores para que comenzaran a usar redes neuronales, y estos tendían a ser nuevos motores experimentales como Leela Chess Zero, que comenzó específicamente a replicar el papel de AlphaZero. Las redes neuronales profundas utilizadas en la función de evaluación de AlphaZero requerían costosas unidades de procesamiento de gráficos, que no eran compatibles con los motores de ajedrez existentes. La gran mayoría de los motores de ajedrez solo usan unidades de procesamiento central, y la información de procesamiento y computación en las GPU requiere 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 utilizando funciones de evaluación artesanales hasta que las redes neuronales actualizables de manera eficiente se trasladaron al ajedrez informático en 2020, lo que no requería el uso de GPU o bibliotecas como CUDA. Incluso entonces, las redes neuronales utilizadas en el ajedrez por computadora son bastante superficiales, y los métodos de aprendizaje de refuerzo profundo promovidos por AlphaZero todavía son extremadamente raros en el ajedrez por computadora.

Cronología

  • 1769 – Wolfgang von Kempelen construye el turco. Presentado como un autómata de juego de ajedrez, es operado en secreto por un jugador humano escondido dentro de la máquina.
  • 1868 – Charles Hooper presenta el autómata Ajeeb – que también tiene un jugador de ajedrez humano escondido dentro.
  • 1912 – Leonardo Torres y Quevedo construye El Ajedrecista, una máquina que podría jugar King y Rook versus King endgames.
  • 1941 – Predating comparable work by at least a decade, Konrad Zuse desarrolla algoritmos de ajedrez en su formalismo de programación Plankalkül. Debido a las circunstancias de la Segunda Guerra Mundial, sin embargo, no fueron publicados, y no llegaron a la luz, hasta la década de 1970.
  • 1948 – Libro de Norbert Wiener Cibernética describe cómo un programa de ajedrez podría desarrollarse usando una búsqueda minimax limitada de profundidad con una función de evaluación.
  • 1950 – Claude Shannon publica "Programar una computadora para jugar al ajedrez", uno de los primeros artículos sobre los métodos algorítmicos del ajedrez por computadora.
  • 1951 – Alan Turing es el primero en publicar un programa, desarrollado en papel, que era capaz de jugar un juego completo de ajedrez (dubbed Turochamp).
  • 1952 – Dietrich Prinz desarrolla un programa que resuelve problemas de ajedrez.
abcdef
6a6 black rookb6 black knightc6 black queend6 black kinge6 black knightf6 black rook6
5a5 black pawnb5 black pawnc5 black pawnd5 black pawne5 black pawnf5 black pawn5
4a4b4c4d4e4f44
3a3b3c3d3e3f33
2a2 white pawnb2 white pawnc2 white pawnd2 white pawne2 white pawnf2 white pawn2
1a1 white rookb1 white knightc1 white queend1 white kinge1 white knightf1 white rook1
abcdef
Los Alamos ajedrez. Esta versión simplificada del ajedrez fue jugado en 1956 por la computadora MANIAC I.
  • 1956 – El ajedrez Los Alamos es el primer programa para jugar un juego de 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 – Los primeros programas que pueden jugar un juego completo de ajedrez son desarrollados, uno por Alex Bernstein y uno por los programadores rusos usando un BESM.
  • 1958 – NSS se convierte en el primer programa de ajedrez para usar el algoritmo de búsqueda de alfa–beta.
  • 1962 – El primer programa para jugar creíblemente, Kotok-McCarthy, se publica en el MIT.
  • 1963 – Grandmaster David Bronstein derrota a un M-20 ejecutando un programa de ajedrez temprano.
  • 1966–67 – Se juega el primer partido de ajedrez entre programas informáticos. Moscú Institute for Theoretical and Experimental Physics (ITEP) derrota a Kotok-McCarthy en la Universidad de Stanford por telégrafo durante nueve meses.
  • 1967 – Mac Hack VI, por Richard Greenblatt et al. presenta tablas de transposición y emplea docenas de heurísticas de selección de movimientos cuidadosamente ajustados; se convierte en el primer programa para derrotar a una persona en el juego del torneo. Mac Hack VI jugó sobre el nivel de clase C.
  • 1968 – El campeón de ajedrez escocés David Levy hace una apuesta de 500 libras con los pioneros de AI John McCarthy y Donald Michie que ningún programa de computadora ganaría un partido de ajedrez contra él dentro de 10 años.
  • 1970 – Monty Newborn y la Asociación para la Maquinaria de Computación organizan los primeros Campeonatos de Computación de América del Norte en Nueva York.
  • 1971 – Ken Thompson, un científico de computación estadounidense en Bell Labs y creador del sistema operativo Unix, escribe su primer programa de juego de ajedrez llamado "chess" para la primera versión de Unix.
  • 1974 – David Levy, Ben Mittman y Monty Newborn organizan el primer Campeonato Mundial de Ajedrez de Computadora que es ganado por el programa ruso Kaissa.
  • 1975 – Después de casi una década de sólo progreso marginal desde la marca de alta agua del MacHack VI de Greenblatt en 1967, Northwestern University Chess 4.5 se presenta con búsqueda de ancho completo, e innovaciones de bitboards y profundización iterativa. También reinstaló una tabla de transposición como primera vista en el programa de Greenblatt. Fue así el primer programa con una estructura moderna integrada y se convirtió en el modelo para todo desarrollo futuro. Chess 4.5 jugó fuerte clase B y ganó el 3er Campeonato Mundial de Ajedrez de Computadora el próximo año. Northwestern University Chess y sus descendientes dominaron el ajedrez por computadora hasta la era de máquinas de ajedrez de hardware a principios de los años 80.
  • 1976 – En diciembre, el programador canadiense Peter R. Jennings lanza Microchess, el primer juego para la venta de microcomputadoras.
Publicado en 1977, Boris fue uno de los primeros ordenadores de ajedrez que se comercializaron ampliamente. Corrió en un microprocesador de 8 bits de Fairchild F8 con sólo 2,5 KiB ROM y 256 byte RAM.
  • 1977 – En marzo, Fidelity Electronics libera Chess Challenger, el primer equipo de ajedrez dedicado a ser vendido. La Asociación Internacional de Ajedrez Informático está fundada por programadores de ajedrez para organizar campeonatos de ajedrez de computadora e informar sobre investigación y avances en ajedrez de computadora en su revista. También ese año, Applied Concepts lanzó Boris, un equipo de ajedrez dedicado en una caja de madera con piezas de ajedrez de plástico y un tablero plegable.
  • 1978 – David Levy gana la apuesta hecha 10 años antes, derrotando a Chess 4.7 en un partido de seis partidos por una puntuación de 41⁄2–11⁄2. La victoria de la computadora en el juego cuatro es la primera derrota de un maestro humano en un torneo.
  • 1979 – Frederic Friedel organiza un partido entre IM David Levy y Chess 4.8, que se transmite en la televisión alemana. Levy y Chess 4.8, corriendo en un CDC Cyber 176, el equipo más poderoso del mundo, luchó un agotador sorteo de 89 movimientos.
  • 1980 – Las computadoras Fidelity ganan el Campeonato Mundial de Microcomputadoras cada año de 1980 a 1984. En Alemania, Hegener & Glaser libera su primer equipo de ajedrez dedicado Mephisto. La USCF prohíbe que las computadoras compiten en torneos humanos excepto cuando están representadas por los creadores de los sistemas de ajedrez. Se establece el Premio Fredkin, que ofrece 100.000 dólares al creador de la primera máquina de ajedrez para derrotar al campeón mundial de ajedrez.
  • 1981 – Cray Blitz gana el Campeonato Estatal de Mississippi con una puntuación perfecta de 5–0 y una puntuación de rendimiento de 2258. En la ronda 4 derrota a Joe Sentef (2262) para convertirse en el primer equipo en vencer a un maestro en el juego del torneo y el primer equipo en ganar una calificación maestra.
  • 1984 – La compañía alemana Hegener & Glaser Mephisto line of dedicated chess computers starts a long streak of victories (1984-1990) in the World Microcomputer Championship using dedicated computers running programs ChessGenius and Rebel.
  • 1986 – Software Country (ver Software Toolworks) lanzado Chessmaster 2000 basado en un motor de David Kittinger, la primera edición de lo que se convertiría en la mejor línea del mundo de programas de ajedrez.
  • 1987 – Frederic Friedel y físico Matthias Wüllenweber encontraron Chessbase, liberando el primer programa de bases de datos de ajedrez. Stuart Cracraft libera GNU Chess, uno de los primeros 'motores de la mechilla' a empaquetar con una interfaz gráfica de usuario independiente (GUI), chesstool.
  • 1988 – HiTech, desarrollado por Hans Berliner y Carl Ebeling, gana un partido contra el gran maestro Arnold Denker 31⁄2–1⁄2. Deep Thought comparte el primer lugar con Tony Miles en el Campeonato de Herramientas de Software, por delante del ex campeón mundial Mikhail Tal y varios grandes maestros, incluyendo Samuel Reshevsky, Walter Browne y Mikhail Gurevich. También derrota al gran maestro Bent Larsen, lo que lo convierte en el primer ordenador en vencer a un GM en un torneo. Su puntuación para el rendimiento en este torneo de 2745 (escala USCF) fue la más alta obtenida por un reproductor de computadora.
  • 1989 – Profundo El pensamiento demole a David Levy en un partido de 4 juegos 0-4, con lo que termina su famosa serie de apuestas a partir de 1968.
  • 1990 – El 25 de abril, el ex campeón mundial Anatoly Karpov perdió en un simul al ordenador de ajedrez Mephisto Portorose M68030 de Hegener & Glaser.
  • 1991 – El ChessMachine basado en el Rebelde de Ed Schröder gana el Campeonato Mundial de Ajedrez Microcomputer
  • 1992 – ChessMachine gana el 7o Campeonato Mundial de Ajedrez de Computación, la primera vez que un microcomputer superó los mainframes. GM John Nunn liberaciones Secrets of Rook Endings, el primer libro basado en tablas de endgame desarrollado por Ken Thompson.
  • 1993 – Deep Thought-2 pierde un partido de cuatro partidos contra Bent Larsen. Los programas de Ajedrez que se ejecutan en computadoras personales superan los ordenadores de ajedrez dedicados de Mephisto para ganar el Campeonato de Microcomputer, marcando un cambio de hardware dedicado al software en ordenadores personales multiusos.
  • 1995 – Fritz 3, corriendo en un PC de Pentium 90Mhz, supera a la máquina de ajedrez dedicada Deep Thought-2, y programas que se ejecutan en varios super-computers, para ganar el octavo Campeonato Mundial de Ajedrez Computador en Hong Kong. Esto marca la primera vez que un programa de ajedrez se ejecuta en hardware de productos básicos derrota máquinas especializadas de ajedrez y super-computadoras masivas, indicando un cambio en el énfasis de la energía computacional bruta a mejoras algorítmicas en la evolución de los motores de ajedrez.
  • 1996 – El Deep Blue de IBM pierde un partido de seis partidos contra Garry Kasparov, 2-4.
  • 1997 – Deep(er) Blue, una versión muy modificada del original, gana un partido de seis juegos contra Garry Kasparov, 3.5-2.5.
  • 2000 – Stefan Meyer-Kahlen y Rudolf Huber elaboran la Interfaz Universal de Ajedrez, un protocolo para que los GUI hablen con motores que gradualmente se convertirían en la forma principal que tomarían nuevos motores.
  • 2002 – Vladimir Kramnik dibuja un partido de ocho partidos contra Deep Fritz.
  • 2003 – Kasparov dibuja un partido de seis juegos contra Deep Junior y dibuja un partido de cuatro juegos contra X3D Fritz.
  • 2004 – un equipo de computadoras (Hydra, Deep Junior y Fritz) gana 81⁄2–31⁄2 contra un equipo humano fuerte formado por Veselin Topalov, Ruslan Ponomariov y Sergey Karjakin, que tenía una puntuación media de Elo de 2681. Fabien Letouzey libera el código fuente de Fruit 2.1, un motor bastante competitivo con los motores de código cerrado superior del tiempo. Esto lleva a muchos autores a revisar su código, incorporando las nuevas ideas.
  • 2005 – Rybka gana el torneo del IPCCC y muy rápidamente después se convierte en el motor más fuerte.
  • 2006 – El campeón mundial, Vladimir Kramnik, es derrotado 4–2 por Deep Fritz.
  • 2009 – Pocket Fritz. 4 corriendo en un smartphone, gana Copa Mercosur, un torneo internacional de nivel Master, anotando 91⁄2/10 y ganando una puntuación de rendimiento de 2900. Un grupo de programadores rusos pseudonymous liberan el código fuente de Ippolit, un motor aparentemente más fuerte que Rybka. Esto se convierte en la base para los motores Robbolito e Ivanhoe, y muchos autores de motores adoptan ideas de ella.
  • 2010 – Antes del Campeonato Mundial de Ajedrez 2010, Topalov se prepara con el supercomputer Blue Gene con 8,192 procesadores capaces de 500 billones (5 × 1014) operaciones de punto flotante por segundo. El desarrollador de Rybka, Vasik Rajlich, acusa a Ippolit de ser un clon de Rybka.
  • 2011 – El ICGA tira Rybka de sus títulos de WCCC.
  • 2017 – Alpha Zero, un autómata digital basado en redes neuronales, supera a Stockfish 28–0, con 72 sorteos, en un partido de 100 juegos.
  • 2018 - La evaluación de la red neural eficientemente actualizada (NNUE) se inventa para el shogi de computadora.
  • 2019 – Leela Chess Zero (LCZero v0.21.1-nT40.T8.610), un motor de ajedrez basado en AlphaZero, derrota a Stockfish 19050918 en un partido de 100 juegos con la puntuación final 53.5 a 46.5 para ganar la temporada TCEC 15.
  • 2020 - NNUE se añade a la evaluación de Stockfish, aumentando notablemente su fuerza.

Categorizaciones

Hardware dedicado

Estos sistemas de juego de ajedrez incluyen hardware personalizado con aprox. fechas de introducción (excluyendo microcomputadoras dedicadas):

  • Belle 1976
  • Bebe, un fuerte procesador de piojos 1980
  • HiTech 1985
  • ChipTest 1985
  • Pensamiento profundo 1987
  • Pensamiento profundo 2 (Prototipo azul profundo)~1994
  • Deep Blue 1996, 1997
  • Hydra, predecesor fue llamado Brutus 2002
  • AlphaZero 2017 (utilizando las Unidades de Procesamiento de Tensor de Google para redes neuronales, pero el hardware no es específico para Ajedrez o juegos)
    • MuZero 2019 (herraje similar a su predecesor AlphaZero, no específico al Ajedrez o por ejemplo Go), aprende las reglas del Ajedrez

Ordenadores dedicados comerciales

Boris Diplomat (1979) equipo de ajedrez de viaje
Fidelity Voice Chess Challenger (1979), el primer equipo de ajedrez hablando
Salida del discurso de Voice Chess Challenger
Milton Bradley Grandmaster (1983), el primer equipo comercial de ajedrez automovido
Novag Super Constellation (1984), conocida por su estilo de juego como humano
DGT Centaur (2019), un moderno equipo de ajedrez basado en Stockfish corriendo en un Raspberry Pi

A finales de la década de 1970 y principios de la de 1990, había un mercado competitivo para las computadoras dedicadas al ajedrez. Este mercado cambió a mediados de la década de 1990 cuando las computadoras con procesadores dedicados ya no podían competir con los procesadores rápidos de las computadoras personales.

  • Boris en 1977 y Boris Diplomat en 1979, ordenadores de ajedrez incluyendo piezas y tablero, vendidos por Applied Concepts Inc.
  • Chess Challenger, una línea de computadoras de ajedrez vendidas por Fidelity Electronics de 1977 a 1992. Estos modelos ganaron los primeros cuatro Campeonatos Mundiales de Ajedrez Microcomputer.
  • ChessMachine, un ordenador dedicado basado en ARM, que podría ejecutar dos motores:
    • "El Rey", que más tarde se convirtió en el motor Chessmaster, también fue utilizado en el equipo dedicado TASC R30.
    • Gideon, una versión de Rebel, en 1992 se convirtió en el primer microcomputador en ganar el Campeonato Mundial de Ajedrez Computacional.
  • Excalibur Electronics vende una línea de unidades de fuerza principiantes.
  • Mephisto, una línea de computadoras de ajedrez vendidas por Hegener & Glaser. Las unidades ganaron seis Campeonatos Mundiales de Ajedrez Microcomputer consecutivos.
  • Novag vendió una línea de computadoras tácticamente fuertes, incluyendo las marcas Constellation, Sapphire y Star Diamond.
  • Phoenix Chess Systems hace unidades de edición limitada basadas en procesadores StrongARM y XScale que ejecutan motores modernos y emulan motores clásicos.
  • Saitek vende unidades de rango medio de fuerza intermedia. Compraron Hegener & Glaser y su marca Mephisto en 1994.

Recientemente, algunos aficionados han estado utilizando Multi Emulator Super System para ejecutar los programas de ajedrez creados para Fidelity o Hegener & Las computadoras Mephisto de Glaser en sistemas operativos modernos de 64 bits como Windows 10. El autor de Rebel, Ed Schröder también ha adaptado tres de los Hegener & Glaser Mephisto's lo escribió para trabajar como locomotoras UCI.

Programas DOS

Estos programas se pueden ejecutar en MS-DOS y se pueden ejecutar en Windows 10 de 64 bits a través de emuladores como DOSBox o Qemu:

  • Chessmaster 2000
  • Colossus Chess
  • Fritz 1-3
  • Juego de Kasparov
  • Rebelde
  • Sargon
  • Sócrates II

Teóricas notables

(feminine)

Conocidos teóricos del ajedrez informático incluyen:

  • Georgy Adelson-Velsky, un 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 de ordenador ruso, primero elaboró el algoritmo de podación alfabeto
  • Feng-hsiung Hsu, el desarrollador principal de Deep Blue (1986–97)
  • El profesor Robert Hyatt desarrolló Cray Blitz y Crafty
  • Danny Kopec, profesor americano o profesor de informática y maestro internacional de ajedrez, desarrolló la prueba Kopec-Bratko
  • Alexander Kronrod, científico y matemático soviético
  • Profesor Monroe Newborn, presidente del comité de ajedrez de computación de la Asociación de Maquinaria de Computación
  • Claude E. Shannon, American computer scientific and mathematician
  • Alan Turing, científico informático inglés y matemático

Resolviendo ajedrez

Las perspectivas de resolver completamente el ajedrez generalmente se consideran bastante remotas. Se conjetura ampliamente que no existe un método computacionalmente económico para resolver el ajedrez, incluso en el sentido muy débil de determinar con certeza el valor de la posición inicial, y de ahí la idea de resolver el ajedrez en el sentido más fuerte de obtener una descripción utilizable en la práctica de un estrategia para el juego perfecto para cualquier lado parece poco realista hoy en día. Sin embargo, no se ha probado que no exista una forma computacionalmente barata de determinar la mejor jugada en una posición de ajedrez, ni siquiera que un buscador alfa-beta tradicional que se ejecute en el hardware informático actual no pueda resolver la posición inicial en una cantidad aceptable de tiempo. hora. La dificultad para probar esto último radica en el hecho de que, si bien el número de posiciones en el tablero que pueden ocurrir en el transcurso de una partida de ajedrez es enorme (del orden de al menos 1043 a 1047), es difícil descartar con certeza matemática la posibilidad de que la posición inicial permita a cualquiera de los bandos forzar un mate o una triple repetición después de relativamente pocas jugadas, en cuyo caso el árbol de búsqueda podría abarcar solo una muy pequeño subconjunto del conjunto de posiciones posibles. Se ha probado matemáticamente que el ajedrez generalizado (ajedrez que se juega con un número arbitrariamente grande de piezas en un tablero de ajedrez arbitrariamente grande) es EXPTIME-completo, lo que significa que determinar el bando ganador en una posición arbitraria del ajedrez generalizado probablemente toma 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 necesario para resolver el ajedrez ordinario de 8x8.

Se ha resuelto el Miniajedrez de Martin Gardner, que se jugaba en un tablero de 5×5 con aproximadamente 1018 posiciones posibles en el tablero; su valor teórico del juego es 1/2 (es decir, un empate puede ser forzado por cualquiera de los lados), y se ha descrito la estrategia de forzamiento para lograr ese resultado.

También se ha avanzado desde el otro lado: a partir de 2012, todos los finales de 7 piezas o menos (2 reyes y hasta otras 5 piezas) se han resuelto.

Motores de ajedrez

Un "motor de ajedrez" es un software que calcula y ordena qué jugadas son las más fuertes para jugar en una posición determinada. Los autores de motores se enfocan en mejorar el juego de sus motores, a menudo simplemente importando el motor a una interfaz gráfica de usuario (GUI) desarrollada por otra persona. Los motores se comunican con la GUI mediante protocolos estandarizados, como la hoy en día omnipresente Universal Chess Interface desarrollada por Stefan Meyer-Kahlen y Franz Huber. Hay otros, como el Protocolo de comunicación Chess Engine desarrollado por Tim Mann para GNU Chess y Winboard. Chessbase tiene su propio protocolo patentado y, en un momento dado, Millennium 2000 utilizó otro protocolo para ChessGenius. Los motores diseñados para un sistema operativo y un protocolo pueden migrarse a otros sistemas operativos o protocolos.

Los motores de ajedrez se comparan regularmente entre sí en torneos de motores de ajedrez dedicados.

Aplicaciones web de ajedrez

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

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

Chessbase puso su base de datos de juegos de ajedrez en línea en 1998. Otra de las primeras bases de datos de juegos de ajedrez fue Chess Lab, que comenzó en 1999. New In Chess había intentado inicialmente competir con Chessbase lanzando un programa NICBase para Windows 3.x, pero finalmente, decidió renunciar al software y, en cambio, centrarse en su base de datos en línea a partir de 2002.

Se podía jugar contra el motor Shredder en línea desde 2006. En 2015, Chessbase agregó una aplicación web Play Fritz, así como My Games para almacenar las partidas.

A partir de 2007, Chess.com ofreció el contenido del programa de formación, Chess Mentor, a sus clientes en línea. Los mejores GM como Sam Shankland y Walter Browne han aportado lecciones.

Contenido relacionado

Sonido cuadrafónico

cuadrafónico equivalente a lo que ahora se denomina sonido envolvente 4.0, utiliza cuatro canales de audio en los que los altavoces se colocan en las cuatro...

Ventanas 98

Windows 98 es un sistema operativo orientado al consumidor desarrollado por Microsoft como parte de su familia Windows 9x de sistemas operativos Microsoft...

Rectificador

Un rectificador es un dispositivo eléctrico que convierte la corriente alterna que cambia periódicamente de dirección, en corriente continua que fluye en...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save