miércoles, 1 de febrero de 2023

AJEDREZ E INTELIGENCIA ARTIFICIAL (V)


Con la presente entrega finalizamos el tema mencionado.  En esta entrega viajaremos a los primeros enfrentamientos de programas de ajedrez contra Grandes Maestros de ajedrez.
 
La decisión y meta de IBM de derrotar al campeón mundial de ajedrez y para ello la contratación del equipo inventor de CheepTest.

El primer enfrentamiento de Depp Blue con Kasparov, saldado a favor del GM Kasparov con un resultado de 2-0.  Conoceremos Los orígenes de ChessBase y Chess Asistant. 

El controvertido enfrentamiento en 1997 con la victoria de Depp BLue sobre Kasparov. 
 
Finalmente nos introducimos en el modelo de redes neuronales y en 2017 el aparecimiento de AlphaZero, desarrollado a partir del éxito de AlphaGo, el primer programa en derrotar a campeones de Go.

Agradecemos a los autores y medios por las autorizaciones para las publicaciones en La Colección de papá de los artículos que se mencionan en los posteos relacionados. Y a los amigos por la paciencia y bondad de seguirme en este apasionante tema.


DEEP THOUGHT


"DeepThought" vence al GM Antony Miles en una partida de definición del torneo Software Tools de 1988

Deep Thought es la primera máquina de ajedrez que ha logrado resultados de Gran Maestro contra oponentes humanos. En noviembre de 1988, la máquina empató en el primer puesto del Campeonato Software Toolworks con el Gran Maestro Anthony Miles, derrotando por el camino al cuatro veces candidato al Campeonato del Mundo, el Gran Maestro Bent Larsen. Desde entonces, la máquina ha tenido éxito contra otros Grandes Maestros.  Hsu, Fh., Anantharaman, T.S., Campbell, M.S., Nowatzyk, A. (1990). Deep Thought. In: Marsland, T.A., Schaeffer, J. (eds) Computers, Chess, and Cognition. Springer, New York, NY. https://doi.org/10.1007/978-1-4613-9080-0_5
 
 

IBM's Deep Blue Team (de izquierda a derecha): Joe Hoane, Joel Benjamin,Jerry Brody, F.H. Hsu, C.J. Tan y Murray Campbell.

 
En 1989 IBM contrata a los creadores de "DeepThougth" Feng-Hsiung Hsu, Joe Hoan y Murray Campbell con tal de apadrinar el proyecto de una computadora que derrote al campeón mundial de ajedrez.
 
¡Ese era el reto de IBM!  De a poco Deep Thougth empezó a ganar torneos y a maestros de ajedrez.

En el VI Campeonato Mundial de Computadoras arrasa en el torneo con un marcador perfecto.
 
Claude Shannon concede a Feng-Hsiung Hsu el primer premio al Pensamiento Profundo (DEPP THOUGHT) en el Campeonato Mundial de Ajedrez por Ordenador celebrado en Edmonton (Alberta). 1989

22 y 23 de Octubre. Match entre "DeepThougth" y Gary Kasparov. Vence Kasparov por 2-0.
 
En octubre de 1988, una versión experimental de seis procesadores de Deep Thought jugó un encuentro de exhibición de dos partidas  contra Kasparov en Nueva York. Aunque la nueva versión era capaz de buscar más de dos millones de posiciones por segundo, Kasparov se deshizo de ella con bastante facilidad. El resultado no fue inesperado, pero el juego de Deep Thought fue bastante decepcionante. 
 
Garry Kasparov and Feng-hsiung Hsu during Game 1 
 


Match entre "DeepThougth" y el MI escocés David Levy. "DeepThougth" vence por 4-0.

Fue un enfrentamiento a cuatro partidas entre David Levy y el campeón mundial de informática Deep Thought los días 12 y 13 de diciembre de 1989 en la sala del quinto piso de las oficinas de la British Computer Society, Londres, Reino Unido. Mientras que el Maestro Internacional David Levy no había competido seriamente en ajedrez desde hacía más de diez años, Deep Thought tenía alguna experiencia reciente al haber jugado contra Kasparov y la ACM 1989. DT estaba representado y operado por Peter Jansen, que más tarde le dijo a David que se habían añadido 30 nuevos términos de evaluación al programa antes de su partida 
 

1990 2 de Febrero. Partida de exhibición entre "DeepThougth" y Anatoly Karpov. Vence Anatoly Karpov. El 25 de abril, el ex campeón mundial Anatoly Karpov perdió en una simulación con la computadora de ajedrez Mephisto Portorose M68030 de Hegener & Glaser.
 
 
 

 CHESSBASE


"Cuando Garry encontró a Freddy". Los comienzos de ChessBase. 
 

 
Entrevista con Frederic Friedel, co-fundador de la empresa
 
https://es.chessbase.com/
Sagar Shah: Frederic, ¿nos podrías contar cómo comenzó con Kasparov y ChessBase?
Frederic Friedel: Un día en Hamburgo (Alemania), la revista más importante y más grande de Europa "Der Spiegel", invitó a un joven jugador de ajedrez para jugar y para realizar una entrevista muy amplia con él en la ciudad hanseática, que entonces iba a salir en portada. El jugador acudió a Hamburgo y le preguntaron, qué le apetecía hacer el día libre y comentó: "Tengo a un amigo que vive aquí y me gustaría darle una visita. Se llama Frederic Friedel". Los de "Der Spiegel" me conocían bien y le preguntaron a Kasparov: "¿Cómo que Frederic Friedel? ¿Le conoces?" - "Sí, me mandó algunas partidas de ajedrez informatizadas", respondió. 
 
[0:36] Un buen día, me llamó a la puerta de mi casa Kasparov. Entró con las palabras: "Hola. Soy Garry Kasparov. ¿Tú eres Frederic, verdad? Encantado. ¿Y esta será tu esposa Ingrid y los chicos tus hijos Martin y Tommy, correcto? Fantástico. Tenéis una casa maravillosa y el jardín es precioso. Venga. Ahora somos amigos. Por favor, cuéntame todo lo que sabes de ordenadores y del ajedrez informático". 
 
Pues, nos sentamos frente al ordenador para ver aquello. Le explicaba todo lo que eran capaces de hacer los ordenadores. Existen fotografías de evidencia que dan testimonio de ello. El 80 % del tiempo mis respuestas a las preguntas de Kasparov solían ser: "¡Sí, sí, claro! Los ordenadores pueden hacer eso". Y en el 20 % de los casos le tuve que decir: "No, claro. Eso todavía no lo saben hacer". 
 
[1:27] O sea que, juntos diseñamos una idea básica de lo que iba a ser la primera base de datos de partidas de ajedrez de ChessBase. La revista "Der Spiegel", encantada, inmediatamente se dio eco de la historia:
'¡Friedel y Kasparov tienen previsto crear una base de datos!' 
 
A continuación, la gente que había leído el artículo, cada cerebrito alemán, se puso en contacto conmigo y me comentó: "Sabes, nosotros sabemos crear algo así". O incluso: "Ya hemos programado algo así". Kasparov y yo viajamos por Alemania para reunirnos con algunos de ellos, pero resultaba que lo que más les interesaba era llegar a conocer a Kasparov. 
 
[2:03] Yo no sé programar, no soy programador. No podía crear la base de datos yo mismo. Un día, un joven tímido se me acercó a mi y me estrechó un disquete diciendo: "¿Podrías echarle un vistazo a esto, por favor?" Me marché para casa corriendo con el disquete en manos, y lo metí en mi ordenador Atari ST. El Atari ST entonces era totalmente novedoso y el ordenador más potente y más moderno que había. Yo tenía la suerte de tener una de esas máquinas en mi casa. Al arrancar los contenidos del disquete me quedé boquiabierta: "¡Vaya! ¡Si esto era una base de datos de ajedrez!". No estaba muy completa ni con muchos datos introducidos, pero permitía introducir movimientos y guardar las partidas y volver a cargarlas. También era posible reproducir las partidas y todo. Le llamé por teléfono entusiasmado a este joven genio, cuyo nombre era Matthias Wüllenweber. Le pregunté: "¿Oye, podrías acercarte a Basilea, Suiza, a la mayor rapidez posible para enseñárselo a alguién?" Me preguntó: "¿Enseñarselo a quién?". "Pues, a Garry Kasarpov", le contesté. Creo que Matthias se desmayó en el otro lado de la línea telefónica. Se acercó a Basilea "corriendo", o mejor dicho, haciendo autostop. 
 
[3:10] Nos encontramos en la habitación mía del hotel, armamos el ordenador y todo y tras haber terminado su partida con Tony Miles (Garry Kasparov estaba jugando un torneo en Basilea), Kasparov salió de la sala de juego. Estaba cansado, pero le dije: "¡Venga, Garry! Tengo que enseñarte algo". Respondió: "Fred, estoy cansado, déjame tranquilo". Insistí: "No, hombre. Esto lo tienes que ver. Ahora". Entró la habitación donde nos estaba esperando Matthias Wüllenweber. Kasparov puso cara de recelo. No le gustaba nada ir conocer a gente nueva tras una partida. Pero le di un empujoncito para que entrase, y Matthias le enseñó el programa informático para gestionar partidas de ajedrez. "Mira, puedes cargar una partida y luego la puedes reproducir en el ordenador de esta manera. Y luego puedes cargar la próxima partida y puedes buscar por esto y aquello, etc.".
[3:52] Garry se quedó absolutamente mudo. Miraba el programa. Estaba sentado en la cama de mi habitación del hotel. Tras un instante se dejó caer hacia atrás, cubriéndose los ojos con las manos. Matthias me miraba con cara de preocupación, señalándome con la mirada que probablemente eso le estaba aborreciendo a Kasparov, y que nos iba a decir que nos largásemos porque aquello era una chorrada absoluta.
[4:12] Pero nada de eso. Garry se puso de pie de un salto y exclamando:
"¡Esto es el desarrollo más importante en los estudios de ajedrez desde Gutenberg!".
Era como aterrizar en la Luna. No se planifica lo que se va a decir. Pero él sabía que lo que iba a decir, llegaría a ser citado en todas partes. Probablemente habría estar tumbado ahí en la cama un instante para pensar qué decir y para que su reacción fuese una frase apropiada para alabar lo que había visto. Yo tenía las lágrimas de la emoción en los ojos. Me apartó un poco y me dijo: "Oye, tenéis que construir esa base de datos, tenéis que desarrollarla. A por ello.". Sacó papel para firmar diez páginas limpias con su nombre diciéndome: "Venga. Toma ésto. Escribe cartas en mi nombre para encontrar a empresas que apoyen vuestro proyecto".
[4:53] Eso realmente era extraordinario porque en aquellos tiempos, prácticamente era él el que tenía el monopolio sustancial en lo que se refiere a la ajedrecística. Tenía a cuatro o cinco personas trabajando para él, coleccionando partidas, examinándolas y analizándolas. Todos los demás jugadores de ajedrez tenían que arreglarselas por su propia cuenta.
Kasparov nos animó a desarrolar algo que en un futuro cercano permitiría a cualquiera, acceder a toda la información ajedrecística. Es por ese hecho que todavía le admiro tanto, por haber hecho eso por nosotros. Garry Kasparov es uno de mis amigos más leales en el mundo del ajedrez. Durante diez años nos apoyaba, y era nuestro asesor. Hizo publicidad por nosotros y nos permitía a utilizar su retrato. Cuando se preparaba para las partidas de los torneos, utilizaba el programa ChessBase. Hasta solía llamar a los periodistas para que se acercasen y lo viesen. Contaba a todo el mundo que era por ChessBase había sido capaz de jugar unas simultáneas con reloj contra el equipo nacional. ¿Cómo hacerlo? "Pues, me preparo con ChessBase, estudio las partidas de los integrantes del equipo y me preparo de antemano". Así de fácil. Todo eso nos ha ayudado increíblemente en la compañía de ChessBase. ¿Qué le pagamos? Pues, cero punto cero, cero marcos alemanes. Nada. Lo hizo todo tal y cual. ¿Por qué? "Porque Frederic es de la familia". Si no tomas tampoco dinero por ayudar a nuestro tío, primo, hermano, cuñado o quien fuese. Solo puedo reiterar que le estoy infinitamente agradecido a Kasparov.
En 1986 lanzamos el primer programa ChessBase.
Sagar Shah: ¿Es decir, que podemos constatar que Garry Kasparov ha sido una de las inspiraciones más importantes para lanzar ChessBase?
[6:49] Efectivamente. Kasparov fue el factor absolutamente central y vital a la hora de desarrolar nuestro programa gestor de bases de datos. Tal y como te dije: es verdaderamente admirable que lo hiciera, porque para él singificaba dar acceso a toda la información que en gran parte había acumulado él, a todo el mundo. Por lo tanto, hoy en día si quieres trabajar con exactamente la misma herramienta que el Campeón dle Mundo, simplemente te gastas 200 o 300 euros para adquirir el programa ChessBase y tienes la misma base al menos en cuanto a eso, a Anand Carlsen o quienquiera. No tienes ninguna desventaja técnicamente hablado.
Traducción al castellano: Nadja Wittmann (ChessBase) 
 


CHESS ASSISTANT

 

Acerca de ChessOK
Nuestro negocio es el ajedrez y nuestro objetivo es ayudarle a disfrutar y mejorar su juego. ChessOK es una empresa líder en el desarrollo de software de ajedrez innovador para el PC y el mercado móvil. Comercializamos y vendemos nuestros productos en todo el mundo, tanto directamente como a través de nuestros distribuidores. Las raíces de ChessOK se remontan a 1988, cuando comenzó el desarrollo de Chess Assistant, nuestra potente base de datos de ajedrez. Desde entonces nos hemos expandido en todas las direcciones. Nuestro catálogo de software cubre las necesidades de todos los ajedrecistas, desde el principiante absoluto hasta los grandes maestros más fuertes. Ofrecemos software para todos los aspectos del entrenamiento, el estudio y la mejora del ajedrez.
https://chessok.com/
Es el principal competidor comercial de ChessBase. La primera versión de Chess Assistant fue lanzada en 1990. 
 
Chess Assistant fue diseñado y programado en 1989-1994 por los programadores de la Universidad Estatal de Moscú con la participación activa del GM Anatoly Karpov. Funciona bien en WinXP siempre que haya editado el archivo CONFIG.NT en el directorio system32. El valor de 'Files' debe ser 50. También puede ejecutarse en DOSBox, pero entonces es más lento. DOSBox debe configurarse a máxima velocidad (poner 'cycles' en el fichero de configuración), y entonces el programa es bastante rápido. Pruebe la opción fullscreen=true. Tenga en cuenta que es necesario, en WinXP y superiores, ejecutar las utilidades especiales (por ejemplo, PGN2CA.EXE) mediante el comando 'run' en un archivo bat; alternativamente, en la ventana de DOSBox.

Chess Assistant crea una vista en árbol de todas las partidas en la base de datos actual, hasta la última jugada. El árbol puede almacenarse en disco. Cuando usted mira una posición particular del árbol, puede recuperar inmediatamente las partidas relevantes. No es necesario buscar partidas, aunque también es posible buscar partidas, posiciones, material, etc. Los formatos de partida PGN, ChessBase (Cbf), NIC y Chess Assistant pueden importarse y exportarse utilizando utilidades DOS. Chess Assistant para DOS hace tiempo que se abandonó, pero sigue siendo muy adecuado para la investigación rápida de grandes colecciones de partidas. Aunque el programa no es muy práctico si desea almacenar su propio repertorio, y también a pesar de sus limitaciones relacionadas con DOS, fue un producto muy apreciado en su época. Sus diferentes funciones están bien integradas y son rápidas. Los colores no son configurables. CA también tiene funciones para la edición de ajedrez, es decir, fuentes de ajedrez, etc. Las siguientes capturas de pantalla han sido tomadas en WinXP,
ejecutando DOSBox.

M. Winther, Jan 2007
 
 

DEEP BLUE 

 

1996 10 al 17 de Febrero. Primer match entre Kasparov y "DeepBlue" realizado en Nueva York. Vence Kasparov por +3 -1 =2.

Deep Blue fue una supercomputadora desarrollada por el fabricante estadounidense IBM para jugar al ajedrez. Fue la primera que venció a un campeón del mundo vigente, Gary Kaspárov, con un ritmo de juego lento. Esto ocurrió el 10 de febrero de 1996,​ en una memorable partida. Sin embargo, Kaspárov ganó 3 y empató 2 de las siguientes partidas, derrotando a Deep Blue por 4-2. El encuentro concluyó el 17 de febrero de 1996. (WIKI)

https://revistareplicante.com/kasparov-vs-deep-blue/​ 
 
 
Debidamente autorizado por el editor  de la Revista digital REPLICANTE, transcribimos a continuación el texto de Juan Raúl Casal, publicado el 7 de mayo de 2022.  Agradecemos a Rogelio Villarreal por la pronta respuesta positiva, que permitirá a los amigos de La Colección de papá, disfrutar del siguiente artículo.
 

Kaspárov vs. Deep Blue


La partida de creatividad contra perfección
Por Juan Raúl Casal el 7 mayo, 2022

Una persona no puede calcular cien millones de jugadas por segundo ni puede correr más rápido que un tren bala. Lo que sí puede hacer es construir esas cosas. 

Garry Kaspárov contra Deep Blue
Si Kaspárov no cambiaba de estrategia se arriesgaba a perder su imperio de sesenta y cuatro casillas. En la sala estaba sentado Garry Kaspárov, el campeón mundial de aquel entonces, al otro lado de la mesa había un ingeniero y el monitor que le daba instrucciones. En 1996 el mundo pudo ver en vivo el duelo entre hombre y máquina. El encuentro fue en Filadelfia, Pensilvania, y se jugó en un tablero de cuadros blancos y negros. Una partida de ajedrez por el destino de la humanidad, como creían los que apuntaban cada movimiento.

Un equipo de ingenieros de IBM liderado por Feng–hsiung Hsu crearon a Deep Blue, un software que podía calcular alrededor de cien millones movimientos por segundo. Desafiaron a Garry Kaspárov para ver si la capacidad de no cometer errores de esa supercomputadora era suficiente para ganarle a uno de los mejores ajedrecistas de todos los tiempos.

Toda la atención estaba en el choque de piezas blancas contra negras. La prensa repudiaba a la tecnología mientras transmitía las partidas con la ayuda de cámaras y antenas satelitales.

Todos los medios cubrieron este hecho desde el ángulo de la confrontación y no del gran paso que Deep Blue fue para la inteligencia artificial. Toda la atención estaba en el choque de piezas blancas contra negras. La prensa repudiaba a la tecnología mientras transmitía las partidas con la ayuda de cámaras y antenas satelitales. 

Portada de NewsWeek del 5 de mayo de 1997
El hombre y la máquina jugaron seis partidas en Filadelfia, las primeras cuatro no sorprendieron a nadie. Deep Blue y Kaspárov hacían movimientos salidos de libros de ajedrez. Ninguno buscaba el jaque mate, casi todas las jugadas eran para restringirle el espacio en el tablero al otro. Un alfil en el lugar correcto, la reina lo protegía desde lejos y nadie pudo hacer nada. Ambos competidores se asfixiaban hasta que agotaban las posibilidades en un sistema cerrado. Estaban empatados.

No se puede jugar así contra una computadora. Un software que puede calcular millones de posibilidades por segundo hace cada movimiento con el objetivo de no cometer errores, aunque la partida no vaya a ninguna parte; mientras que una persona busca ganarle a su contrincante, sin importar que eso implique hacer perder piezas.

A veces se sacrifica a la reina para ganar con la torre.

Faltaron elementos clave en esas primeras cuatro partidas: orgullo, frustración, miradas que se cruzan como jugadas en el tablero. Creatividad. Eran cosas a las que Kaspárov estaba acostumbrado en un rival, Deep Blue no tenía nada de eso. Si continuaba con la misma estrategia se arriesgaba a empatar con la máquina de nuevo, o a perder en el juego al que le dedicó una buena parte de su vida. Debía jugar como humano.

Kaspárov gano el quinto juego casi por accidente, no fue nada impresionante. La sexta partida marcó toda la contienda, el ajedrecista ruso —quien jugó con las blancas— hizo movimientos que serían terribles en una partida común. Sólo que esta partida no era común y el oponente tampoco. El hombre abrió con un gambito de dama para controlar en centro con peones, Deep Blue respondió con una defensa eslava, para que su rival de carne y hueso no pudiera hacer más movimientos sin sacrificar piezas.

Desde que Garry puso su caballo en la casilla b2 comenzó a hacer movimientos que un software de ajedrez tacharía de errores, incluso estupideces. Kaspárov atacó a la computadora por los dos lados del tablero, no le importó dejar al rey descubierto. Cada que Deep Blue intentaba hacer un ataque el ruso se movía a las mejores posiciones, aun si eso significaba perder al caballo para controlar más espacio.

El bando de las negras comenzaba a quedarse sin espacio para respirar. Las piezas blancas fuera del juego pudieron ver cómo su sacrificio no fue en vano. La reina negra solamente podía moverse a casillas sin importancia, la torre y el alfil de la supercomputadora estaban acorralados en una esquina.

Kaspárov comenzó a tomar la delantera a pesar de tener menos material que Deep Blue. El bando de las negras comenzaba a quedarse sin espacio para respirar. Las piezas blancas fuera del juego pudieron ver cómo su sacrificio no fue en vano. La reina negra solamente podía moverse a casillas sin importancia, la torre y el alfil de la supercomputadora estaban acorralados en una esquina. El tablero le pertenecía al ruso.

Deep Blue se rindió, sus dos torres, alfil y reina no pudieron hacer nada mientras que su rey estaba en la mira de Kaspárov. Los medios y la comunidad de ajedrez celebraron la victoria del hombre. La creatividad y el caos de un humano le ganó a la perfección de una máquina. Estas partidas sólo alimentaron la idea, presente desde la mitología hasta Matrix, de que las personas y las máquinas son enemigos. Nada más lejos de la verdad.

Deep Blue fue uno de los precursores para mejorar los softwares para monitorear fenómenos climatológicos y financieros, así lo explicó en una entrevista el doctor Murray Campbell, pionero de la inteligencia artificial y uno de los ingenieros que prepararon esta máquina para las partidas. Resulta que el enemigo jurado del hombre le puede avisar si se aproxima un huracán o si la Bolsa de Valores está por desplomarse.

El mismo Garry Kaspárov ha dicho en varias entrevistas y charlas TED que una persona no puede ganarle a una computadora en su propio juego. “No les temas a las máquinas inteligentes, trabajen con ellas”, dijo el ajedrecista en la charla. Una persona no puede calcular cien millones de jugadas por segundo ni puede correr más rápido que un tren bala. Lo que sí puede hacer es construir esas cosas.

Al año siguiente —1997— el jugador ruso perdió la revancha contra la computadora. Cuando la competencia se hizo oficial el titular en la portada de la revista NewsWeek fue “The Brain’s Last stand” (La última defensa del cerebro). Luego de las partidas del noventa y seis el equipo de ingenieros de IBM se dedicó a mejorar el software que destronó a uno de los mejores ajedrecistas de la historia. En ese segundo encuentro no fue Deep Blue quien venció a Garry Kaspárov, fueron Feng–hsiung Hsu, Murray Campbell, Joe Hoane y Thomas Anantharaman. La humanidad prevalece. ®

 
Tomado de FaceBook de Antonio Gude
KASPAROV parece pedir explicaciones a DEEP BLUE.
Nueva York, 1997. 



Me permito recomendar dos obras que me parecen fundamentales para el análisis del desarrollo de la inteligencia artificial ajedrecista. y los entretelones del match en el que salio victorioso DEPP BLUE en 1997.

El primero, el libro de Garry Kasparov "Deep Thinking" publicado en 2017.
 
"El match de ajedrez de 1997 entre Garry Kasparov y la supercomputadora de IBM Deep Blue fue un punto de inflexión en la historia de la tecnología. Era el comienzo de una nueva era en inteligencia artificial: una máquina capaz de batir al actual campeón humano en el juego más intelectual. En este libro innovador, Kasparov revela su asombroso lado de la historia por primera vez. Describe cómo se sintió al diseñar una estrategia contra un oponente implacable e infatigable con todo el mundo mirando, y relata la historia de la inteligencia artificial a través del microcosmos del ajedrez. Kasparov utiliza su experiencia inigualable para mirar el futuro de las máquinas inteligentes y lo ve con brillantes posibilidades. Deep Thinking es un caso bien argumentado a favor del progreso tecnológico, del hombre que estaba frente al precipicio con su propia carrera en juego." AMAZON

El segundo, un resumen de publicaciones de Peón de Rey, única publicación bimestral dirigida por el GM Miguel Illescas, que estuvo involucrado en el equipo de Deep Blue.  En una entrevista en octubre de 2019 revela que:  "El equipo de IBM de Deep Blue estaba formado esencialmente por ingenieros y grandes maestros. En el año del segundo y definitivo match, el 97, se incorporó mucha más gente. "Los de Comunicación tomaron el mando", comenta Illescas. Recomendaron al resto del equipo hacerse visibles y cuándo sonreír y cuándo no. En alguna ocasión apareció Lou Gestner, presidente de IBM. Los líderes eran Feng Hsu y Murray Campbel." 
 
Más adelante señala:
 
“Mi papel fue hacer una máquina más competitiva. A mí me contrataron para ganar aquel encuentro.” Deep Blue comenzó siendo un proyecto científico, pero resultó siendo una joya y su importancia fue creciendo dentro de IBM. Illescas, por ejemplo, ayudó a introducir en la máquina la teoría de aperturas. No solo un amplio conjunto de ellas, sino “buenas formas de manejar las aperturas”. En general, Illescas contribuyó a traducir en lenguaje máquina el ajedrez. Antes las máquinas se basaban solo en el cálculo. “Se hizo un esfuerzo muy grande en que la máquina entendiera conceptos ajedrecísticos”. 
 
La serie de artículos se publicó como "Homenaje a Deep Blue" iniciando con publicaciones del año 2002 con la reseña del Match Kramnnik-Deep Fritz, el match Kasparov-Deep Junior, Kasparov- Fritz X3D, II Match mundial Humanos contra Computadoras, hasta llegar a una entrevista a Kasparov 20 años después del encuentro contra Depp Blue (1997-2017) titulada "Kasparov nos cuenta sus secretos"


REDES NEURONALES

 

El modelo de redes neuronales

Última actualización: 2021-08-17

Las redes neuronales son modelos simples del funcionamiento del sistema nervioso. Las unidades básicas son las neuronas, que generalmente se organizan en capas, como se muestra en la siguiente ilustración.

Figura 1. Estructura de una red neuronal



Una red neuronal es un modelo simplificado que emula el modo en que el cerebro humano procesa la información: Funciona simultaneando un número elevado de unidades de procesamiento interconectadas que parecen versiones abstractas de neuronas.

Las unidades de procesamiento se organizan en capas. Hay tres partes normalmente en una red neuronal : una capa de entrada, con unidades que representan los campos de entrada; una o varias capas ocultas; y una capa de salida, con una unidad o unidades que representa el campo o los campos de destino. Las unidades se conectan con fuerzas de conexión variables (o ponderaciones). Los datos de entrada se presentan en la primera capa, y los valores se propagan desde cada neurona hasta cada neurona de la capa siguiente. al final, se envía un resultado desde la capa de salida.

La red aprende examinando los registros individuales, generando una predicción para cada registro y realizando ajustes a las ponderaciones cuando realiza una predicción incorrecta. Este proceso se repite muchas veces y la red sigue mejorando sus predicciones hasta haber alcanzado uno o varios criterios de parada.

Al principio, todas las ponderaciones son aleatorias y las respuestas que resultan de la red son, posiblemente, disparatadas. La red aprende a través del entrenamiento. Continuamente se presentan a la red ejemplos para los que se conoce el resultado, y las respuestas que proporciona se comparan con los resultados conocidos. La información procedente de esta comparación se pasa hacia atrás a través de la red, cambiando las ponderaciones gradualmente. A medida que progresa el entrenamiento, la red se va haciendo cada vez más precisa en la replicación de resultados conocidos. Una vez entrenada, la red se puede aplicar a casos futuros en los que se desconoce el resultado.

© Copyright IBM Corporation 1994, 2021


ALPHAZERO 

 

AlphaZero: jugador creativo

 
A finales de 2017, presentamos AlphaZero, un sistema único que se enseñó a sí mismo desde cero a dominar los juegos de ajedrez, shogi y Go, venciendo a un programa informático campeón del mundo en cada caso.

AlphaZero sustituye la heurística artesanal por una red neuronal profunda y algoritmos a los que no se les da nada más allá de las reglas básicas del juego. Enseñándose a sí mismo, AlphaZero desarrolló su propio estilo de juego, único y creativo, en los tres juegos.

En sus partidas de ajedrez, por ejemplo, los jugadores vieron que había desarrollado un estilo de juego muy dinámico y "poco convencional" que difería de cualquier otro motor de ajedrez anterior. Muchas de sus ideas "que cambian el juego" han sido adoptadas desde entonces al más alto nivel de juego. 
 
"No puedo disimular mi satisfacción porque juega con un estilo muy dinámico, ¡muy parecido al mío!".
Garry Kasparov
Ex Campeón del Mundo de Ajedrez
https://www.deepmind.com/research/highlighted-research/alphago


AlphaZero revoluciona la ciencia

Ajedrez/El Rincón de los Inmortales

Leontxo García 21 nov 2022 

El programa que introdujo conceptos rompedores en 2017 sacrifica una pieza a muy largo plazo a cambio de actividad, armonía y dinamismo.

La revolucionaria irrupción de AlphaZero en 2017, ganando por una goleada de escándalo (28 victorias, 72 empates, ninguna derrota) a Stockfish, el mejor jugador inhumano hasta entonces, marca uno de los grandes hitos en la historia del ajedrez. Pero no solo del ajedrez porque, como ya ocurrió cuando Deep Blue (IBM) derrotó a Kaspárov en 1997, lo aprendido en el deporte mental (también en el go), ha sido muy útil poco después en campos muy importantes de la ciencia. La empresa Deep Mind, creadora de AlphaZero y perteneciente a Google, logró en 2020 el mayor adelanto en la historia de la biología: descifrar el comportamiento de las proteínas, un elemento esencial para la vida.

Volviendo al ajedrez, AlphaZero no dispone de una base de datos con más diez millones de partidas (jugadas desde el siglo XVI hasta hoy) como sí tienen otros jugadores de silicio. A AlphaZero solo le programaron las reglas básicas para que luego disputase millones de partidas contra sí mismo y aprendiese de ellas. Por eso, su estilo es muy rompedor. Por ejemplo, con asombrosos sacrificios de pieza a muy largo plazo, como el de la magnífica partida de este vídeo.

AlphaZero: la revolución del Machine Learning


Por Rodrigo Díaz López

En un artículo anterior reflexionamos sobre la Inteligencia Artificial aplicada al mundo del ajedrez. Hoy nos centraremos en el nuevo actor que ha venido a revolucionar los mundos del ajedrez y del Machine Learning: AlphaZero.

Deep Blue, el pionero

Deep Blue, desarrollado por el gigante estadounidense IBM, fue el primer ordenador capaz de ganarle una partida al campeón del mundo de ajedrez. Fue, asimismo, el primer ordenador en derrotar al campeón del mundo de ajedrez en un torneo de partidas jugadas a un ritmo de juego normal. 

atsistemas.com
Deep Blue logró tan excepcionales resultados gracias a la “fuerza bruta”. Era un superordenador de procesamiento paralelo masivo basado en el RS/6000 con 30 procesadores IBM Power2 de 120 MHz., con otros 480 coprocesadores VLSI diseñados específicamente para ejecutar operaciones relacionadas con el ajedrez. Su primera versión, empleada en el duelo contra Kaspárov de 1996, era capaz de calcular 100 millones de posiciones por segundo, y su segunda versión, empleada en la famosa revancha de 1997, era dos veces más rápida que la anterior.

El software de Deep Blue, además de tener acceso a extensas bases de datos de aperturas y tablas de finales, utilizaba el algoritmo minimax, y una técnica de poda alfa-beta, especialmente diseñado por un equipo de programadores y grandes maestros de ajedrez. Este algoritmo fue mejorado usando técnicas de machine learning. Se preparaba una primera versión del algoritmo y se le proponían una batería de cientos de miles de las mejores partidas de ajedrez de la historia, jugadas por humanos, de forma que Deep Blue podía aprender las técnicas utilizadas en ellas para poder aplicarlas en los enfrentamientos futuros. Pero este aprendizaje era supervisado por los desarrolladores. Cuando Deep Blue realizaba una jugada “errónea”, es decir un bug, se revisaba el código y se modificaba hasta que Deep Blue realizaba la jugada “correcta”. De este modo, el software se iba perfeccionando poco a poco.

No obstante, Deep Blue no estaba realmente diseñado para jugar al ajedrez, sino para jugar al ajedrez contra Gary Kaspárov. Deep Blue conocía todas las partidas jugadas por el campeón y los grandes maestros del ajedrez que lo entrenaron, entre los que se encontraba el español Miguel Illescas, consiguieron que su estilo de juego se opusiese perfectamente al estilo de juego agresivo de Kaspárov.

Por otra parte, en aquellos enfrentamientos contra Kaspárov hubo acusaciones de comportamiento poco ético por parte de IBM. Uno de los empleados de seguridad asignados a Kaspárov hablaba ruso y, presuntamente, espiaba las conversaciones con su entrenador para que el equipo de IBM pudiera obtener pistas sobre cómo preparar la siguiente partida. Además, aunque IBM no podía manipular el software de Deep Blue en medio de una partida, en ocasiones Deep Blue se “bloqueaba” y necesitaba reiniciarse lo que permitiría, presuntamente, realizar modificaciones en su software.

Nunca sabremos hasta donde podría haber llegado Deep Blue en un torneo convencional, contra otros humanos o contra otras máquinas. IBM nunca ha publicado el código de su algoritmo y desmanteló Deep Blue poco después del torneo de 1997, así que desde entonces no ha vuelto a jugar al ajedrez. Los dos racks que lo formaban se encuentran actualmente en el Museo Nacional de Historia Estadounidense y en el Museo Histórico de Ordenadores, ambos en Estados Unidos.

Stockfish, el sucesor

El que ha demostrado ser el mejor sucesor de Deep Blue es, sin lugar a duda, el motor de ajedrez de código abierto denominado Stockfish.


atsistemas.com
Stockfish fue desarrollado en 2008 por Tord Romstad, Joona Kiiski, Marco Costalba y Gary Linscott, con la colaboración de una comunidad de desarrolladores de código abierto. Está desarrollado en C++, el código se publica bajo la licencia GPL y está disponible para Windows, Linux, Mac, Android e iOS.

Stockfish puede usar hasta 512 hilos de CPU en sistemas multiprocesador, que le permiten examinar 70 millones de posiciones por segundo, e implementa una poda alfa-beta avanzada que se caracteriza por su gran profundidad de búsqueda. El software de Stockfish está en constante mejora. Cada uno de los cambios en el código, propuestos por la comunidad de desarrolladores, se acepta o rechaza en función de los resultados de jugar decenas de miles de partidas contra una versión "de referencia" más antigua del programa utilizando pruebas de razón de probabilidad secuencial. Las pruebas se verifican mediante la prueba de χ² y solo si los resultados son estadísticamente significativos se consideran fiables y se utilizan para revisar el código.

Todas estas características han llevado a Stockfish a ocupar varias veces el primer lugar en el campeonato mundial (no oficial) de ajedrez para ordenadores. Desde 2013 a 2019, de los 12 títulos que se han disputado, ha ganado 6 y ha quedado segundo en otras 5 ocasiones.

En definitiva, Stockfish es un motor de ajedrez, con un ELO superior al del campeón del mundo de ajedrez Magnus Carlsen, que puedes llevar en el bolsillo instalado en tu teléfono móvil.

Y en esto llegó… AlphaZero

En los últimos años, todos los módulos de ajedrez populares se habían basado en el algoritmo minimax, mejorado con una poda alfa-beta, habían usado una estructura de árbol para calcular las diferentes variantes y una compleja función de evaluación para asignar a la posición al final de una variante un valor como +1,5 (la ventaja de las blancas equivale a un peón y medio) o -9,0 (la ventaja de las negras equivale a una dama).

Sin embargo, en 2017 DeepMind (una compañía propiedad de Google) desarrolló AlphaZero para especializarse en aprender a jugar juegos de dos jugadores y movimientos alternos (como el ajedrez, el shogi o el go), basándose en técnicas de aprendizaje reforzado y aprendizaje profundo con redes neuronales. 

atsistemas.com

El enfoque de AlphaZero con respecto del cálculo de variantes y la evaluación de posiciones es radicalmente distinto a lo que hacen otros módulos. AlphaZero usa el árbol de búsqueda Monte Carlo que evalúa una posición generando una serie de secuencias de movimientos (o “desarrollos”) aleatorios y, haciendo una media de los resultados finales que genera (victoria/tablas/derrota), modifica la función de evaluación cuando los movimientos aleatorios le llevan a posiciones “buenas”. Todo esto va generando desarrollos semi aleatorios, líneas que parecen apropiadas a su función de evaluación en mejora continua. Obviamente, estos desarrollos semi aleatorios pueden llevar a AlphaZero a cometer errores graves, pero le permiten mejorar en el futuro.

La mejora continua de la función de evaluación se consigue por medio de una red neuronal.

La posición actual sobre el tablero se introduce en la capa de entrada de la red, a continuación es procesada por la primera capa de neuronas, cada una de las cuales envía el resultado a las neuronas de la siguiente capa, y así sucesivamente hasta llegar a la capa de salida que obtiene el resultado final.

En AlphaZero este resultado tiene dos partes:

Una evaluación de la posición de ajedrez que se le había planteado.

Una evaluación de cada jugada legal en la posición.

En realidad, cada neurona es una unidad de procesamiento muy simple que acepta una serie de aportaciones, multiplica cada una por una cantidad de peso, suma las respuestas y luego aplica una función de activación que da un resultado, típicamente en el rango de 0 a 1. Es importante tener en cuenta que el resultado de una neurona puede depender de todas las neuronas que hay en la capa anterior, lo cual permite a la red captar muchas sutilezas.

La red neuronal de AlphaZero tiene 80 capas y cientos de miles de neuronas. Los pesos son muy importantes, porque entrenar a la red es una cuestión de dar valores a los pesos para que la red aprenda a “jugar bien” al ajedrez.

Como hemos visto en un artículo anterior, el gran problema del ajedrez son las variantes. Teniendo en cuenta todos los posibles movimientos, las posibles respuestas del adversario, nuestros posibles movimientos siguientes, etc. al cabo de solo 4 jugadas tendríamos unas 650.000.000.000 posiciones distintas que tendríamos que evaluar. Y esa cifra sigue creciendo exponencialmente. AlphaZero reduce el número de variantes considerando solo los movimientos que le recomienda su red neuronal, una media de tres posibles movimientos. De ese modo, una modesta cantidad de 80.000 posiciones evaluadas por segundo (como hemos visto, Stockfish examina 70 millones de posiciones por segundo) le permiten ver unos siete movimientos por delante en menos de un minuto.

En cuando al hardware, AlphaZero se ejecuta en un hardware especializado: las unidades de procesamiento por tensores (TPU) de Google. AlphaZero usa 5.000 TPUs de primera generación para generar partidas de juego autónomo, las cuales se usan para entrenar a la red, y 64 TPUs de segunda generación para realizar el entrenamiento como tal. No obstante, para jugar al ajedrez solo necesita 4 TPUs.

Por todo lo que hemos visto hasta el momento, se podría decir que AlphaZero es como un bebé recién nacido, está tremendamente equipado para aprender pero tiene muy pocos conocimientos. En el caso del ajedrez, a AlphaZero simplemente le enseñaron las leyes del ajedrez. No sabe nada de teoría de aperturas, ni tiene conocimientos estratégicos o tácticos. Por no conocer, ni siquiera conoce el valor relativo de las piezas de ajedrez. Su función de evaluación solo mide la probabilidad de victoria o derrota, entre -1 y 1. Es decir, le enseñaron a mover las piezas, que el objetivo del juego es dar jaque mate al rey contrario... y nada más.

En diciembre de 2017, con estos conocimientos tan exiguos, AlphaZero se puso a jugar al ajedrez consigo mismo. Los desarrolladores de DeepMind podrían haberle dado partidas de grandes maestros de las que aprender (aprendizaje supervisado). Sin embargo, esto habría dado como resultado que AlphaZero aprendería a jugar ajedrez como lo hacen los humanos, con sus mismos errores. Así que el equipo de DeepMind optó por usar un enfoque más ambicioso denominado aprendizaje de refuerzo. Al principio AlphaZero jugaba contra si mismo moviendo aleatoriamente las piezas pero si, eventualmente, uno de los dos bandos ganaba, sería debido a que las jugadas que había realizado debían ser mejores que las del bando que perdió, así que se reajustaban los pesos en la red neuronal. Tras un lote de ejecuciones (4.096 partidas) se consolidaba la mejor red neuronal obtenida hasta el momento, que se catalogaba como “Mejor jugador”, y en el siguiente lote se jugaba siempre contra este “Mejor jugador”. Si tras otro lote de ejecuciones el nuevo jugador había demostrado ser mejor que él, entonces ocupaba su puesto y vuelta a empezar. Esto es, AlphaZero aprende de sus propios errores y toma sus propias decisiones sin intervención humana.

Durante este período de aprendizaje, el progreso de AlphaZero se medía jugando partidas de un segundo por movimiento contra Stockfish. Cuando AlphaZero llevaba 300.000 iteraciones en los gigantescos servidores de Google (unas cuatro horas de entrenamiento) los desarrolladores comprobaron que ya tenía un nivel superior a Stockfish. No obstante, el entrenamiento de la red continuó hasta completar unas 700.000 iteraciones, proceso que duró 9 horas, y a continuación AlphaZero se enfrentó a Stockfish en una serie de 100 partidas, jugando la mitad con blancas y la mitad con negras. El resultado fue espectacular: +28 -0 =72. AlphaZero ganó 28 partidas, no perdió ninguna e hizo tablas en las otras 72.

Muchos consideraron que el encuentro no había sido justo porque no se utilizó la última versión disponible de Stockfish, no se le permitió utilizar su libro de aperturas y el hardware utilizado favorecía claramente a AlphaZero, así que a principios de 2018 se repitió el encuentro con un resultado muy similar. AlphaZero vapuleó a Stockfish en una nueva serie de 1.000 partidas, con un marcador de +155 -6 =839. AlphaZero ganó 155 partidas, sólo perdió 6 e hizo tablas en las otras 839.

Algunas de estas partidas han sido publicadas recientemente y muestran un estilo de juego revolucionario. Por ejemplo, como AlphaZero no conoce el concepto de “valor material de las piezas” realiza espectaculares sacrificios de peones o piezas en la apertura, solo porque maximizan sus posibilidades de ganar la partida a largo plazo.

Pero lo más sorprendente de AlphaZero no es que tras unas pocas horas de aprendizaje autodidacta haya sido capaz de aprender a jugar al ajedrez a un nivel sobrehumano. Lo más extraordinario es que el algoritmo de AlphaZero es idéntico para los juegos de ajedrez, shogi y go… y también ha logrado vencer a los mejores módulos informáticos de estos dos juegos, partiendo tan solo de las normas básicas de los mismos y unas pocas horas de entrenamiento. Esto supone un importante avance para la Inteligencia Artificial, y abre las puertas a crear en el futuro un sistema capaz de aprender cualquier juego… con las implicaciones que esto podría tener.

Como corolario comentaré que, debido al hardware tan especializado en el que corre, no es posible instalar AlphaZero en un dispositivo doméstico. No obstante, en 2018 se ha creado un motor de ajedrez de código abierto denominado Leela Chess Zero (Lc0), basado en el proyecto de AlphaZero. Lc0 ha ganado recientemente el campeonato mundial (no oficial) de ajedrez para ordenadores (TCEC 15), tras derrotar en la final precisamente a Stockfish, y dispone de una interfaz gráfica de usuario para Windows y para Linux.

La siguiente generación de motores de ajedrez basados en redes neuronales ya está aquí… y ha venido para quedarse.

Rodrigo Díaz López

Copyright atSistemas.
https://www.atsistemas.com/es/blog/alphazero-la-revolucin-del-machine-learning
 

No hay comentarios:

Publicar un comentario