Introducción
¿Por qué deberíamos entrelazar el estudio del ajedrez y la computación? El ajedrez es indudablemente uno de los juegos más enigmáticos y sofisticados que se disfrutan en cada rincón de nuestro vasto planeta.
¿Por qué deberíamos entrelazar el estudio del ajedrez y la computación? El ajedrez es indudablemente uno de los juegos más enigmáticos y sofisticados que se disfrutan en cada rincón de nuestro vasto planeta. En su primera jugada, el participante con las piezas blancas tiene la opción de seleccionar entre 20 movimientos distintos. De la misma manera, el competidor con las piezas negras puede responder con 20 movimientos alternativos. Este aparente matiz sencillo implica que el número de juegos posibles con tan solo dos movimientos se eleva a un total de 400. Como es evidente, el crecimiento es exponencial y, por consiguiente, se transforma rápidamente en una tarea abrumadora para los seres humanos, quienes deben depender de su instinto y de un cálculo preciso y perspicaz.
Afortunadamente, las máquinas, con su capacidad para llevar a cabo millones de operaciones por segundo y ejecutarlas sin desfallecer, nos proporcionan una solución viable. Esta potencia computacional ha permitido a los humanos desvelar nuevos secretos en este juego milenario. No obstante, a pesar del inmenso apoyo que brindan, estas máquinas también tienen sus limitaciones. Un ejemplo palpable es que aún no se ha despejado la incógnita de si un resultado es inevitable desde el comienzo de una partida. En otras palabras, aún no sabemos si, dados los movimientos óptimos por ambos bandos, una victoria o un empate es un desenlace ineluctable.
La relación entre el ajedrez y la computación ha sido estrecha desde los albores de esta última disciplina. Alan Turing, uno de los pioneros de la informática y ferviente jugador de ajedrez, es reconocido como el creador del primer programa de ajedrez, denominado Turochamp. Este programa se basaba en el algoritmo Minimax y en el uso de una heurística (conceptos que se analizarán más detalladamente en secciones posteriores de este libro). Aunque Turing no pudo probar su programa en una computadora antes de su muerte, logró simular el algoritmo actuando él mismo como una máquina capaz de ejecutar una serie de instrucciones.
Este libro se estructura en cinco capítulos, que abordan el ajedrez desde diferentes ángulos. La primera parte se enfoca en problemas y minijuegos derivados del ajedrez, como el reto de colocar damas en un tablero de sin que se ataquen entre sí y el tour del caballo, donde, utilizando un caballo, debemos recorrer todas las casillas del tablero sin repetir ninguna. Estos juegos se vinculan con conceptos informáticos como grafos, complejidad algorítmica, caminos hamiltonianos, coloreado de grafos, entre otros.
El segundo capítulo se concentra en la inteligencia artificial aplicada al ajedrez de forma general, incluyendo los métodos que los ordenadores empleaban para jugar al ajedrez en décadas pasadas.
El tercer capítulo explora los avances en inteligencia artificial usando aprendizaje por refuerzo y qué técnicas han permitido a AlphaZero revolucionar el ajedrez tal y cómo lo conocemos.
El cuarto capítulo discute los últimos avances en inteligencia artificial. La respuesta de Stockfish ante la derrota contra AlphaZero y cómo un nuevo modelo llamado Maia busca imitar la toma de decisiones humanas en ajedrez.
En el quinto capítulo se analizarán los estándares más importantes de ajedrez. Entre ellos se incluye FEN, PGN y UCI. Estos se utilizan en muchos programas de ajedrez para facilitar la comunicación dentro de ellos y con otros programas. En especial, FEN y PGN son muy utilizados y es muy recomendable entender cómo funcionan.
Este libro tiene como propósito introducir al lector en el fascinante mundo de la computación a través de su relación con el ajedrez. Aunque está especialmente pensado para aquellos familiarizados con el ajedrez, se proporcionan dos anexos con información sobre las reglas del ajedrez y la notación utilizada para aquellos que no lo estén. En lo que respecta a la computación, no se requiere ningún conocimiento previo. Todos los conceptos informáticos utilizados a lo largo del libro se explican según aparecen, siempre procurando que sean accesibles para alguien no familiarizado con la informática. Por esta razón, se recomienda encarecidamente la lectura del libro en orden, ya que los conceptos se van construyendo desde el primer capítulo hasta el último.
Después de leer este libro, adquirirás conocimientos útiles sobre la informática que serán relevantes no solo para el ajedrez, sino también para muchas otras disciplinas en las que la informática juega un papel crucial. Este libro te permitirá, por lo tanto, desarrollar el denominado pensamiento computacional, tan demandado en la actualidad, que te permitirá entender el mundo desde nuevas perspectivas.