Este mes se ha estrenado “The imitation game”, biopic del matemático, ingeniero, y muchas otras cosas, Alan Mathison Turing (1912 - 1954). La película cubre en su mayor parte los años en que el genial investigador reventó la seguridad de la Máquina Enigma utilizada por el ejército nazi para proteger sus comunicaciones y que sentenció el destino de la II Guerra Mundial a favor del bando aliado. También nos da la disculpa perfecta para recordar los grandes avances de este inmenso pensador.
Alan Turing era un matemático, filósofo experto en lógica, científico computacional, biólogo y, por si fuera poco, excelente corredor de maratón, a nivel de competición olímpica. Su curiosa vida, desde su época de niño prodigio hasta su triste final, la dejamos para la película. Nosotros preferimos recordar sus increíbles hallazgos en la ciencia, la tecnología, y la informática.
Quizá Turing deba su mayor celebridad al campo del criptoanálisis. Corrían los años de la II Guerra Mundial. Miles de comunicaciones del ejército nazi circulaban cifradas por una máquina llamada Enigma. El Foreign Office de la corona británica entendió que comprender esa información supondría un golpe decisivo a favor de los aliados. Turing, junto a una treintena de brillantes matemáticos como Joan Clarke, descifraron las comunicaciones secretas. El gobierno británico fue el primer sorprendido: ellos esperaban que la solución viniera de parte de lingüistas y no de matemáticos.
Se calcula que conseguir esa información acortó la guerra entre dos y cuatro años, y si calculamos que la guerra acabó con unos siete millones de personas anuales, el resultado es de entre catorce y veintiocho millones de vidas salvadas gracias a Turing y su equipo.
Ahora retrocedamos un poco para comprender cómo, gracias a este hombre, lo que era una máquina de contar de manera repetitiva se convirtió en una máquina capaz de realizar múltiples tareas. Turing, en efecto, es el padre del ordenador universal de programa integrado.
En su artículo “On computable numbers” describía una máquina universal: un dispositivo que ejecutara diferentes tareas, pasando de una a otra, sin necesidad de ser programada cada vez, que funcionara a altas velocidades y que comprimiera sus instrucciones y datos en un espacio reducido. El artículo se publicó en 1936. Sí, hace casi ochenta años.
El mérito de su texto es que unía la algorítmica –los procesos de cálculo- con los dispositivos automáticos. Su máquina funcionaba mediante la lectura de información segmentada en unos y ceros. Es decir, avanzaba el concepto de computación digital y el lenguaje binario. Además combinaba la máquina que realizaba el cálculo con la que almacenaba los datos, y con ello establecía el sistema de un ordenador, compuesto de hardware y software.
En origen, Turing quería resolver la cuestión de la decibilidad, que consiste en si se puede o no dar con un método general y completo de razonar que, con un enunciado en lógica de primer orden, decida en una cantidad finita de pasos si ese enunciado es verdadero o no lo es.
El que ese método no existiera parte de la indecibilidad de un problema llamado “de la parada”, es decir: el que una máquina de Turing se detuviese o no tras ese número finito de pasos. Si no se detiene, esto significa que la máquina no para, y se queda en un bucle infinito, hoy diríamos que “colgada”.
La respuesta a este problema es que no puede existir un programa capaz de determinar de manera algorítmica si todos los programas del mundo terminan. Es decir, que hay problemas matemáticos que una máquina nunca podrá resolver, al no ser computables, o indecidibles.
Turing venía a concluir que no podía crearse un método mecánico de razonamiento general y completo para máquinas. Establecía con ello los límites de la programación informática. También abría una importante cuestión filosófica: el camino para elucidar si era posible al menos crear una máquina capaz de imitar al hombre, ya que nunca se podría crear una que pensara como él.
Nueve años después, Turing diseñaba un ordenador de almacenamiento programado, el ACE (Automatic Computing Engine). El ACE era una máquina capaz de leer la biblioteca de instrucciones al arrancar, el primer diseño independiente del ser humano en la ciencia de la computación. Turing se encargó de diseñar los circuitos electrónicos, de codificar parte de su programación y hasta realizó un presupuesto de construcción.
Por entonces empezó a postular la posibilidad de que una máquina pudiera razonar o componer música. Redactó entonces su famoso Test de Turing, la prueba por la cual se determina si un ordenador piensa por sí mismo, en el caso de que no se pueda distinguir las respuestas de un ordenador de las de un ser humano. El ordenador de Turing poseería una “inteligencia” artificial basada en su capacidad de engañar al humano que habla con él, lo que hoy se entiende como inteligencia artificial simple.
Turing también diseñó sobre el papel cómo debían funcionar los programas para jugar al ajedrez. Nunca llegó a ver uno en acción, pero hoy en día todos los softwares de ajedrez siguen su patrón.
Al final de su vida, Turing cambió de rumbo hacia la biología y estudió la formación de patrones, que él atribuyó a la acción de dos agentes químicos, el activador y el inhibidor. Esta teoría se confirmó como cierta hace pocos años. También investigó en álgebra lineal la descomposición LR de una matriz. Todo un hombre del Renacimiento, sin el cual no podríamos haber escrito estas líneas, ni vosotros leerlas.