
CHAOS ( Chess Heuristics and Other Stuff ) es un programa de ajedrez desarrollado por programadores de la división de Programación de Sistemas de RCA a finales de la década de 1960. Participó en competiciones de ajedrez por ordenador durante las décadas de 1970 y 1980. Se diferenciaba de otros programas de la época por su filosofía de anticipación, que priorizaba el conocimiento del ajedrez para evaluar menos posiciones y continuaciones, en contraposición a las evaluaciones simples que se basaban en una anticipación profunda para evitar malas jugadas.
Introducción
CHAOS fue desarrollado originalmente por Ira Ruben, Fred Swartz, Victor Berman, Joe Winograd y William Toikka mientras trabajaban en RCA en Cinnaminson, NJ. [ 1 ] Su nombre es un acrónimo de 'Chess Heuristics and Other Stuff' (Heurísticas de ajedrez y otras cosas). [ 1 ] [ 2 ] El desarrollo del programa se trasladó al Centro de Computación de la Universidad de Michigan cuando Swartz cambió de trabajo y Mike Alexander se unió al grupo de desarrollo. Swartz, Alexander y Berman fueron miembros continuos del grupo desde ese momento en adelante en la evolución de CHAOS, a medida que otros de los autores originales se fueron y nuevos miembros contribuyeron episódicamente. [ 1 ] El Maestro Senior de Ajedrez Jack O'Keefe contribuyó al desarrollo de CHAOS desde aproximadamente 1980 en adelante. [ 3 ] [ 4 ]
CHAOS fue escrito en Fortran , excepto por las manipulaciones de representación de placa de bajo nivel escritas en lenguaje ensamblador o C. [ 5 ] Debido a esta portabilidad, se ejecutó en mainframes compatibles con RCA, Univac e IBM durante su vida útil .
CHAOS se remonta a la era de la computación de mainframes, cuando solo las máquinas de esa capacidad podían jugar a un alto nivel. En consecuencia, el desarrollo y las pruebas solo podían realizarse en horas de menor actividad para el uso de producción de la máquina. En una competición, CHAOS tenía que ejecutarse en un mainframe dedicado con un enlace telefónico con el lugar del partido. En sus últimos años, CHAOS se ejecutó en ordenadores en la planta de ensamblaje de máquinas de Amdahl Corporation [ 2 ] en MTS .
Fondo
Ajedrez e inteligencia artificial
Los matemáticos Claude Shannon y Alan Turing , trabajando por separado, fueron los primeros en considerar el ajedrez como un desafío para las máquinas. Trabajando para AT&T / Bell Labs , con acceso a equipos de conmutación telefónica, Shannon construyó en 1949 una máquina basada en relés que aprendió a recorrer un laberinto bidimensional de 5x5 celdas. Shannon lo consideró una analogía de cómo los organismos aprenden sobre su entorno natural. Existe un elemento aleatorio en la búsqueda, un elemento de memoria para beneficiarse del resultado de la búsqueda y un elemento de recompensa que refuerza el aprendizaje cuando el resultado global es favorable para el organismo. [ 6 ]
Poco después, Shannon escribió un análisis matemático del juego de ajedrez, publicado en 1950. [ 7 ] Al igual que con el laberinto, descompuso el juego en los elementos necesarios para el aprendizaje por refuerzo. Asociado a cada configuración del tablero desde la que se realizará un movimiento, hay una puntuación numérica. Para decidir qué movimiento hacer, un jugador quiere maximizar la puntuación de su propia posición después del movimiento y minimizar la puntuación de su oponente (una perspectiva minimax ). Dado que hay alrededor de 32 movimientos posibles en cada una de las primeras etapas del juego, y alrededor de 40 movimientos y respuestas en cada juego, entonces hay aproximadamenteo sobre Posibles partidas: un conjunto imposible de evaluar por completo. Por lo tanto, debe haber una manera de limitar la cantidad de movimientos que se deben considerar para encontrar el mejor.
Reducir el juego a estos pocos elementos clave proporcionó una forma de pensar sobre la inteligencia humana en general. Shannon pasó a formar parte de un grupo más amplio que utilizaba máquinas de computación para imitar aspectos de la inteligencia humana, lo que se convirtió en la idea general de inteligencia artificial . (Otros miembros de este grupo fueron John McCarthy , Herbert Simon , Allen Newell , Alan Kotok , Alex Bernstein y Richard Greenblatt ). [ 5 ] El paradigma que evolucionó fue que existía una cuantificación de la posición en el tablero en una puntuación, un método de evaluación para encontrar resultados favorables (minimax, posteriormente poda alfa-beta ) y una estrategia para gestionar la explosión combinatoria de las posibilidades de anticipación. [ a ]
A principios de la década de 1960, existían programas informáticos que jugaban al ajedrez a un nivel rudimentario. Utilizaban funciones de evaluación muy simples para cada posición [ b ] e intentaban buscar lo más adelante posible dadas las limitaciones de tiempo [ c ] y la potencia de cálculo disponible. Naturalmente, los programadores optimizaban su código para utilizar los recursos informáticos disponibles. Esto dio lugar a una importante división filosófica entre los programas de ajedrez: aquellos que intentaban evaluar tantas posiciones como fuera posible y aquellos que intentaban evaluar las secuencias de movimientos más prometedoras con la mayor profundidad posible. CHAOS se situaba firmemente en el bando que creía que solo los movimientos más prometedores debían evaluarse en profundidad. Swartz afirmó: «Los que se basan en la fuerza bruta... analizan cada (movimiento posible) sin importar lo malo que sea. La mayoría de los movimientos son simplemente pésimos, pésimos, y la mayor parte del tiempo de cálculo se dedica a pura basura». [ 2 ] El programa dedicaba más tiempo a evaluar cada posición del tablero con la expectativa de encontrar las líneas de juego más prometedoras para explorar en profundidad. En 1983, el programa de ajedrez más rápido de la época (Belle) evaluaba 110.000 posiciones por segundo, y los programas típicos entre 1.000 y 50.000 por segundo, mientras que CHAOS evaluaba entre 50 y 100 por segundo. [ 5 ]
Aprendizaje automático y estrategias para gestionar la búsqueda
Desde aproximadamente 1949 en adelante, Arthur Samuel comenzó a trabajar para IBM en aprendizaje automático , [ 10 ] culminando en un programa para jugar a las damas en 1952 [ 11 ] y publicaciones sobre el tema. [ 11 ] Simultáneamente, Christopher Strachey creó Checkers , un programa para jugar al juego de mesa de las damas en 1951, [ 12 ] pero no tenía capacidad de aprender de su juego. Ambos autores eligieron Checkers porque era más simple que el ajedrez pero contenía las características básicas de una actividad intelectual y, en opinión de Samuel, era un banco de pruebas en el que se podían evaluar rápidamente los procedimientos heurísticos y los procesos de aprendizaje. Los programas para jugar a las damas introdujeron la noción del árbol de juego y la evaluación del juego a varias profundidades para elegir el mejor movimiento. [ 12 ] [ 11 ]
La complejidad del ajedrez, sin embargo, lo elevó al estatus de análogo de la inteligencia humana y atrajo la atención de los científicos informáticos, quienes lo denominaron investigación en inteligencia artificial (IA). [ 5 ] Al igual que las damas, requería una evaluación numérica de cada disposición de las piezas en el tablero. También requería anticipar movimientos futuros para decidir cómo jugar la posición actual. Debido a la enorme cantidad de movimientos posibles, era necesario encontrar una manera de limitar la búsqueda anticipada a las líneas de juego más prometedoras. A partir de estos factores, se desarrolló la noción de evaluación de puntuación minimax [ 11 ] y, posteriormente, la poda de árboles alfa-beta para dejar de considerar posiciones peores que cualquiera que ya se haya examinado.
Estrategias de búsqueda en ajedrez
La comunidad de IA consideraba que la inteligencia artificial constaba de dos partes: una forma de cuantificar simbólicamente el conocimiento disponible (una posición en el tablero de ajedrez) y un conjunto de heurísticas para limitar la anticipación a las consecuencias de un movimiento. Los primeros programas de ajedrez intentaban anticiparse lo máximo posible, quizás hasta tres movimientos por cada jugador, y elegir el mejor resultado. Esto dio lugar al efecto horizonte, por el cual un movimiento clave cuatro o más movimientos por delante no se examinaba y, por lo tanto, se pasaba por alto. [ 13 ] En consecuencia, los programas eran bastante débiles y las heurísticas para gestionar la búsqueda se volvieron importantes en su desarrollo. CHAOS utilizó una estrategia de búsqueda selectiva con ampliación iterativa . [ 14 ]
A medida que los programas de ajedrez evolucionaron, incorporaron libros de líneas de juego de aperturas de fuentes históricas. [ 15 ] Hoy en día, los movimientos de los libros se catalogan en un formato legible por máquina, pero originalmente los programadores tenían que escribirlos. [ 16 ] CHAOS tenía un libro extenso para su época de alrededor de 10 000 movimientos [ 14 ] que O'Keefe ayudó a desarrollar. Un problema con el juego a partir de un libro de aperturas es el comportamiento del programa cuando el juego sale del libro: la ventaja posicional puede ser tan sutil que el esquema de evaluación puede ser incapaz de entenderla, lo que lleva a búsquedas muy amplias y superficiales para establecer una línea de juego. El efecto horizonte nuevamente afecta la selección de movimientos después de salir del libro. CHAOS mitigó estos problemas usando solo líneas de libros que podía entender y basándose en análisis en caché de continuaciones fuera del libro realizadas mientras el reloj del oponente estaba corriendo.
Historial de juego
CHAOS participó en doce torneos de ajedrez por computadora de la ACM [ 17 ] y cuatro Campeonatos Mundiales de Ajedrez por Computadora (WCCC). [ 1 ] Su debut fue en el torneo de ajedrez por computadora de la ACM en 1973, donde obtuvo el segundo lugar. [ 18 ] En 1974, volvió a ganar el segundo lugar en el WCCC, derrotando al favorito del torneo, Chess 4.0 , pero perdiendo contra Kaissa . CHAOS estuvo cerca de ganar el WCCC de 1980, pero perdió contra Belle en un desempate. [ 4 ] El torneo de ajedrez por computadora de la ACM de 1985 fue la última competición de CHAOS. [ 1 ]
Una de las victorias más notables de CHAOS fue sobre Chess 4.0 en el torneo WCCC de 1974. Chess 4.0 no había sido derrotado por ningún otro programa hasta entonces. Jugando con blancas, CHAOS realizó un sacrificio de caballo (16 Nd4-e6!!) que intercambió material por líneas de ataque abiertas y finalmente ganó la partida. [ 13 ] Los autores de CHAOS pensaron que la jugada se debió a un efecto secundario no intencionado de la programación. [ 13 ]
Belle contra CHAOS fue el encuentro decisivo para determinar al ganador del WCCC de 1980 (Linz, Austria). La partida, que ganó Belle, se caracterizó por numerosas oportunidades perdidas por ambos programas. En la posición posterior a 8. Dd1-a4+, CHAOS jugó 8...Cb4-c6, mientras que 8...Cb8-c6 habría sido mucho más fuerte. [ 4 ]
Legado
CHAOS abandonó la arena competitiva alrededor de 1985 cuando quedó claro que el uso de hardware especializado para jugar ajedrez iba a superar el juego inteligente y, eventualmente, a los jugadores humanos. [ 19 ] Tuvo un debut sólido, superando a programas establecidos, demostrando que un conocimiento superior del ajedrez podía vencer los enfoques de fuerza bruta. Con el tiempo, la Ley de Moore hizo crecer las capacidades del hardware más rápido de lo que el conocimiento del ajedrez podía destilarse algorítmicamente. Sin embargo, el programa de ajedrez AlphaZero finalmente venció al programa reinante de fuerza bruta Stockfish al evaluar menos posiciones (tasas de miles en lugar de millones por segundo) utilizando redes neuronales que aprendieron del juego anterior, [ 20 ] demostrando que la búsqueda selectiva es una estrategia efectiva.
Notas
- ↑ Turing trabajaba en líneas similares de forma contemporánea, y en 1952 diseñó un programa para jugar al ajedrez que, aunque aún no podía ejecutarse en un ordenador, lo simulaba manualmente mientras jugaba una partida contra un humano. [ 8 ]
- ↑ La función de evaluación de Shannon otorga: (material) 1 punto por un peón, 3 por un caballo o alfil, 5 por una torre, 9 por una dama; (posición) se resta 1/2 punto por un peón doblado, retrasado o aislado; (movilidad) 0,1 punto por cada movimiento legal disponible. [ 7 ]
- ↑ Las partidas de ajedrez competitivas jugadas por humanos suelen tener límites de tiempo para cada movimiento o para la finalización de la partida. [ 9 ]
Referencias
- 1 2 3 4 5 "CAOS" . Chess Programming Wiki . Consultado el 17 de diciembre de 2025 .
- 1 2 3 "Los jugadores de ajedrez están experimentando el CAOS". Lakeland Ledger . 29 de noviembre de 1979. pág. 3,9.
- ↑ "Jack O'Keefe" . Chess Programming Wiki . Consultado el 29 de diciembre de 2025 .
- 1 2 3 Robert Byrne (1981-01-25). "El estado del arte (sección de ajedrez)" . New York Times . Recuperado el 29 de diciembre de 2025 .
- 1 2 3 4 Jonathan Schaeffer (2024). "AJEDREZ: Simposio sobre historia, experimentos y búsqueda en ajedrez" (PDF) . Recuperado el 24 de diciembre de 2025 .
- ↑ Daniel Klein (2018). "Mighty Mouse" . MIT Technology Review . Recuperado el 23 de diciembre de 2025 .
- 1 2 Claude Shannon (1950). "Programación de una computadora para jugar ajedrez" . Revista Filosófica . Recuperado el 24 de diciembre de 2025 .
- ↑ Liat Clark; Ian Steadman (2012). "Los logros de Turing: descifrado de códigos, IA y el nacimiento de la informática". Wired .
- ↑ "Términos de ajedrez: Controles de tiempo" . chess.com . Consultado el 24 de diciembre de 2025 .
- ↑ Don Knuth (1990). "Arthur Lee Samuel, 1901-1990 (obituario)" (PDF) . TUGboat . 22 (4) . Consultado el 24 de diciembre de 2025 .
- 1 2 3 4 Arthur L. Samuel (1959). "Algunos estudios en aprendizaje automático utilizando el juego de damas". IBM Journal of Research and Development . 3 (3): 210– 229. doi : 10.1147/rd.33.0210 .
- 1 2 C. S. Strachey (1952). Programas lógicos o no matemáticos . Actas de la reunión de la ACM en Toronto, 8-10 de septiembre de 1952. págs. 46-49 .
- 1 2 3 Alex Bell (1978). "MASTER en IFIPS" . Recuperado el 15 de diciembre de 2025 .
- 1 2 Monty Newborn; Ben Mittman (1980). Lista de participantes (PDF) . El undécimo Campeonato Norteamericano de Ajedrez por Computadora de la ACM, 26-28 de octubre de 1980. pág. 7. Recuperado el 25 de diciembre de 2025 .
- ↑ John Nunn; Graham Burgess; John Emms; Joe Gallagher (1999). Aperturas de ajedrez de Nunn . Londres: Gambit/Everyman Chess. 544 págs. ISBN 978-1-85744-221-2. Consultado el 29 de diciembre de 2025 .
- ↑ "Libro de aperturas" . Wiki de programación de ajedrez . Consultado el 25/12/2025 .
- ↑ Bill Wall. "ACM Computer Chess" . Consultado el 28 de diciembre de 2025 .
- ↑ "Campeonato Norteamericano de Ajedrez por Computadora de la ACM" . Wiki de Programación de Ajedrez . Consultado el 17 de diciembre de 2025 .
- ↑ Hansen Hsu (2020). "IA y juego, parte 1: cómo los juegos han impulsado dos escuelas de investigación en IA" . Recuperado el 17 de diciembre de 2025 .
- ↑ 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 ].
Enlaces externos
- Wiki de programación de ajedrez
- Museo de Historia de la Computación
- Foto: CHAOS contra Kaissa en el 1er Campeonato Mundial de Ajedrez por Computadora en Estocolmo (1974)
- ajedrez por computadora
- Software de ajedrez
- Inteligencia artificial