El primer juego de ordenador de la historia

El Ajedrecista de Leonardo Torres Quevedo, presentado en 1912, está considerado como el primer juego de ordenador de la historia. En esta entrada se puede jugar contra un programa que implementa el mismo algoritmo usado en El Ajedrecista.

El autor
Leonardo Torres Quevedo por Eulogia Merle MUNCYT
Leonardo Torres Quevedo por Eulogia Merle MUNCYT

Leonardo Torres Quevedo (1852-1936) fue un ingeniero e inventor español nacido en Santa Cruz de Iguña (Cantabria).
Dedicó la mayor parte de su vida a diseñar y elaborar una amplia variedad de inventos geniales. Por citar alguno de los que han tenido más repercusión mediática:
El telekino: un mando a distancia que utilizaba ondas electromagnéticas. El 7 de noviembre de 1905, en el puerto de Bilbao, con la asistencia del rey Alfonso XIII y una gran multitud, demostró su funcionamiento gobernando un bote desde la orilla.
Transbordadores: El Spanish Aerocar es un transbordador que cruza las cataratas del Niagara. Inaugurado en 1916, sigue en funcionamiento en la actualidad.
Ordenadores Analógicos. En estos dispositivos, un proceso matemático se transforma en un proceso físico representando los números mediante magnitudes físicas como tensiones o intensidades eléctricas, rotaciones en un eje, etc. Torres Quevedo construyó varias máquinas de este tipo, por ejemplo una que resolvía ecuaciones de segundo grado con coeficientes complejos.

En su artículo Ensayos de automática. Su definición . Extensión teórica de sus aplicaciones publicado en 1914 en la Revista de la Real Academia de Ciencias, presenta muchas de sus ideas sobre la realización de los autómatas. Se incluye el diseño completo de una máquina capaz de calcular a(y-z)^2 para un conjunto de valores de las variables presentes, lo que implica dispositivos electromecánicos para almacenar dígitos decimales, realizar operaciones aritméticas utilizando tablas o comparar el valor de dos cantidades. Incluso aparece por primera vez la idea de una aritmética usando coma flotante. (Ver el artículo de Randell, Brian de 1992 basado en una conferencia dada en el MIT)

El primer juego de ordenador
El Ajedrecista (2º modelo)
El Ajedrecista (2º modelo)

En 1912 Torres Quevedo presentó un autómata que jugaba al ajedrez: El Ajedrecista. Considerado el primer juego de ordenador de la historia, ganaba de forma inexorable un final de rey y torre contra rey. El autómata movía la torre y el rey blancos y el humano el rey negro.
En esta primera versión el tablero estaba dispuesto en posición vertical y el autómata detectaba los movimientos del rey blanco por unos contactos que las piezas tenían en su base. Las piezas blancas se movían usando brazos articulados. En 1920 y con la colaboración de su hijo Gonzalo diseño una versión mejorada. El tablero estaba ahora en posición horizontal, y las piezas se movían mediante electro-imanes ocultos bajo el mismo. Si detectaba que el jugador hacía trampas se encendía una luz roja y a la tercera dejaba de jugar. En un gramófono, que se ve en la fotografía en la parte superior izquierda, se oía “Jaque al rey” en cada jaque de la torre y “Mate” al final de la partida.

La posición inicial de las piezas blancas era rey en a8 y torre en h7. El jugador humano podía situar el rey negro en cualquier fila inferior a la séptima, con la única condición de que no se pusiese en jaque.

El algoritmo

Su biógrafo García Santesmases (1980),  describe el algoritmo que utiliza El Ajedrecista. El tablero se divide en dos zonas, A, columnas a, b, c, y B,  columnas f, g, h. Cuando el rey negro está en la misma zona que la torre, esta se va a la columna más alejada de la otra zona la a o a la h.

A continuación se muestra una versión del  algoritmo en  pseudocódigo. Se usan las abreviaturas siguientes: RN: rey negro, RB: rey blanco,T: torre, DistVert: distancia vertical, DistHor: distancia horizontal

si RN está en la misma zona que T entonces
  T huye horizontalmente hacia la otra zona
si no si RN no está en la misma zona que T entonces
  si DistVert RN T mayor de una casilla entonces
    T reduce en una unidad su fila
  si no si DistVert RN T es igual a una casilla entonces
    si DistVert RN RB es mayor que dos casillas entonces
      RB reduce en una unidad su fila
    si no si DistVert RN RB es igual a dos casillas entonces
      si DistHor RN RB es un número impar de casillas entonces
        T se mueve a la columna contigua
      si no si DistHor RN RB es un numero par de casillas entonces
        RB se mueve una columna hacia RN
      si no si DistHor RN RB es nula entonces
        T desciende un paso
      fin si
    fin si
  fin si
fin si

Transcribo a continuación la versión de  Atkinson (1993), que por sus comentarios, resulta más clara:

si ambos RN y T están en columnas a, b, c
  entonces mueve T a columna h {mantén T alejada}
si no si ambos RN y T están en columnas f, g, h
  entonces mueve T a columna a {mantén T alejada}
si no si fila de T supera a la del RN en más de 1
  entonces mueve T a la fila inmediata inferior {limita movimiento RN}
si no si fila de RB supera a la del RN en más de 2
  entonces mueve RB a la fila inmediata inferior {da soporte a T}
si no si DistHor entre reyes es impar
  entonces {pierde 1 tiempo}
    si T esta en columna a entonces muévela a la b
    si no si T esta en columna b entonces muévela a la a
    si no si T esta en columna g entonces muévela a la h
    si no si T esta en columna h entonces muévela a la g
    fin si
si no si DistHor entre reyes no es 0
  entonces mueve el RB horizontalmente hacia RN {mantén oposición}
si no da jaque moviendo la T hacia abajo {Si fila es 1: jaque mate}
fin si

Hay también una descripción del algoritmo en un artículo de H. Vigneron (1914) sobre los autómatas de Torres Quevedo publicado en 1914 en La Nature,  revista editada por el divulgador científico Gaston Tissandier.

Una simulación del autómata El Ajedrecista

En el programa  que sigue se simula el funcionamiento de El Ajedrecista:

Dos  preguntas

¿Cuál el máximo número de jugadas que necesita El Ajedrecista para dar mate al rey negro?

¿y el mínimo?

Más información

García Santesmases, José. 1980. Obra e Inventos de Torres Quevedo. Instituto de España.

Atkinson, George. 1993. Chess and Machine Intuition. Ablex Publishing Corporation.

Randell, Brian. From Analytical Engine to Electronic Digital Computer: The Contributions of Ludgate, Torres and Bush. IEEE Annals of the History of Computing, 1982, Vol.4, Nº 4, pp 327-341.

Vigneron, H. Les Automates. La Nature, 1914, Nº 2142, pp 56-61.
[Accesible en http://cnum.cnam.fr/redir?4KY28.87]

Muchas imágenes y videos sobre El Ajedrecista
1911-20 – Chess Playing Machines – Leonardo Torres y Quevedo

Programa Con-Ciencia de RTVE. Breve reportaje sobre Leonardo Torres Quevedo

Deja un comentario