Historia: los mundiales de programas de ajedrez

por Juan Manuel Marches Ríos
19/01/2015 – Juan Manuel Marches es el gestor de la web Compujedrez, dedicada a la historia del ajedrez y ordenadores, la informática y la divulgación científica. Ha publicado una serie de artículos sobre el inicio de las competiciones entre programas de ajedrez, en plena Guerra Fría, en los que las justas informáticas tenían un doble sesgo, pues eran a la vez lucha y cooperación científica. Génesis...

ChessBase 14 Download ChessBase 14  Download

Programa de gestión de bases de datos de ajedrez que es referencia mundial. Todos usan ChessBase, desde el campeón del mundo al aficionado. Inicie su historia de éxito personal con ChessBase.

Más información...

El primer campeonato mundial de programas de ajedrez se celebró en 1974 en Estocolmo (Suecia). La iniciativa partió de los desarrolladores del programa soviético Kaissa, que quería medirse con los programas americanos. Desde 1970 se venía celebrando el North American Computer Chess Championship (Campeonato Americano de Computadoras de ajedrez) donde se medían todos los mejores softwares de ajedrez de la época. ¿Todos? ¡no! La URSS también tenían algo que decir y ardían en deseos de ratificar su superioridad ajedrecística también en este campo y enfrentarse a los americanos, en especial al programa más potente de la época: Chess 4.0. Pero eso es sólo la punta del Iceberg; en realidad subyacen otras razones de peso, como la guerra fría y la carrera espacial. Para conocer toda la historia, hemos de retrotraernos a unos años atrás, concretamente a 1963.

En esa época las dos potencias mundiales estaban enzarzadas en su particular carrera armamentística y, como consecuencia, en una frenética carrera espacial. Para todo ello necesitaban máquinas potentes capaces de realizar cálculos de forma rápida y eficaz y el ajedrez sirvió como banco de pruebas para “enseñar” a las computadoras prehistóricas a pensar.

Los americanos iban por delante a nivel tecnológico. En 1963 la compañía americana Digital Equipment Corporation (la mítica DEC, por entonces muy por delante de en el campo de la computación comercial de IBM) lanzaba su el PDP-5, un minicomputador que tuvo un verdadero éxito. Que el lector no se imagine un ordenador de sobremesa: el PDP-5 pesaba más de media tonelada y ocupaba media habitación, pero comparado con sus antecesores era un peso pluma. Mientras tanto, los soviéticos trabajaban desde 1955 en un supercomputador que se conoció como el M-20. El objetivo era hacer una máquina que alcanzara las 20.000 operaciones por segundo y el encargo se realizo a dos instituciones diferentes, al Instituto de Mecánica de Precisión y Ciencias de la Computación (ITM TC) de Moscú y el Bureau de Diseño Especial-2457 (SKB-245). En el ITM TC, bajo la dirección directa de Serguéi Alekseevich Lébedev, se realizó el diseño y desarrollo de la computadora mientras que en el SKB-245, bajo la guía de MK Sulim, se realizó la preparación de la documentación técnica y la construcción del primer prototipo. La M-20 estaba construida con tubos de vacío y con diodos semiconductores de germanio. En 1957 se construyo el prototipo de la M-20 el cual tuvo de entrada bastantes problemas. P. Golovistikov, V. Laut y A. Sokolov afinaron el diseño reduciendo el número de válvulas dejando el mismo en 1.600 tubos de vacío y haciéndolas trabajar con el “principio del pulso” lo que hizo al computador bastante fiable. En 1958 la Comisión Examinadora Estatal aprobó la M-20 y recomendó su producción en serie que se inició al año siguiente, entregándose a aquellas instituciones que trabajaban en los proyectos más críticos. La facilidad de programación de la M-20 hizo que esta fuera muy popular. Llegó a crearse la “Asociación de Usuarios de la M-20” por una decisión del Presidium de la Academia de Ciencias de la URSS en 1961 y tenía como objetivo el intercambio de información, algoritmos y programas, el desarrollo de un lenguaje de programación unificado, y la creación de software estandarizado.

Ken Thompson con Garry Kasparov

La M-20 fue calificada como “la más rápida del mundo” por la Comisión Examinadora Estatal en 1958. Pero esto no era cierto ya que para entonces la máquina de IBM, la IBM 704 desarrollada en 1954, ya lograba realizar 40.000 operaciones por segundo y en 1959 la IBM 7090, que estaba construida con transistores, llegaba a las 220.000 operaciones por segundo. Parece claro que los expertos soviéticos en ese momento no tenían suficiente información sobre las características técnicas de los equipos estadounidenses, y necesitaban información directa. De ahí surgió la idea de una competición con sus rivales americanos.

En el Instituto de Física Experimental y Teórica (ITEP) en Moscú se desarrolló para ello el programa ITEP, que  fue escrito por Vladimir Arlazarov, George Adelson-Velsky, Alexander Bitman (maestro soviético), Alexander Ushkov y Alexander Zhivotovsky. Utilizaba una función de evaluación basada en: Estructura de Peones (Peones centrales, cadenas de peones, peones aislados y doblados, peones pasados), Movilidad, Defensa del Rey y Balance de material. Posteriormente Botvinnik (que colaboró en el proyecto) aprovecharía estos trabajos para desarrollar su propio algoritmo: el Piooner.

Bronstein cuando tenía 79 años (Foto: Anne Fürstenberg)

Para las primeras pruebas, David Bronstein recibe una invitación para jugar una partida contra ITEP. Los programadores le pidieron realizar una consulta para verificar una variante y probar la programación realizada en el computadora M-20. Al principio Bronstein, como la mayoría de maestros de la época que se mostraban muy reacios a jugar contra semejantes engendros, rechazó la propuesta. Sea porque si te lo pedía el estado soviético no podías negarte o por la insistencia de los programadores, Devik aceptó y ofreció a la computadora ¡una dama de ventaja!

Bronstein jugó esa partida ¡y la perdió!; dar la dama de ventaja fue, sin duda, demasiada ventaja y entre la alegría y perplejidad de los programadores, pidió una partida de revancha, pero en esta ocasión sin ningún tipo de ventaja. Naturalmente fue aceptada y la verdad es que la partida no tiene desperdicio y la historia que la rodea tampoco.

Todo transcurrió con normalidad, siguiendo la teoría en una aguda variante del Gambito de Rey, hasta que Devik complicó la posición en la jugada 9 buscando actividad para sus piezas a cambio de entregar una de sus torres. La jugada 13.Dc4 rompió los planes de la máquina, que agotó su tiempo e incluso el de Bronstein calculando su respuesta. El jefe de los programadores quiso aplazar el encuentro, pero el maestro, temiendo una artimaña, protestó: ¡Un momento, por favor! ¡Doy mate en 10 jugadas si hago 14.Cxg5+!

 Se tomó la decisión de escribir la jugada de Bronstein en un papel y guardarla en un sobre, como si de una partida aplazada se tratase, y que la computadora ‘trabajase’ durante la noche. A las 7:30 del día siguiente Devik recibió una llamada del jefe de programadores: “Le felicito por su victoria. Pero no olvide que sin la dama le ganaré siempre, ni tampoco que hemos empatado a uno”. Bronstein había derrotado a su rival inhumano en 14 jugadas y, en contra de lo que dicen la mayoría de historiadores, se convirtió en el primer Gran Maestro en ser derrotado por una computadora.

[Event "Moscu Mathematics Institute"] [Site "?"] [Date "1963.04.04"] [EventDate "1963.04.04"] [Round "?"] [Result "1-0"] [White "David Bronstein"] [Black "M20 (Computer)"] [ECO "C34"] [WhiteElo "?"] [BlackElo "?"] [PlyCount "45"] 1. e4 e5 2. f4 exf4 3. Nf3 Nf6 4. e5 Ng4 5. d4 g5 6. Nc3 Ne3 7. Qe2 Nxf1 8. Ne4 Ne3 9. Nf6+ Ke7 10. Bd2 Nxc2+ 11. Kf2 Nxa1 12. Nd5+ Ke6 13. Qc4 b5 14. Nxg5+ Qxg5 15. Nxc7+ Ke7 16. Nd5+ Ke6 17. Nxf4+ Ke7 18. Nd5+ Ke8 19. Qxc8+ Qd8 20. Nc7+ Ke7 21. Bb4+ d6 22. Bxd6+ Qxd6 23. Qe8# 1-0

 Podía parecer que el programa ITEP estaba preparado, pero ¿y los americanos?

Aland Kotok (dcha.) con Gordon Bell, en 1964

En 1961 Alan Kotok escribió un programa de ajedrez para su tesis de graduación en el Instituto de tecnología de Massachussets (el MIT, la mayor fábrica de talentos de la historia y del cual nos ocuparemos ampliamente). Su programa fue escrito bajo la guía de John McCarthy, una de las figuras líderes en el mundo de la Inteligencia Artificial, quien en ese entonces era profesor del MIT.

El programa de Kotok realizaba una búsqueda en profundidad con límite variable. Profundizaba en posiciones hasta que éstas fueran “estables” o bien sobrepasara su límite máximo de búsqueda. Con una estrategia Shannon tipo A, el generador de movimientos del programa era similar al utilizado por el programa NSS (del que hablaremos en otro artículo), mientras que la función de evaluación utilizaba 4 objetivos: Material, estructura de peones, control del centro y desarrollo.

Al momento de presentar su tesis en 1962 el programa había jugado cuatro partidas, utilizando un promedio de 10 minutos por movimiento. Su nivel de juego no era bueno, e incluso en alguna oportunidad realizó movimientos ilegales.

[Event "Partida experimental Masachussets, 21.0"]
[Site "?"]
[Date "2015.01.18"]
[Round "?"]
[White "Kotok/McCarthy,Programa "]
[Black "Fiorenza,R"]
[Result "*"]
[PlyCount "67"]

1. e4 e5 2. Nc3 Nc6 3. Nf3 Bc5 4. Bc4 Nf6 5. Bd5 O-O 6. O-O d6 7. Bxc6 bxc6 8.d3 Ng4 9. Bg5 f6 10. Bh4 d5 11. exd5 cxd5 12. d4 exd4 13. Nxd4 Bd6 14. f4 Bf5 15. Nxf5 g6 16. Qxg4 d4 17. Ne4 Kh8 18. Nxd4 Qe8 19. Qf3 Rb8 20. Bxf6+ Kg8 21.Rab1 Rb4 22. c3 Rc4 23. Rbe1 Qd7 24. Qd1 Rc5 25. Nf3 Rd8 26. Nxc5 Bxc5+ 27. Nd4 Be7 28. Rxe7 Qd6 29. Bg5 Rf8 30. c4 c5 31. Ne6 Qxd1 32. Rxd1 Rc8 33. Rg7+ Kh8 34. Rc7 1-0

Luego de graduarse en el MIT el interés de Kotok en ajedrez y computadoras fue decreciendo, si bien su programa se mantuvo. Cuando McCarthy dejó el MIT para hacerse cargo del Laboratorio de Inteligencia Artificial en Stanford, tomó los trabajos de Kotok y realizó varias modificaciones. Pero no parecía un gran programa.

Cuando en 1966 recibieron una invitación por parte del ITEP para disputar un encuentro no se lo tomaron muy en serio a sabiendas de su superioridad tecnológica, y aceptaron el reto. El programa Kotok-McCarthy sería soportado por una computadora IBM 7090, la más potente del momento.

Se comunicaron por vía telefónica y el match duró nueve horas. ITEP  jugaba desde el Instituto de Física Teórica y Experimental de Moscú, mientras que los americanos lo hacían desde la Universidad de Standford, en Palo Alto, California. Las jugadas se transmitían por telégrafo y se jugaron cuatro partidas. El programa ruso derrotó al americano por 3 a 1, ganó dos partidas mientras que las otras dos fueron tablas. Las anotaciones de estas partidas fueron publicadas en un artículo de Arlazarov y Bitman que apareció en febrero de 1968 en la revista soviética “Shakhmaty v CCCP“.

[Event "?"] [Site "Stanford - Moscú"] [Date "1966.??.??"] [Round "1"] [White "M20"] [Black "IBM 7090"] [Result "1/2-1/2"] [PlyCount "74"] [EventDate "1966.??.??"] 1. e4 e5 2. Nc3 Nc6 3. Nf3 Bc5 4. Bc4 Nf6 5. O-O O-O 6. d3 d6 7. Be3 Bg4 8. h3 Bh5 9. Bd5 Bd4 10. g4 Bxc3 11. bxc3 Bg6 12. Bg5 Re8 13. Rb1 Rb8 14. Qe2 Kh8 15. d4 Kg8 16. Qc4 Na5 17. Bxf6 Qxf6 18. Qd3 c6 19. dxe5 dxe5 20. Bb3 Rbd8 21. Qe3 b6 22. Rfd1 Rd6 23. g5 Qe7 24. Rd3 Rxd3 25. cxd3 Rd8 26. Ra1 Qd6 27. d4 exd4 28. cxd4 Nxb3 29. axb3 a5 30. Ra4 Qe6 31. Ne5 Qe8 32. f4 Rd6 33. f5 Bh5 34. Nc4 Rd8 35. Nxb6 Rb8 36. Nc4 Bd1 37. Ra3 Bc2 1/2-1/2 [Event "?"] [Site "Stanford - Moscú"] [Date "1966.??.??"] [Round "2"] [White "IBM 7090"] [Black "M20"] [Result "1/2-1/2"] [PlyCount "75"] [EventDate "1966.??.??"] 1. e4 Nf6 2. e5 Nd5 3. Nf3 e6 4. Bb5 a6 5. Ba4 b5 6. Bb3 Bb4 7. Nc3 Nf4 8. O-O Bb7 9. d4 Bxc3 10. bxc3 Nd5 11. Bxd5 Bxd5 12. Ba3 d6 13. exd6 cxd6 14. Re1 Nc6 15. Re3 O-O 16. Qe2 Bc4 17. Qe1 Qc7 18. Bb4 a5 19. Ba3 Kh8 20. Ng5 h6 21. Ne4 Rfd8 22. Nxd6 Rxd6 23. Bxd6 Qxd6 24. a3 Ne7 25. Re5 Nc6 26. Rc5 e5 27. Qe4 Ra6 28. Rd1 a4 29. Rd2 f6 30. Qe3 exd4 31. cxd4 Ne7 32. Qg3 Qxg3 33. hxg3 Nd5 34. Rc8+ Kh7 35. Rf8 b4 36. axb4 Nxb4 37. c3 Nd5 38. Rc8 1/2-1/2 [Event "?"] [Site "Stanford - Moscú"] [Date "1966.??.??"] [Round "3"] [White "M-20"] [Black "IBM 7090"] [Result "1-0"] [PlyCount "37"] [EventDate "1966.??.??"] 1. e4 e5 2. Nf3 Nc6 3. Nc3 Bc5 4. Nxe5 Nxe5 5. d4 Bd6 6. dxe5 Bxe5 7. f4 Bxc3+ 8. bxc3 Nf6 9. e5 Ne4 10. Qd3 Nc5 11. Qd5 Ne6 12. f5 Ng5 13. h4 f6 14. hxg5 fxg5 15. Rxh7 Rf8 16. Rxg7 c6 17. Qd6 Rxf5 18. Rg8+ Rf8 19. Qxf8# 1-0 [Event "?"] [Site "Stanford - Moscú"] [Date "1966.??.??"] [Round "4"] [White "IBM 7090"] [Black "M20"] [Result "0-1"] [PlyCount "82"] [EventDate "1966.??.??"] 1. e4 Nf6 2. e5 Nd5 3. Nf3 Nb4 4. Bb5 c6 5. Ba4 d6 6. d4 Qa5 7. c4 Nc2+ 8. Kf1 Nxa1 9. Nc3 Qb4 10. Qe2 dxe5 11. dxe5 Be6 12. Qd1 Bxc4+ 13. Ne2 b5 14. Bc2 Nxc2 15. Qxc2 Bxa2 16. Ned4 Qc4+ 17. Kg1 c5 18. Qd2 cxd4 19. Nxd4 e6 20. Nf3 Nc6 21. Qg5 Rd8 22. Bd2 Qc1+ 23. Be1 Qxb2 24. Qf4 Bd5 25. Qg3 Qe2 26. Bc3 b4 27. Be1 Bxf3 28. gxf3 Qxe1+ 29. Kg2 Qxe5 30. Qh4 a5 31. Rc1 Nd4 32. Rf1 Nxf3 33. Qh3 Rd3 34. Qg3 Ne1+ 35. Rxe1 Rxg3+ 36. Kf1 Qb5+ 37. Re2 Ra3 38. Ke1 Ra1+ 39. Kd2 Qd5+ 40. Ke3 Ra3+ 41. Kf4 Qf5# 0-1

“El programa americano, pese a la amenaza de mate, no resiste la tentación de comer un peón… ¡Las computadoras son materialistas! Como un hilo rojo, la avidez de material recorre toda la historia de los torneos de ajedrez de computadoras, junto con esa otra enfermedad infantil que es la debilidad en los finales” (Pachmann, “Computadoras y ajedrez”)

John McCarthy

Como se ha podido comprobar, el nivel de los programas aún estaba lejos de la excelencia, pero el americano dejaba bastante que desear. Ambos equipos pusieron especial atención en que jugasen la apertura de forma correcta, desarrollando adecuadamente las piezas y colocando al rey en un lugar seguro. En el medio juego se pueden observar grandes lagunas, llegando a ‘atascarse’ en ciertos momentos realizando jugadas poco lógicas.

Este match hizo mucho por el desarrollo de computadoras de ajedrez dado que estimuló este campo en los Estados Unidos. Incluso cuando el match estaba siendo realizado, un nuevo programa fue desarrollado en el MIT: el histórico Mac Hack IV escrito por Richard D. Greenblatt, que fue el primer programa de ajedrez en jugar en condiciones de torneo contra humanos, el primero en serle otorgado una calificación Elo de ajedrez, y el primero en ganar a una persona en una competición oficial y en cuya historia se vio mezclado el mismísimo Bobby Fischer. Nos ocuparemos de ello más adelante.

Por los siguientes ocho años se vivió una explosión en el interés por el tema. Las competencias entre computadoras empezaron a ser cada vez más frecuentes y algunos científicos empezaron a creer en la posibilidad de crear una máquina con nivel de maestro. Todo ello trajo como consecuencia el primer Campeonato Americano en 1970. Por su parte, los soviéticos consiguieron lo que querían: información sobre sus rivales y dar un golpe al orgullo americano.

La carrera espacial y armamentística continuaba con nuevos bríos, pero los americanos tomaron una gran delantera al ser los primeros en llegar a Luna en 1969. Un nuevo duelo a nivel mundial se produjo en 1974….. aunque no como cómo todo el mundo esperaba. Lo veremos en la próxima entrega

Juan Manuel Marches Rios

Enlaces



Juan Manuel Marches Ríos
Discussion and Feedback Join the public discussion or submit your feedback to the editors


Comentar

Normas sobre los comentarios

 
 

¿Aún no eres usuario? Registro

Salvamento Salvamento 05/04/2017 10:23
Muchas gracias por sus comentarios. No creemos que sea un "convencionalismo ideológico" del autor, sino un uso coloquial, relativamente habitual en algunos países en la época de la Guerra Fría.
milignus milignus 05/04/2017 08:39
Excelente tema, pero por favor, redacten bien y usen los términos con propiedad. Lo ilustro con esta relación logica: Estados Unidos es América, pero América no es Estados Unidos. En este articulo erróneamente se refieren al país por el nombre del continente, ¿o es que no hay mas países en ese continente? Fijense que parece algo deliberado, porque mientras se lee en este mismo artículo que en inglés se dice "North American", lo traducen al español como "Americano". ¿Es que la palabra "north" no tiene traducción? Si no se trata de un convencionalismo ideológico confeso -estimados amigos españoles- rescatemos entonces el español :)
1